Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez a cikk általános útmutatást nyújt arról, hogyan csatlakoztassunk egy SQL Server Linux rendszert futtató gazdagépet egy Active Directory-tartományhoz. Két módszer létezik: egy beépített SSSD-csomag használata vagy külső Active Directory-szolgáltatók használata. A külső tartományhoz való csatlakozásra példaként PowerBroker Identity Services (PBIS), One Identity, és Centrify említhetők.
Ez az útmutató az Active Directory-konfiguráció ellenőrzésének lépéseit tartalmazza. Azonban nem célja, hogy utasításokat adjon arra vonatkozóan, hogyan csatlakoztathat egy gépet egy tartományhoz külső segédprogramok használatakor.
Jegyzet
Az Active Directory Ubuntu, RHEL vagy SLES újabb verzióival való konfigurálásával kapcsolatos információkért lásd oktatóanyagot: Az Active Directory-hitelesítés konfigurálása az Adutil használatával az SQL Serverrel Linux.
Előfeltételek
Az Active Directory-hitelesítés konfigurálása előtt be kell állítania egy Active Directory-tartományvezérlőt (Windows) a hálózaton. Ezután csatlakozzon az SQL Serverhez Linux-gazdagépen egy Active Directory-tartományhoz.
A cikkben ismertetett mintalépések csak útmutatást nyújtanak, és az Ubuntu 16.04, a Red Hat Enterprise Linux (RHEL) 7.x és a SUSE Linux Enterprise Server (SLES) 12 operációs rendszerekre vonatkoznak. A tényleges lépések némileg eltérhetnek a környezetben attól függően, hogy a teljes környezet hogyan van konfigurálva és az operációs rendszer verziója. Az Ubuntu 18.04 például a netplan-t használja, míg a Red Hat Enterprise Linux (RHEL) 8.x többek között a nmcli-t alkalmazza a hálózat kezelésére és konfigurálására. Vegye fel a kapcsolatot a rendszer- és tartományi rendszergazdákkal a környezetében az adott eszközhasználat, konfiguráció, testreszabás és minden szükséges hibaelhárítás érdekében.
Fordított DNS (rDNS)
Ha Windows Servert futtató számítógépet állít be tartományvezérlőként, előfordulhat, hogy alapértelmezés szerint nem rendelkezik rDNS-zónával. Győződjön meg arról, hogy a tartományvezérlő és az SQL Servert futtató Linux-gép IP-címe is rendelkezik megfelelő rDNS-zónával.
Győződjön meg arról is, hogy létezik olyan PTR-rekord, amely a tartományvezérlőkre mutat.
Tartományvezérlőhöz való kapcsolat ellenőrzése
Ellenőrizze, hogy kapcsolatba léphet-e a tartományvezérlővel mind a rövid, mind a teljes tartománynév, valamint a tartományvezérlő állomásnevének használatával. A tartományvezérlő IP-címének fel kell oldódnia a tartományvezérlő teljes tartománynevévé is.
ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>
Borravaló
Ez az oktatóanyag a contoso.com és CONTOSO.COM neveket használja például tartomány- és tartománynevekként. A DC1.CONTOSO.COM példát használja a tartományvezérlő teljesen meghatározott tartományneveként. Ezeket a neveket a saját értékeire kell cserélnie.
A megfelelő tartománynévfeloldás biztosítása érdekében fontos frissíteni a /etc/resolv.conf fájlt, ha a névellenőrzések során eltérések találhatók. A frissítési eljárás a különböző disztribúciókban eltérő; ezért a pontos útmutatás érdekében célszerű a hivatalos dokumentációval konzultálni. Az alábbi lista hivatkozásokat tartalmaz egyes disztribúciókhoz és azok fő verzióihoz:
| Elosztás | Referenciacikk |
|---|---|
| RHEL 8 | A /etc/resolv.conf manuális konfigurálása |
| RHEL 9 | A /etc/resolv.conf manuális konfigurálása |
| SLES 15 | NETCONFIG_DNS_STATIC_SEARCHLIST és NETCONFIG_DNS_STATIC_SERVERS beállítások |
| Ubuntu | Névfeloldási Szakasz |
A cél az, hogy megfelelően konfigurálja a /etc/resolv.conf-et a disztribúciójához, hogy megkönnyítse a tartománynév-megoldását. Ha például az ön tartománya contoso.com, és az Active Directory IP-címe 10.0.0.4, akkor a /etc/resolv.conf-t ennek megfelelően kell beállítani a gazdagépen a sikeres névfeloldás biztosítása érdekében.
cat /etc/resolv.conf
Itt van az eredmény.
# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4
RHEL 7.x
Szerkessze a
/etc/sysconfig/network-scripts/ifcfg-eth0fájlt, hogy az Active Directory-tartomány szerepeljön a tartománykeresési listában. Vagy szükség szerint szerkeszthet egy másik illesztőkonfigurációs fájlt:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0A tartalomnak a következő példához hasonlóan kell kinéznie:
PEERDNS=no DNS1=<Domain controller IP address> DOMAIN="contoso.com com"A fájl szerkesztése után indítsa újra a hálózati szolgáltatást:
sudo systemctl restart networkMost ellenőrizze, hogy a
/etc/resolv.conffájl tartalmaz-e az alábbi példához hasonló sort:sudo vi /etc/resolv.confA tartalomnak a következő példához hasonlóan kell kinéznie:
search contoso.com com nameserver <Domain controller IP address>Ha továbbra sem tudja pingelni a tartományvezérlőt, keresse meg a tartományvezérlő teljes tartománynevét és IP-címét. Példa tartománynév
DC1.CONTOSO.COM. Adja hozzá a következő bejegyzést a/etc/hosts:sudo vi /etc/hostsA tartalomnak a következő példához hasonlóan kell kinéznie:
<IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
Csatlakozás az Active Directory-tartományhoz
Az alapkonfiguráció és a tartományvezérlővel való kapcsolat ellenőrzése után két lehetőség áll rendelkezésre egy SQL Server Linux-gazdagép Active Directory-tartományvezérlőhöz való csatlakoztatására:
- 1. lehetőség: SSSD-csomag használata
- 2. lehetőség: Külső OpenLDAP szolgáltatói segédprogramok használata
1. lehetőség: SSSD-csomag használata az Active Directory-tartományhoz való csatlakozáshoz
Ez a metódus a realmd és a sssd csomagok használatával csatlakoztatja az SQL Server-gazdagépet egy Active Directory-tartományhoz.
Ez az előnyben részesített módszer egy Linux rendszer csatlakoztatására egy Active Directory tartományvezérlőhöz.
A legfrissebb utasításokért tekintse meg a terjesztési partnerek által biztosított hivatalos dokumentációt.
Sql Server-gazdagép Active Directory-tartományhoz való csatlakoztatásához kövesse az alábbi lépéseket:
A gazdagépet az Active Directory-tartományhoz való csatlakoztatásához használja a realmd parancsot. Először telepítenie kell a tartománybeli és Kerberos-ügyfélcsomagokat az SQL Server-gazdagépre a Linux-disztribúció csomagkezelőjével:
Ha a Kerberos-ügyfélcsomag telepítése tartománynév megadását kéri, írja be a tartománynevet nagybetűvel.
Miután meggyőződett arról, hogy a DNS megfelelően van konfigurálva, csatlakozzon a tartományhoz az alábbi parancs futtatásával. Olyan Active Directory-fiókkal kell hitelesítenie magát, amely megfelelő jogosultságokkal rendelkezik az Active Directoryban ahhoz, hogy új gépet csatlakozzon a tartományhoz. Ez a parancs létrehoz egy új számítógépfiókot az Active Directoryban, létrehozza a
/etc/krb5.keytabgazdagépkulcsfájlt, konfigurálja a tartományt a/etc/sssd/sssd.conf-ben, és frissíti/etc/krb5.conf.A realmd-dal kapcsolatos probléma miatt először állítsa be a gép hostnevét a teljes tartománynevére (FQDN) a gép neve helyett. Ellenkező esetben előfordulhat, hogy realmd nem hozza létre az összes szükséges SPN-t a géphez, és a DNS-bejegyzések nem frissülnek automatikusan, még akkor sem, ha a tartományvezérlő támogatja a dinamikus DNS-frissítéseket.
sudo hostname <old hostname>.contoso.comA parancs futtatása után a
/etc/hostnamefájlnak tartalmaznia kell<old hostname>.contoso.com.sudo realm join contoso.com -U 'user@CONTOSO.COM' -vEkkor megjelenik az üzenet,
Successfully enrolled machine in realm.Az alábbi táblázat felsorol néhány hibaüzenetet, amelyeket kaphat, és javaslatokat tesz a megoldásukra:
Hibaüzenet Ajánlás Necessary packages are not installedTelepítse ezeket a csomagokat a Linux-disztribúció csomagkezelőjével, mielőtt újra futtatja a tartományhoz való csatlakozás parancsot. Insufficient permissions to join the domainKérdezze meg egy tartományi rendszergazdát, hogy rendelkezik-e megfelelő engedélyekkel a Linux rendszerű gépek tartományhoz való csatlakoztatásához. KDC reply did not match expectationsElőfordulhat, hogy nem adta meg a felhasználó megfelelő tartománynevét. A tartománynevek megkülönböztetik a kis- és nagybetűket, általában nagybetűsek, és a "realm discover contoso.com" parancs segítségével azonosíthatók. Az SQL Server SSSD-t és NSS-t használ a felhasználói fiókok és csoportok biztonsági azonosítókhoz (SID-khez) való leképezéséhez. Az Active Directory-bejelentkezések sikeres létrehozásához konfigurálni és futtatni kell az SSSD-t az SQL Serverhez. tartomány általában automatikusan elvégzi ezt a tartományhoz való csatlakozás részeként, de bizonyos esetekben ezt külön kell megtennie.
További információkért lásd, hogyan lehet az SSSD-t manuálisan konfigurálni, és az NSS-t úgy beállítani, hogy együttműködjön az SSSD-vel.
Ellenőrizze, hogy most már gyűjthet-e adatokat egy felhasználóról a tartományból, és hogy kerberos-jegyet szerezhet-e be felhasználóként. Az alábbi példa azonosító, kinit, és klist parancsokat használ ehhez.
id user@contoso.com uid=1348601103(user@contoso.com) gid=1348600513(domain group@contoso.com) groups=1348600513(domain group@contoso.com) kinit user@CONTOSO.COM Password for user@CONTOSO.COM: klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: user@CONTOSO.COMHa
id user\@contoso.comvisszatér,No such usergyőződjön meg arról, hogy az SSSD szolgáltatás sikeresen elindult asudo systemctl status sssdparancs futtatásával. Ha a szolgáltatás már fut és még mindig látja a hibát, próbálja meg engedélyezni a részletes naplózást az SSSD-hez. További információkért tekintse meg az SSSD-hibaelhárítására vonatkozóRed Hat dokumentációját. Ha
kinit user\@CONTOSO.COMad vissza,KDC reply didn't match expectations while getting initial credentials, győződjön meg arról, hogy nagybetűvel adta meg a tartományt.
További információkért lásd a Red Hat dokumentációját a Felderítés és csatlakozás az identitástartományokhoz témában.
2. lehetőség: Külső OpenLDAP szolgáltatói segédprogramok használata
Használhat külső segédprogramokat, például PBIS, VASvagy Centrify. Ez a cikk nem ismerteti az egyes segédprogramok lépéseit. A továbblépés előtt először ezen segédprogramok egyikével kell csatlakoznia az SQL Server Linux-gazdagépéhez a tartományhoz.
Az SQL Server nem használja a külső integrátor kódját vagy kódtárát az Active Directoryval kapcsolatos lekérdezésekhez. Az SQL Server ebben a beállításban mindig openLDAP-kódtár-hívásokkal kéri le az Active Directoryt. A külső integrátorok csak a Linux-gazdagép Active Directory-tartományhoz való csatlakoztatására szolgálnak, és az SQL Server nem rendelkezik közvetlen kommunikációval ezekkel a segédprogramokkal.
Fontos
A mssql-conf network.disablesssd konfigurációs beállítás használatára vonatkozó javaslatokat a cikk További konfigurációs beállítások szakaszában találja, Active Directory-hitelesítés használata Linuxsql serverrel.
Ellenőrizze, hogy a /etc/krb5.conf megfelelően van-e konfigurálva. A legtöbb külső Active Directory-szolgáltató esetében ez a konfiguráció automatikusan megtörténik. Azonban ellenőrizze a /etc/krb5.conf elemet a következő értékek tekintetében, hogy megelőzze a jövőbeli problémákat.
sudo vi /etc/krb5.conf
A tartalomnak a következő példához hasonlóan kell kinéznie:
[libdefaults]
default_realm = CONTOSO.COM
[realms]
CONTOSO.COM = {
}
[domain_realm]
contoso.com = CONTOSO.COM
.contoso.com = CONTOSO.COM
Ellenőrizze, hogy a fordított DNS megfelelően van-e konfigurálva
A következő parancsnak az SQL Servert futtató gazdagép teljesen minősített tartománynevét (FQDN) kell visszaadnia. Ilyen például a SqlHost.contoso.com.
host <IP address of SQL Server host>
A parancs kimenetének hasonlónak kell lennie <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.com. Ha ez a parancs nem adja vissza a gazdagép teljes tartománynevét, vagy ha a teljes tartománynév helytelen, adjon hozzá egy visszafelé mutató DNS-bejegyzést a Linux hosztján futó SQL Serverhez a DNS-kiszolgálóhoz.
Következő lépés
Ebből a cikkből megtudhatja, hogyan konfigurálhat SQL Servert Linux rendszerű gazdagépen Active Directory-hitelesítéssel. Ha be szeretné fejezni az SQL Server Linuxon való konfigurálását az Active Directory-fiókok támogatásához, kövesse az alábbi utasításokat.