Megosztás a következőn keresztül:


Integrált hitelesítés használata

ODBC-illesztőprogram letöltése

A Linuxon és macOS-en futó SQL Serverhez készült Microsoft ODBC-illesztő támogatja a Kerberos integrált hitelesítést használó kapcsolatokat. Támogatja a MIT Kerberos Key Distribution Centert (KDC), és általános Security Services alkalmazásprogram-felülettel (GSSAPI) és Kerberos v5-kódtárakkal működik.

A 17.6-os verziótól az illesztőprogram támogatja a Microsoft Entra ID-val (korábban Azure Active Directory) való integrált hitelesítést is egy összevont fiók használatával, a rendszerkódtár korlátozásai ellenére. További információt a Microsoft Entra-azonosító használata című témakörben talál.

Integrált hitelesítés használata AZ SQL Serverhez való csatlakozáshoz ODBC-alkalmazásból

Az integrált Kerberos-hitelesítés engedélyezéséhez adja meg Trusted_Connection =igen értéket az SQLDriverConnect vagy az SQLConnect kapcsolati sztringjében. Például:

Driver='ODBC Driver 18 for SQL Server';Server=your_server;Encrypt=yes;Trusted_Connection=yes  

DSN-hez való csatlakozáskor Trusted_Connection=igen értéket is hozzáadhat a DSN-bejegyzéshez.odbc.ini

Az -E és -Tsqlcmd opciója is használható integrált hitelesítés megadására; további információért lásd az bcp és a bcp-hez való csatlakozás című témaköröket.

Győződjön meg arról, hogy az SQL Serverhez csatlakozni kívánt ügyfélazonosító már hitelesítve lett a Kerberos KDC-vel.

A ServerSPN és a FailoverPartnerSPN nem támogatottak.

Szolgáltatásként való futtatásra tervezett Linux- vagy macOS ODBC-illesztőprogram-alkalmazás üzembe helyezése

A rendszergazdák olyan alkalmazásokat helyezhetnek üzembe, amelyek Kerberos-hitelesítést használó szolgáltatásként futnak az SQL Serverhez való csatlakozáshoz.

Először konfigurálnia kell a Kerberost a kliensen, majd meg kell győződnie arról, hogy az alkalmazás használhatja az alapértelmezett főfelhasználó Kerberos-hitelesítő adatait.

Győződjön meg arról, hogy a kapcsolat által használt principal TGT-jének beszerzéséhez és gyorsítótárazásához a kinit vagy a PAM (Pluggable Authentication Module) eszközt használja az egyik alábbi módszer alkalmazásával:

  • Futtassa kinita parancsot, és adjon meg egy egyszerű nevet és jelszót.

  • Futtassa a kinit-t, megadva egy principal nevet és egy keytab-fájl helyét, amely tartalmazza a ktutil által létrehozott principal kulcsot.

  • Győződjön meg arról, hogy a rendszerbe való bejelentkezés a Kerberos PAM (Pluggable Authentication Module) használatával történt.

Ha egy alkalmazás szolgáltatásként fut, mert a Kerberos hitelesítő adatai a terv szerint lejárnak, újítsa meg a hitelesítő adatokat a szolgáltatás folyamatos rendelkezésre állásának biztosítása érdekében. Az ODBC-illesztő nem újítja meg magát a hitelesítő adatokat; győződjön meg arról, hogy van egy cron feladat vagy szkript, amely rendszeres időközönként fut a hitelesítő adatok megújításához a lejáratuk előtt. Annak elkerülésére, hogy minden megújításnál meg kelljen adni a jelszót, használhat keytab-fájlt.

A Kerberos konfigurációja és használata részleteket nyújt arról, hogyan lehet Linuxon futó szolgáltatásokat Kerberosszal ellátni.

Adatbázishoz való hozzáférés nyomon követése

Az adatbázisgazdák naplót hozhatnak létre az adatbázisokhoz való hozzáférésről, amikor rendszerfiókokkal férnek hozzá az SQL Serverhez integrált hitelesítéssel.

Az SQL Serverre való bejelentkezés a rendszerfiókot használja, és a Linuxon nincs olyan funkció, amely megszemélyesíteni a biztonsági környezetet. Ezért többre van szükség a felhasználó meghatározásához.

Ahhoz, hogy az SQL Serveren a rendszerfióktól eltérő felhasználók nevében naplózhassa a tevékenységeket, az alkalmazásnak Transact-SQL EXECUTE AS-t kell használnia.

Az alkalmazás teljesítményének javítása érdekében az alkalmazások használhatják a kapcsolatkészletezést integrált hitelesítéssel és naplózással. A kapcsolatkészletezés, az integrált hitelesítés és a naplózás kombinálása azonban biztonsági kockázatot jelent, mivel a UnixODBC illesztőprogram-kezelője lehetővé teszi, hogy a különböző felhasználók újra felhasználják a készletezett kapcsolatokat. További információ: ODBC-kapcsolatkészletezés.

Az újrafelhasználás előtt az alkalmazásnak alaphelyzetbe kell állítania a készletezett kapcsolatokat a végrehajtással sp_reset_connection.

Az Active Directory használata a felhasználói identitások kezeléséhez

Az alkalmazásrendszergazdáknak nem kell külön bejelentkezési hitelesítő adatokat kezelniük az SQL Serverhez. Az Active Directoryt kulcsterjesztési központként (KDC) konfigurálhatja az integrált hitelesítéshez. További információt a Microsoft Kerberosban talál.

Csatolt kiszolgáló és elosztott lekérdezések használata

A fejlesztők olyan alkalmazásokat helyezhetnek üzembe, amelyek csatolt kiszolgálót vagy elosztott lekérdezéseket használnak anélkül, hogy az adatbázis rendszergazdája külön SQL-hitelesítő adatokat kezel. Ebben az esetben a fejlesztőnek konfigurálnia kell egy alkalmazást az integrált hitelesítés használatára:

  • A felhasználó bejelentkezik egy ügyfélszámítógépre, és hitelesíti magát az alkalmazáskiszolgálón.

  • Az alkalmazáskiszolgáló más adatbázisként hitelesít, és csatlakozik az SQL Serverhez.

  • Az SQL Server adatbázis-felhasználóként hitelesít egy másik adatbázist (SQL Server).

Az integrált hitelesítés konfigurálása után a rendszer átadja a hitelesítő adatokat a csatolt kiszolgálónak.

Integrált hitelesítés és sqlcmd

Az SQL Server integrált hitelesítéssel való eléréséhez használja a sqlcmd-E opcióját. Győződjön meg arról, hogy az a fiók, amely a sqlcmd-t futtatja, az alapértelmezett Kerberos ügyfélfőnévhez van társítva.

Integrált hitelesítés és bcp

Az SQL Server integrált hitelesítéssel való eléréséhez használja a bcp-T opciót. Győződjön meg arról, hogy a bcp-t futtató fiók az alapértelmezett Kerberos-ügyfélnévhez tartozik.

Nem szabad a -T-val együtt használni a -U vagy -P opciót, mert ez hibát okoz.

Az SQL Server által regisztrált SPN támogatott szintaxisa

A kapcsolatkarakterláncokban vagy kapcsolati attribútumokban a szolgáltatási főnév által használt szintaxis a következő:

Szemantika Description
MSSQLSvc/fqdn:port A szolgáltató által létrehozott alapértelmezett SPN a TCP használatakor. port egy TCP-portszám. Az fqdn egy teljesen minősített domain név.

Linux vagy macOS rendszerű számítógép hitelesítése az Active Directoryval

A Kerberos konfigurálásához adja meg az adatokat a krb5.conf fájlba. krb5.conf benne van /etc/, de egy másik fájlra is hivatkozhat a szintaxis használatával, például export KRB5_CONFIG=/home/dbapp/etc/krb5.conf. A következő egy példafájl krb5.conf :

[libdefaults]  
default_realm = YYYY.CORP.CONTOSO.COM  
dns_lookup_realm = false  
dns_lookup_kdc = true  
ticket_lifetime = 24h  
forwardable = yes  
  
[domain_realm]  
.yyyy.corp.contoso.com = YYYY.CORP.CONTOSO.COM  
.zzzz.corp.contoso.com = ZZZZ.CORP.CONTOSO.COM  

Ha a Linux- vagy macOS-számítógép úgy van konfigurálva, hogy a dinamikus gazdakonfigurációs protokollt (DHCP) használja a használni kívánt DNS-kiszolgálókat biztosító Windows DHCP-kiszolgálóval, használhatja az dns_lookup_kdc=true értéket. Most a Kerberos használatával bejelentkezhet a tartományba a parancs kinit alias@YYYY.CORP.CONTOSO.COMkiadásával. Az átadott kinit paraméterek megkülönböztetik a kis- és nagybetűket, és a tartományba konfigurált SQL Server-számítógépnek hozzá kell adnia a felhasználót alias@YYYY.CORP.CONTOSO.COM a bejelentkezéshez. Most már használhat megbízható kapcsolatokat (Trusted_Connection=IGEN kapcsolati sztringben, bcp -T vagy sqlcmd -E).

A Linux vagy macOS rendszerű számítógépeken és a Kerberos Key Distribution Centerben (KDC) töltött időnek közel kell lennie. Győződjön meg arról, hogy a rendszeridő megfelelően van beállítva, például a Hálózati idő protokoll (NTP) használatával.

Ha a Kerberos-hitelesítés sikertelen, az ODBC-illesztő Linux vagy macOS rendszeren nem használ NTLM-hitelesítést.

A Linux- vagy macOS-számítógépek Active Directoryval való hitelesítéséről további információt a Linux-ügyfelek Hitelesítése az Active Directoryval című témakörben talál. A Kerberos konfigurálásával kapcsolatos további információkért tekintse meg az MIT Kerberos dokumentációját.

Lásd még:

Programozási irányelvek

Kibocsátási megjegyzések

A Microsoft Entra ID használata