Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server Linux rendszeren
Ez az oktatóanyag bemutatja, hogyan konfigurálhatja a Windows Active Directory-hitelesítést linuxos SQL Serverhez az adutil használatával. Az Active Directory-hitelesítés ktpass használatával történő konfigurálásának másik módszeréről a következő oktatóanyagban olvashat: Active Directory-hitelesítés használata linuxos SQL Serverrel.
Ez az oktatóanyag a következő feladatokból áll:
- Az adutil telepítése
- Linux-gép csatlakoztatása az Active Directory-tartományhoz
- Hozzon létre egy Active Directory-felhasználót az SQL Serverhez, és állítsa be a szolgáltatásnév nevét (SPN) az adutil használatával
- Az SQL Server service keytab (key table) fájljának létrehozása
- Az SQL Server konfigurálása a keytab-fájl használatára
- Active Directory-alapú SQL Server-bejelentkezések létrehozása Transact-SQL
- Csatlakozás AZ SQL Serverhez Active Directory-hitelesítéssel
Előfeltételek
Az Active Directory-hitelesítés konfigurálása előtt a következőkre van szükség:
- Active Directory Domain Servicest futtató Windows-tartományvezérlő a hálózaton.
- A adutil eszköz a tartományhoz csatlakoztatott gazdagépre lett telepítve.
Tartománygép-előkészítés
Győződjön meg arról, hogy a Linux-gazdagép IP-címéhez hozzá van adva egy továbbítási állomás (A) bejegyzés az Active Directoryban. Ebben az oktatóanyagban a sql1 gazdagép IP-címe 10.0.0.10. A következő példában a továbbítási gazdagép bejegyzését adjuk hozzá az Active Directoryban. A bejegyzés biztosítja, hogy amikor a felhasználók sql1.contoso.comcsatlakoznak, a megfelelő gazdagéphez érnek.
Ebben az oktatóanyagban egy azure-beli környezetet használ három virtuális géppel. Egy virtuális gép (VM) egy Windows Server rendszerű adVM.contoso.comszámítógép, amely tartományvezérlőként (DC) fut a tartománynévvel contoso.com. A második virtuális gép egy Windows 10 nevű winboxügyfélgép, amelyre telepítve van az SQL Server Management Studio (SSMS). A harmadik gép az SQL Servert üzemeltető Ubuntu 18.04 LTS-gép sql1.
Csatlakoztassa a Linux-gazdagépet az Active Directory-tartományhoz
Ha csatlakozni szeretne az Active Directory-tartományhoz sql1 , olvassa el az SQL Server csatlakoztatása Linux-gazdagépen egy Active Directory-tartományhoz című témakört.
Az adutil telepítése
Az adutil telepítéséhez kövesse a Bevezetés az adutil – Active Directory segédprogramba című cikkben ismertetett lépéseket azon a gazdagépen, amelyet az előző lépésben a tartományhoz adott hozzá.
Active Directory-felhasználó létrehozása az SQL Serverhez az adutil használatával, és a szolgáltatásnév (SPN) beállítása
Szerezze be vagy újítsa meg a Kerberos TGT-t (jegykiadó jegy) a
kinitparanccsal. Akinitparancshoz kiemelt fiókot kell használnia, és a gazdagépnek már a tartományhoz kell tartoznia. A fióknak engedélyre van szüksége a tartományhoz való csatlakozáshoz, valamint fiókok és Szolgáltatás Főnév (SPN) létrehozásához a tartományban.Ebben a példaszkriptben a rendszer már létrehozott egy kiemelt felhasználót
privilegeduser@CONTOSO.COMa tartományvezérlőn.kinit privilegeduser@CONTOSO.COMAz adutil használatával hozza létre az új felhasználót, hogy az SQL Server kiemelt Active Directory-fiókként használhassa.
A jelszavak három különböző módon adhatók meg. Ha több módszert is használ, azok a következő sorrendben elsőbbséget élveznek:
- A jelszójelző használata:
--password <password> - Környezeti változóban:
ADUTIL_ACCOUNT_PWD - Interaktív bemenet parancssori parancssorban
A környezeti változók vagy interaktív beviteli módszerek biztonságosabbak, mint a jelszójelző.
adutil user create --name sqluser --distname CN=sqluser,CN=Users,DC=CONTOSO,DC=COM --password '<password>'A fiók nevét a korábban bemutatott megkülönböztető névvel (
--distname) adhatja meg, vagy használhatja a szervezeti egység (szervezeti egység) nevét. A szervezeti egység neve (--ou) elsőbbséget élvez a megkülönböztető névvel szemben, ha mindkettőt megadja. További részletekért futtassa a következő parancsot:adutil user create --helpFigyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
- A jelszójelző használata:
SPN-eket regisztráljon a korábban létrehozott fő azonosítóhoz. A gép teljes tartománynevét (FQDN) kell használnia. Ebben az oktatóanyagban az SQL Server alapértelmezett portját, az 1433-at használjuk. A portszám eltérő lehet.
adutil spn addauto -n sqluser -s MSSQLSvc -H sql1.contoso.com -p 1433-
addautoautomatikusan létrehozza az egyszerű szolgáltatásneveket, feltéve, hogy elegendő jogosultság áll rendelkezésre akinitfiókhoz. -
-n: Az SPN-ekhez rendelendő fiók neve. -
-s: Az SPN-ek (Szolgáltatásnév-azonosítók) létrehozásához használandó szolgáltatásnév. Ebben az esetben az SQL Server szolgáltatásra vonatkozik, ezért a szolgáltatás neve .MSSQLSvc -
-H: Az SPN-ek (Szolgáltatási Főnevek) létrehozásához használt állomásnév. Ha nincs megadva, a rendszer a helyi gazdagép teljes tartománynevét használja. Ebben az esetben a gazdagép nevesql1, a teljes tartománynév pedigsql1.contoso.com. -
-p: Az SPN-k létrehozásához használt port. Ha nincs megadva, a SPN-k port nélkül jönnek létre. Az SQL-kapcsolatok ebben az esetben csak akkor működnek, ha az SQL Server-példány az alapértelmezett portot(1433) figyeli.
-
Az SQL Server szolgáltatás keytab-fájljának létrehozása az mssql-conf használatával
Telepítheti és integrálhatja az adutil-t az mssql-conf használatával, hogy közvetlenül az mssql-conf használatával hozza létre és konfigurálja a keytab-ot. Ez a módszer az SQL Server-szolgáltatás keytab-fájljának létrehozásához ajánlott. Ellenkező esetben manuálisan is létrehozhatja az SQL Server service keytab-fájlt.
Előfeltételek
Győződjön meg arról, hogy a
mssqlfelhasználóé a/var/opt/mssql/mssql.conffájl, és neroot. Ellenkező esetben az mssql-conf parancsokat a következővelsudokell futtatnia: .Egy tartományvezérlőn a fiók Active Directory-beállításaiban
network.privilegedadaccount(az alábbi példákbansqluser@CONTOSO.COM) engedélyezze az alábbi beállításokat a Fiók lap Fiókbeállítások szakaszában:- Ez a fiók támogatja a Kerberos AES 128 bites titkosítását
- Ez a fiók támogatja a Kerberos AES 256 bites titkosítását
A keytab-fájl létrehozása
Miután létrehozta a felhasználót és az SPN-eket, az alábbi lépések végrehajtásával létrehozhatja a kulcstartót.
Váltás a felhasználóra
oracle:su mssqlJelentkezzen be Active Directory-felhasználóként a
kinitkövetkező paranccsal:kinit privilegeduser@CONTOSO.COMHozza létre a keytab fájlt:
/opt/mssql/bin/mssql-conf setup-ad-keytab /var/opt/mssql/secrets/mssql.keytab sqluserAmikor a rendszer arra kéri, hogy indítsa újra az SQL Server szolgáltatást az új Active Directory-konfiguráció bevezetéséhez, a következő szakaszban teheti meg.
Ellenőrizze, hogy a keytab a megfelelő bejegyzésekkel van-e létrehozva:
klist -kte /var/opt/mssql/secrets/mssql.keytabA következő példához hasonló kimenetnek kell megjelennie:
keytab name: FILE:/var/opt/mssql/secrets/mssql.keytab KVNO Timestamp Principal ---- ------------------- ------------------------------------------------------ 4 12/30/2021 14:02:08 sqluser@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1.contoso.com:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1.contoso.com@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1:1433@CONTOSO.COM (aes256-cts-hmac-sha1-96) 4 12/30/2021 14:02:08 MSSQLSvc/sql1@CONTOSO.COM (aes256-cts-hmac-sha1-96)Ha a
/var/opt/mssql/mssql.conffájlt nem amssqlbirtokolja, konfigurálnia kell az mssql-conf-t, hogy az előző lépéseknek megfelelően állítsa be aznetwork.kerberoskeytabfileésnetwork.privilegedadaccountértékeket. Amikor a rendszer kéri, írja be a jelszót./opt/mssql/bin/mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab /opt/mssql/bin/mssql-conf set network.privilegedadaccount sqluserEllenőrizze a konfigurációt, hogy az Active Directory-hitelesítés problémamentesen működjön.
/opt/mssql/bin/mssql-conf validate-ad-config /var/opt/mssql/secrets/mssql.keytabA kimenet az alábbi példához hasonlóan néz ki:
Detected Configuration: Default Realm: CONTOSO.COM Keytab: /var/opt/mssql/secrets/mssql.keytab Reverse DNS Result: sql1.contoso.com SQL Server Port: 1433 Detected SPNs (SPN, KVNO): (MSSQLSvc/sql1.CONTOSO.COM:1433, 4) (MSSQLSvc/sql1.CONTOSO.COM, 4) (MSSQLSvc/sql1:1433, 4) (MSSQLSvc/sql1, 4) Privileged Account (Name, KVNO): (sqluser, 4)
Az SQL Server szolgáltatáskulcs-fájljának manuális létrehozása
Ha telepítette az adutil-t , és integrálta az mssql-conf-tal, továbbléphet az SQL Server szolgáltatás keytab-fájljának létrehozására az mssql-conf használatával.
Hozza létre a keytab-fájlt, amely a korábban létrehozott négy egyszerű szolgáltatásnév mindegyikéhez tartalmaz bejegyzéseket, egyet pedig a felhasználó számára.
adutil keytab createauto -k /var/opt/mssql/secrets/mssql.keytab -p 1433 -H sql1.contoso.com --password '<password>' -s MSSQLSvcFigyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
A lehetséges parancssori lehetőségek a következők:
-
-k: Az elérési út, ahol amssql.keytabfájl létrejön. Az előző példában a/var/opt/mssql/secrets/könyvtárnak már léteznie kell a gazdagépen. -
-p: Az SPN-k létrehozásához használt port. Ha nincs megadva, a SPN-k port nélkül jönnek létre. -
-H: Az SPN-ek (Szolgáltatási Főnevek) létrehozásához használt állomásnév. Ha nincs megadva, a rendszer a helyi gazdagép teljes tartománynevét használja. Ebben az esetben a gazdagép nevesql1, a teljes tartománynév pedigsql1.contoso.com. -
-s: Az SPN-ek (Szolgáltatásnév-azonosítók) létrehozásához használandó szolgáltatásnév. Ebben a példában az SQL Server-szolgáltatás neve .MSSQLSvc -
--password: A korábban létrehozott kiemelt Active Directory-felhasználói fiók jelszava. -
-evagy--enctype: A keytab bejegyzés titkosítási típusai. Használjon vesszővel tagolt értéklistát. Ha nincs megadva, megjelenik egy interaktív üzenet.
Több titkosítási típust is választhat, ha a gazdagép és a tartomány támogatja a titkosítás típusát. Ebben a példában választhatja a
aes256-cts-hmac-sha1-96és aaes128-cts-hmac-sha1-96lehetőségeket. Éles környezetben azonban kerülni kellarcfour-hmac, mert gyengén titkosít.Ha a titkosítási típust kérés nélkül szeretné kiválasztani, az előző parancs argumentumával megadhatja a
-etitkosítás típusát. A beállítási lehetőségekről azadutil keytabalábbi paranccsal kaphat további segítséget:adutil keytab createauto --help-
Adjon hozzá egy bejegyzést az SQL Server által az Active Directoryhoz való csatlakozáshoz használt egyszerű név és jelszó kulcstáblájában:
adutil keytab create -k /var/opt/mssql/secrets/mssql.keytab -p sqluser --password '<password>'Figyelmeztetés
A jelszónak az SQL Server alapértelmezett jelszóházirendetkell követnie. Alapértelmezés szerint a jelszónak legalább nyolc karakter hosszúnak kell lennie, és a következő négy készletből három karakterből kell állnia: nagybetűk, kisbetűk, 10 számjegyből és szimbólumokból. A jelszavak legfeljebb 128 karakter hosszúak lehetnek. Használjon olyan jelszavakat, amelyek a lehető legkomplexebbek és hosszúak.
-
-k: Elérési út, ahol létre szeretné hozni amssql.keytabfájlt. -
-p: Principal hozzáadása a keytab-hoz.
A
adutil keytab [ create | autocreate ]fájl nem írja felül az előző fájlokat, csak hozzáfűzi a fájlhoz, ha már jelen van.-
Győződjön meg arról, hogy a
mssqlfelhasználóé a létrehozott keytab, és hogy csak amssqlfelhasználó rendelkezik olvasási/írási hozzáféréssel a fájlhoz. Azchownéschmodparancsokat a következőképpen futtathatja:chown mssql /var/opt/mssql/secrets/mssql.keytab chmod 440 /var/opt/mssql/secrets/mssql.keytab
Az SQL Server konfigurálása a keytab használatára
Futtassa az alábbi parancsokat az SQL Server konfigurálásához az előző lépésben létrehozott kulcstartó használatára, és állítsa be a kiemelt Active Directory-fiókot a korábban létrehozott felhasználóként. A példánkban a felhasználónév a következő sqluser: .
/opt/mssql/bin/mssql-conf set network.kerberoskeytabfile /var/opt/mssql/secrets/mssql.keytab
/opt/mssql/bin/mssql-conf set network.privilegedadaccount sqluser
Az SQL Server újraindítása
Futtassa a következő parancsot az SQL Server szolgáltatás újraindításához:
sudo systemctl restart mssql-server
Active Directory-alapú SQL Server-bejelentkezések létrehozása Transact-SQL
Csatlakozzon az SQL Server-példányhoz, és futtassa a következő parancsokat a bejelentkezés létrehozásához, és győződjön meg arról, hogy létezik.
CREATE LOGIN [contoso\privilegeduser]
FROM WINDOWS;
SELECT name
FROM sys.server_principals;
Csatlakozás AZ SQL Serverhez Active Directory-hitelesítéssel
Windows-hitelesítő adataival csatlakozzon az SQL Server-példányhoz az SQL Server Management Studio (SSMS) használatával.
Az sqlcmd segédprogramhoz hasonló eszközzel windowsos hitelesítéssel is csatlakozhat az SQL Server-példányhoz.
sqlcmd -E -S 'sql1.contoso.com'
Kapcsolódó tartalom
- Az SQL Server Active Directory-hitelesítésének ismertetése Linuxon és tárolókon
- Linuxon és tárolókon futó SQL Server Active Directory-hitelesítésének hibaelhárítása
- Active Directory-hitelesítés linuxos SQL Serverhez
- oktatóanyag: Active Directory-hitelesítés konfigurálása SQL Serverrel Linux-tárolókon
- Sql Server kulcstabsainak elforgatása Linux