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.
Şunlar için geçerlidir:Linux üzerinde SQL Server
Bu makale, SQL Server'ı çalıştıran bir Linux konakının Active Directory alanına nasıl bağlanacağına dair genel rehberlik sunar. İki yöntem vardır: yerleşik bir SSSD paketi kullanın veya üçüncü taraf Active Directory sağlayıcıları kullanın. Üçüncü taraf alan adresi birleştirme ürünlerine örnek olarak PowerBroker Identity Services (PBIS),One Identity Safeguard Authentication Services (VAS) ve Centrify verilebilir.
Bu kılavuz, Active Directory yapılandırmanızı denetleme adımlarını içerir. Ancak, üçüncü taraf yardımcı programları kullanırken bir makinenin etki alanına nasıl katılacağını gösteren yönergeler sağlamak amaçlanmamıştır.
Note
Active Directory'yi daha yeni Ubuntu, RHEL veya SLES sürümleriyle yapılandırma hakkında bilgi için bkz. Öğretici: Linuxüzerinde SQL Server ile Active Directory kimlik doğrulamasını yapılandırmak için adutil kullanma .
Prerequisites
Active Directory kimlik doğrulamasını yapılandırmadan önce, ağınızda Windows Server çalıştıran bir bilgisayarı Active Directory alan kontrolcüsü olarak kurmanız gerekir. Sonra SQL Server'ı çalıştıran Linux ana bilgisayarına Active Directory alanına katılın.
Bu makalede açıklanan örnek adımlar yalnızca yönergeler içindir ve Ubuntu 16.04, Red Hat Enterprise Linux (RHEL) 7.x ve SUSE Linux Enterprise Server (SLES) 12 işletim sistemlerine başvurur. Gerçek adımlar ortamınıza ve işletim sistemi sürümüne bağlı olarak biraz farklılık gösterebilir. Örneğin, Ubuntu 18.04 netplan kullanırken, RHEL 8.x ağ yönetimi ve yapılandırması için nmcli ve diğer araçları kullanır. Belirli araçlar, yapılandırma, özelleştirme ve gerekli sorun giderme işlemleri için ortamınız için sistem ve etki alanı yöneticilerinizle etkileşim kurmanız gerekir.
Note
SQL Server 2025(17.x) tarihinden itibaren SUSE Linux Enterprise Server (SLES) desteklenmez.
Ters DNS (rDNS)
Windows Server çalıştıran bir bilgisayarı etki alanı denetleyicisi olarak ayarladığınızda, varsayılan olarak bir rDNS bölgeniz olmayabilir. SQL Server'ı çalıştıracak Linux makinesinin hem etki alanı denetleyicisi hem de IP adresi için geçerli bir rDNS bölgesinin mevcut olduğundan emin olun.
Ayrıca, alan kontrolörlerinize işaret eden PTR kayıtlarının olduğundan emin olun.
Etki alanı denetleyicisi bağlantısını denetleme
Etki alanının hem kısa hem de tam tanımlı adlarını ve etki alanı denetleyicisinin ana bilgisayar adını kullanarak etki alanı denetleyicisine ulaşabildiğinizi kontrol edin. Alan kontrolcüsünün IP adresi ayrıca alan kontrolcüsünün tam nitelikli alan adı (FQDN) olarak da çözülmelidir:
ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>
Tip
Bu öğreticide sırasıyla örnek etki alanı ve bölge adları olarak contoso.com ve CONTOSO.COM kullanılır. Ayrıca, etki alanı denetleyicisinin tam nitelikli etki alanı adı örneği olarak DC1.CONTOSO.COM kullanır. Bu adları kendi değerlerinizle değiştirmeniz gerekir.
Doğru etki alanı adı çözümlemesini sağlamak için, ad denetimleri sırasında herhangi bir tutarsızlık bulunması durumunda /etc/resolv.conf dosyasını güncelleştirmek çok önemlidir. Güncelleştirme yordamı dağıtımlar arasında farklılık gösterir; bu nedenle, doğru rehberlik için resmi belgelere danışmanız önerilir. Aşağıdaki listede bazı dağıtımlar ve bunların temel sürümleri için bağlantılar sağlanır:
| Distribution | Referans makalesi |
|---|---|
| RHEL 8 | /etc/resolv.conf el ile yapılandırma |
| RHEL 9 | /etc/resolv.conf el ile yapılandırma |
| SLES 15 | NETCONFIG_DNS_STATIC_SEARCHLIST ve NETCONFIG_DNS_STATIC_SERVERS ayarları |
| Ubuntu | Ad Çözümlemesi bölümü |
Amacınız, alan adı çözümünü kolaylaştırmak için dağıtımınızda /etc/resolv.conf'ı doğru şekilde yapılandırmaktır. Örneğin, alan adınız contoso.com ve Active Directory IP adresiniz 10.0.0.4 ise, ana bilgisayardan başarılı bir ad çözümlemesi sağlamak için /etc/resolv.conf doğru bir şekilde yapılandırılmalıdır.
cat /etc/resolv.conf
Sonuç kümesi aşağıdadır.
# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4
RHEL 7.x
Active Directory etki alanınızın etki alanı arama listesinde yer alabilmesi için
/etc/sysconfig/network-scripts/ifcfg-eth0dosyasını düzenleyin. Veya başka bir arabirim yapılandırma dosyasını uygun şekilde düzenleyin:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0Çıktı aşağıdaki örneğe benzer:
PEERDNS=no DNS1=<Domain controller IP address> DOMAIN="contoso.com com"Bu dosyayı düzenledikten sonra ağ hizmetini yeniden başlatın:
sudo systemctl restart networkŞimdi
/etc/resolv.confdosyanızın aşağıdaki örneğe benzer bir satır içerdiğini denetleyin:sudo vi /etc/resolv.confÇıktı aşağıdaki örneğe benzer:
search contoso.com com nameserver <Domain controller IP address>Etki alanı denetleyicisine hâlâ ping gönderemiyorsanız, denetleyicinin tam etki alanı adını ve IP adresini bulun. Örnek etki alanı adı
DC1.CONTOSO.COM. Aşağıdaki girdiyi/etc/hosts'a ekleyin:sudo vi /etc/hostsÇıktı aşağıdaki örneğe benzer:
<IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
Active Directory etki alanına katılma
Temel yapılandırma ve alan kontrolcüsüyle bağlantıyı doğruladıktan sonra, SQL Server çalıştıran bir Linux barındırmasını Active Directory alanına bağlamak için iki seçenek vardır:
- Seçenek 1: SSSD paketi kullanma
- Seçenek 2: Üçüncü taraf Active Directory sağlayıcı araçları kullanın
1. Seçenek: Active Directory etki alanına katılmak için SSSD paketini kullanma
Bu yöntem, SQL Server'ı çalıştıran Linux ana bilgisayarını realmd ve sssd paketleri kullanarak bir Active Directory alanına birleştirir.
Bu, Bir Linux ana bilgisayarını Active Directory etki alanı denetleyicisine eklemek için tercih edilen yöntemdir.
En güncel yönergeler için dağıtım ortakları tarafından sağlanan resmi belgelere bakın.
| Distribution | Referans makalesi |
|---|---|
| RHEL 8 | SSSD kullanarak AD Etki Alanı'nı keşfetme ve katılma |
| RHEL 9 | SSSD kullanarak AD Etki Alanı'nı keşfetme ve katılma |
| SLES | Windows etki alanı üyeliğini kullanarak Active Directory'ye katılma |
| Ubuntu | Active Directory ile SSSD'yi ayarlama |
SQL Server'ı bir Active Directory alanına çalıştıran bir Linux barındırıcısını birleştirmek için aşağıdaki adımları kullanın:
Ana makinenizi Active Directory alan alanınıza bağlamak için realmd kullanın. Öncelikle hem realmd hem de Kerberos istemci paketlerini SQL Server Linux ana bilgisayarına Linux dağıtımınızın paket yöneticisini kullanarak yüklemeniz gerekir:
Kerberos istemci paketi yüklemesi sizden bölge adı isterse, etki alanı adınızı büyük harfle girin.
DNS'nizin düzgün yapılandırıldığını onayladıktan sonra aşağıdaki komutu çalıştırarak etki alanına katılın. Etki alanına yeni bir makine eklemek için Active Directory'de yeterli ayrıcalıklara sahip bir Active Directory hesabı kullanarak kimlik doğrulaması yapmanız gerekir. Bu komut Active Directory'de yeni bir bilgisayar hesabı oluşturur,
/etc/krb5.keytabana bilgisayar anahtar sekmesi dosyasını oluşturur, etki alanını/etc/sssd/sssd.confiçinde yapılandırır ve/etc/krb5.conf'yi günceller.realmd ile ilgili bir sorun nedeniyle, önce makine ana bilgisayar adını makine adı yerine tamamen belirlenmiş etki alanı adı (FQDN) olarak ayarlayın. Aksi takdirde, bölge makine için gerekli tüm SPN'leri oluşturmayabilir ve etki alanı denetleyiciniz dinamik DNS güncelleştirmelerini desteklese bile DNS girişleri otomatik olarak güncelleştirilmeyebilir.
sudo hostname <old hostname>.contoso.comBu komutu çalıştırdıktan sonra,
/etc/hostnamedosyanız<old hostname>.contoso.comiçermelidir.sudo realm join contoso.com -U 'user@CONTOSO.COM' -vSuccessfully enrolled machine in realmiletisini görmeniz gerekir.Aşağıdaki tabloda, alabileceğiniz bazı hata iletileri ve bunların çözümüyle ilgili öneriler listelenmektedir:
Hata iletisi Recommendation Necessary packages are not installedBölge birleştirme komutunu yeniden çalıştırmadan önce Linux dağıtımınızın paket yöneticisini kullanarak bu paketleri yükleyin. Insufficient permissions to join the domainBir etki alanı yöneticisine Linux makinelerini etki alanınıza eklemek için yeterli izinlere sahip olup olmadığınızı denetleyin. KDC reply did not match expectationsKullanıcı için doğru bölge adını belirtmemiş olabilirsiniz. Realm adları büyük/küçük harfe duyarlıdır, genellikle büyük harflerle yazılır ve realm discover contoso.comkomutuyla tanımlanabilir.SQL Server, kullanıcı hesaplarını ve gruplarını güvenlik tanımlayıcılarıyla (SID) eşlemek için SSSD ve NSS kullanır. Active Directory oturum açma bilgilerinin başarıyla oluşturulabilmesi için SQL Server için SSSD'nin yapılandırılması ve çalıştırılması gerekir. realmd bunu genellikle etki alanına katılırken otomatik olarak yapar, ancak bazı durumlarda bunu ayrıca yapmanız gerekir.
Daha fazla bilgi için bkz. SSSD'yiel ile
yapılandırma ve NSS'yi SSSD ile çalışacak şekilde yapılandırma.Artık etki alanından bir kullanıcı hakkında bilgi toplayabileceğinizi ve bu kullanıcı olarak bir Kerberos bileti edinebileceğinizi doğrulayın. Aşağıdaki örnekte, bunun için kimlik, kinitve klist komutları kullanılır.
SSSD'nin alan kullanıcı ve grup üyeliklerini çözebildiğini doğrulamak için kullanılır
id:id user@contoso.comÇıktı, alan alan kullanıcısının kullanıcı kimliğini, grup kimliğini ve grup üyeliklerini göstermelidir:
uid=1348601103(user@contoso.com) gid=1348600513(domain group@contoso.com) groups=1348600513(domain group@contoso.com)Alan adı kullanıcısı için Kerberos bileti talep etmek için kullanılan yöntem
kinit:kinit user@CONTOSO.COMKomut, alan alan kullanıcısının şifresini sormalıdır:
Password for user@CONTOSO.COM:Kerberos biletini doğrulamak için
klistkullanın:klistÇıktı, alan kullanıcısını varsayılan ana olarak tanımlamalıdır:
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: user@CONTOSO.COMid user@contoso.comdöndürürseNo such usersudo systemctl status sssdkomutunu çalıştırarak SSSD hizmetinin başarıyla başlatıldığından emin olun. Hizmet çalışıyorsa ve hata almaya devam ediyorsanız, SSSD için ayrıntılı günlük kaydını etkinleştirmeyi deneyin. Daha fazla bilgi için Sorun Giderme SSSDiçin Red Hat belgelerine bakın.kinit user@CONTOSO.COMdöndürürseKDC reply didn't match expectations while getting initial credentials, alanı büyük harfle belirttiğinizden emin olun.
Daha fazla bilgi için, SSSD kullanarak bir AD Alanını Keşfetmek ve Birleştirmek için Red Hat dokümantasyonuna bakınız.
Seçenek 2: Üçüncü taraf Active Directory sağlayıcı araçları kullanın
PBIS, VASveya Centrifygibi üçüncü taraf yardımcı programlarını kullanabilirsiniz. Bu makale, her bir yardımcı program için adımları kapsamaz. Devam etmeden önce bu yardımcı programlardan birini kullanarak SQL Server'ı çalıştıran Linux ana bilgisayarını alana katmalısınız.
SQL Server, Active Directory ile ilgili sorgular için üçüncü taraf entegratörlerden kod veya kütüphaneler kullanmaz. SQL Server her zaman doğrudan bu kurulumda OpenLDAP kitaplık çağrılarını kullanarak Active Directory'i sorgular. Üçüncü taraf entegratörler yalnızca Linux ana bilgisayarını bir Active Directory alanına bağlamak için kullanılır ve SQL Server bu araçlarla doğrudan iletişim kurmaz.
Important
Linuxüzerinde SQL Server ile Active Directory kimlik doğrulamasını kullanma
/etc/krb5.conf'ın doğru yapılandırıldığını doğrulayın. Çoğu üçüncü taraf Active Directory sağlayıcısı için bu yapılandırma otomatik olarak gerçekleştirilir. Ancak, gelecekteki sorunları önlemek için /etc/krb5.conf aşağıdaki değerleri denetleyin:
sudo vi /etc/krb5.conf
Çıktı aşağıdaki örneğe benzer:
[libdefaults]
default_realm = CONTOSO.COM
[realms]
CONTOSO.COM = {
}
[domain_realm]
contoso.com = CONTOSO.COM
.contoso.com = CONTOSO.COM
Ters DNS'nin düzgün yapılandırıldığından emin olun
Aşağıdaki komut, SQL Server çalıştıran sunucunun tam etki alanı adını (FQDN) döndürmelidir.
SqlHost.contoso.com bunun bir örneğidir.
host <IP address of SQL Server host>
Bu komutun çıktısı <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.combenzer olmalıdır. Eğer bu komut ana bilgisayarınızın FQDN'sini döndürmezse veya FQDN yanlışsa, SQL Server'ı çalıştıran Linux sunucusu için DNS sunucunuzun ters DNS girişi ekleyin.
Sonraki adım
Bu makalede, SQL Server'ı Active Directory kimlik doğrulaması ile çalıştıran bir Linux barındırıcısı yapılandırdınız. Linux üzerinde SQL Server'ı Active Directory hesaplarını destekleyecek şekilde yapılandırmayı tamamlamak için bu yönergeleri izleyin.