Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ODBC sürücüsü indirme
Linux ve macOS üzerinde SQL Server için Microsoft ODBC Sürücüsü, Kerberos tümleşik kimlik doğrulaması kullanan bağlantıları destekler. MIT Kerberos Anahtar Dağıtım Merkezi'ni (KDC) destekler ve Genel Güvenlik Hizmetleri Uygulama Programı Arabirimi (GSSAPI) ve Kerberos v5 kitaplıklarıyla çalışır.
Sürüm 17.6 itibarıyla sürücü, federasyon hesabı kullanarak Microsoft Entra Id (eski adı Azure Active Directory) ile tümleşik kimlik doğrulamasını da destekler; sistem kitaplığı sınırlamaları dikkate alınmadan. Daha fazla bilgi için bkz. Microsoft Entra Id kullanma .
ODBC Uygulamasından SQL Server'a Bağlanmak için Tümleşik Kimlik Doğrulaması Kullanma
SQLDriverConnect veya SQLConnect bağlantı dizesinde Trusted_Connection=evet belirterek Kerberos tümleşik kimlik doğrulamasını etkinleştirebilirsiniz. Örneğin:
Driver='ODBC Driver 18 for SQL Server';Server=your_server;Encrypt=yes;Trusted_Connection=yes
DSN ile bağlanırken, içindeki DSN girdisine odbc.ini de ekleyebilirsiniz.
-E seçeneği sqlcmd ve -T seçeneği bcp tümleşik kimlik doğrulamasını belirtmek için de kullanılabilir. Daha fazla bilgi için bkz. sqlcmd ile bağlanma ve bcp ile bağlanma.
SQL Server'a bağlanacak istemci sorumlusunun Kerberos KDC ile kimliğinin zaten doğrulandığından emin olun.
ServerSPN ve FailoverPartnerSPN desteklenmez.
Hizmet Olarak Çalışacak Şekilde Tasarlanmış Bir Linux veya macOS ODBC Sürücü Uygulaması Dağıtma
Sistem yöneticisi, SQL Server'a bağlanmak için Kerberos Kimlik Doğrulaması kullanan bir hizmet olarak çalışacak bir uygulama dağıtabilir.
Önce istemcide Kerberos'ı yapılandırmanız ve ardından uygulamanın varsayılan sorumlunun Kerberos kimlik bilgilerini kullanabilmesini sağlamanız gerekir.
Aşağıdaki yöntemlerden biriyle, bağlantının kullandığı sorumlunun TGT'sini almak ve önbelleğe almak için kinit veya PAM (Eklenebilir Kimlik Doğrulama Modülü) kullandığınızdan emin olun:
komutunu çalıştırın
kinitve bir asıl ad ve parola geçirin.kinitkomutunu çalıştırın ve bir asıl adını vektutiltarafından oluşturulan sorumlunun anahtarını içeren bir anahtar sekmesi dosyasının konumunu geçirin.Sistemde oturum açma işleminin Kerberos PAM (Eklenebilir Kimlik Doğrulama Modülü) kullanılarak yapıldığından emin olun.
Bir uygulama hizmet olarak çalıştığında, Kerberos kimlik bilgilerinin süresi tasarım gereği dolduğundan, hizmet kullanılabilirliğinin devam etmesini sağlamak için kimlik bilgilerini yenileyin. ODBC sürücüsü kimlik bilgilerini yenilemez; Kimlik bilgilerini süresi dolmadan önce yenilemek için düzenli aralıklarla çalışan bir cron iş veya betik olduğundan emin olun. Her yenileme için parola gerektirmemek için bir tuş sekmesi dosyası kullanabilirsiniz.
Kerberos Yapılandırması ve Kullanımı , Linux'ta hizmetleri Kerberize etmenin yolları hakkında ayrıntılı bilgi sağlar.
Veritabanına Erişimi İzleme
Veritabanı yöneticisi, Tümleşik Kimlik Doğrulaması kullanarak SQL Server'a erişmek için sistem hesaplarını kullanırken veritabanına erişimin denetim kaydını oluşturabilir.
SQL Server'da oturum açmak sistem hesabını kullanır ve Linux'ta güvenlik bağlamını taklit etmeye yönelik bir işlev yoktur. Bu nedenle, kullanıcıyı belirlemek için daha fazlası gerekir.
SQL Server'daki etkinlikleri sistem hesabı dışındaki kullanıcılar adına denetlemek için uygulamanın Transact-SQL EXECUTE AS kullanması gerekir.
Uygulama performansını geliştirmek için, bir uygulama Tümleşik Kimlik Doğrulaması ve denetim ile bağlantı havuzunu kullanabilir. Ancak unixODBC sürücü yöneticisi farklı kullanıcıların havuza alınan bağlantıları yeniden kullanmasına izin vermesinden dolayı bağlantı havuzu oluşturma, Tümleşik Kimlik Doğrulaması ve denetimin birleştirilmesi bir güvenlik riski oluşturur. Daha fazla bilgi için bakınız ODBC Bağlantı Havuzu.
Yeniden kullanmadan önce, bir uygulamanın sp_reset_connection'i yürüterek havuza alınan bağlantıları sıfırlaması gerekir.
Kullanıcı Kimliklerini Yönetmek için Active Directory Kullanma
Bir uygulama sistemi yöneticisinin SQL Server için ayrı oturum açma kimlik bilgileri kümelerini yönetmesi gerekmez. Active Directory'yi Tümleşik Kimlik Doğrulaması için bir anahtar dağıtım merkezi (KDC) olarak yapılandırmak mümkündür. Daha fazla bilgi için bkz. Microsoft Kerberos .
Bağlı Sunucu ve Dağıtılmış Sorguları Kullanma
Geliştiriciler, ayrı SQL kimlik bilgileri kümeleri tutan bir veritabanı yöneticisi olmadan bağlı sunucu veya dağıtılmış sorgular kullanan bir uygulama dağıtabilir. Bu durumda, bir geliştiricinin bir uygulamayı tümleşik kimlik doğrulaması kullanacak şekilde yapılandırması gerekir:
Kullanıcı bir istemci makinesinde oturum açar ve uygulama sunucusunda kimlik doğrulaması yapar.
Uygulama sunucusu farklı bir veritabanı olarak kimlik doğrulaması yapar ve SQL Server'a bağlanır.
SQL Server, veritabanı kullanıcısı olarak başka bir veritabanında (SQL Server) kimlik doğrulaması yapar.
Tümleşik kimlik doğrulaması yapılandırıldıktan sonra kimlik bilgileri bağlı sunucuya geçirilir.
Tümleşik Kimlik Doğrulaması ve sqlcmd
Tümleşik kimlik doğrulaması kullanarak SQL Server'a erişmek için seçeneğini -Ekullanınsqlcmd.
sqlcmd hesabını çalıştıran hesabın varsayılan Kerberos istemci ilkesiyle ilişkilendirildiğinden emin olun.
Tümleşik Kimlik Doğrulaması ve bcp
Tümleşik kimlik doğrulaması kullanarak SQL Server'a erişmek için seçeneğini -Tkullanınbcp.
bcp çalıştıran hesabın varsayılan Kerberos istemci ilkesiyle ilişkilendirildiğinden emin olun.
-T seçeneğinin -U veya -P seçeneğiyle birlikte kullanılması hatadır.
SQL Server Tarafından Kaydedilen SPN için Desteklenen Söz Dizimi
SPN'lerin bağlantı dizesinde veya bağlantı özniteliklerinde kullandığı söz dizimi aşağıdaki gibidir:
| Sözdizimi | Description |
|---|---|
| MSSQLSvc/fqdn:port | TCP kullanıldığında sağlayıcı tarafından oluşturulan varsayılan SPN. bağlantı noktası bir TCP bağlantı noktası numarasıdır. fqdn tam nitelikli etki alanı adıdır. |
Active Directory ile Linux veya macOS Bilgisayarın Kimliğini Doğrulama
Kerberos'ı yapılandırmak için dosyaya krb5.conf veri girin.
krb5.confiçindedir/etc/, ancak söz dizimini kullanarak başka bir dosyaya başvurabilirsiniz; örneğin. export KRB5_CONFIG=/home/dbapp/etc/krb5.conf Aşağıda örnek krb5.conf bir dosya verilmiştir:
[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
Linux veya macOS bilgisayarınız, kullanılacak DNS sunucularını sağlayan bir Windows DHCP sunucusuyla Dinamik Ana Bilgisayar Yapılandırma Protokolü'nü (DHCP) kullanacak şekilde yapılandırılmışsa , dns_lookup_kdc=true kullanabilirsiniz. Artık komutunu kinit alias@YYYY.CORP.CONTOSO.COMvererek etki alanınızda oturum açmak için Kerberos kullanabilirsiniz. geçirilen parametreler büyük/küçük harfe kinit duyarlıdır ve etki alanında olacak şekilde yapılandırılmış SQL Server bilgisayarında oturum açmak için bu kullanıcının alias@YYYY.CORP.CONTOSO.COM eklenmesi gerekir. Artık güvenilen bağlantıları (bağlantı dizesinde Trusted_Connection=EVET , bcp -T veya sqlcmd -E) kullanabilirsiniz.
Linux veya macOS bilgisayarındaki saat ve Kerberos Anahtar Dağıtım Merkezi'nin (KDC) saati yakın olmalıdır. Sistem sürenizin doğru ayarlandığından emin olun; örneğin, Ağ Zamanı Protokolü(NTP) kullanın.
Kerberos kimlik doğrulaması başarısız olursa, Linux veya macOS'ta ODBC sürücüsü NTLM kimlik doğrulamasını kullanmaz.
Active Directory ile Linux veya macOS bilgisayarların kimliğini doğrulama hakkında daha fazla bilgi için bkz. Active Directory ile Linux İstemcilerinin Kimliğini Doğrulama. Kerberos'un yapılandırılması hakkında daha fazla bilgi için MIT Kerberos Belgeleri'ne bakın.