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 makalede, BIR SQL Server Linux konak makinesini Active Directory etki alanına ekleme hakkında genel yönergeler sağlanmaktadır. İ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 etki alanına katılma ürünlerine örnek olarak PowerBroker Identity Services (PBIS), One Identityve Centrifyverilebilir.
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.
Not
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 .
Önkoşullar
Active Directory kimlik doğrulamasını yapılandırmadan önce ağınızda bir Active Directory etki alanı denetleyicisi (Windows) ayarlamanız gerekir. Ardından Linux konağındaki SQL Server'ınızı bir Active Directory etki alanına ekleyin.
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, genel ortamınızın nasıl yapılandırıldığına ve işletim sistemi sürümüne bağlı olarak ortamınızda biraz farklılık gösterebilir. Örneğin, Ubuntu 18.04 netplan kullanırken Red Hat Enterprise Linux (RHEL) 8.x ağı yönetmek ve yapılandırmak için diğer araçlar arasında nmcli 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.
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 etki alanı denetleyicilerinize işaret eden bir PTR kaydının mevcut 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. Etki alanı denetleyicisinin IP'sinin de etki alanı denetleyicisinin FQDN'sine çözümlenmesi gerekir:
ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>
Bahşiş
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:
| Dağıtım | 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İçerikler aşağıdaki örneğe benzer görünmelidir:
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İçerikler aşağıdaki örneğe benzer görünmelidir:
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İçerikler aşağıdaki örneğe benzer görünmelidir:
<IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
Active Directory etki alanına katılma
Temel yapılandırma ve etki alanı denetleyicisiyle bağlantı doğrulandıktan sonra, bir SQL Server Linux makineyi Active Directory etki alanı denetleyicisiyle birleştirmek için iki seçenek vardır.
- Seçenek 1: SSSD paketi kullanma
- Seçenek 2: Üçüncü taraf OpenLDAP sağlayıcı yardımcı programlarını kullanma
1. Seçenek: Active Directory etki alanına katılmak için SSSD paketini kullanma
Bu yöntem, realmd ve sssd paketlerini kullanarak SQL Server ana bilgisayarını bir Active Directory etki alanı alanına ekler.
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.
| Dağıtım | 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 |
Bir SQL Server konasını Active Directory etki alanına eklemek için aşağıdaki adımları kullanın:
Ana makinenizi Active Directory Etki Alanınıza eklemek için realmd kullanın. Öncelikle Linux dağıtımınızın paket yöneticisini kullanarak SQL Server konak makinesine hem bölge hem de Kerberos istemci paketlerini 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 mesajı Tavsiye 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. Bölge adları büyük/küçük harfe duyarlıdır, genellikle büyük harfle yazılır ve "realm discover contoso.com" komutuyla 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.
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.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 Kimlik Etki Alanlarını Bulma ve Birleştirmeiçin Red Hat belgelerine bakın.
Seçenek 2: Üçüncü taraf OpenLDAP sağlayıcı yardımcı programlarını kullanma
PBIS, VASveya Centrifygibi üçüncü taraf yardımcı programlarını kullanabilirsiniz. Bu makale, her bir yardımcı program için adımları kapsamaz. Öncelikle, devam etmeden önce, Linux ana bilgisayarını SQL Server için etki alanına katmak amacıyla bu yardımcı programlardan birini kullanmalısınız.
SQL Server, Active Directory ile ilgili sorgular için üçüncü taraf tümleştirici kodunu veya kitaplığını kullanmaz. SQL Server her zaman doğrudan bu kurulumda OpenLDAP kitaplık çağrılarını kullanarak Active Directory'i sorgular. Üçüncü taraf tümleştiriciler yalnızca Linux ana bilgisayarını Active Directory etki alanına eklemek için kullanılır ve SQL Server'ın bu yardımcı programlarla doğrudan bir iletişimi yoktur.
Önemli
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
İçerikler aşağıdaki örneğe benzer görünmelidir:
[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. Örneğin SqlHost.contoso.com.
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. Bu komut ana bilgisayarınızın FQDN'sini döndürmezse veya FQDN yanlışsa, DNS sunucunuza Linux ana bilgisayar üzerinde SQL Server'ınız için ters DNS girdisi ekleyin.
Sonraki adım
Bu makalede, Active Directory Kimlik Doğrulaması ile Linux konak makinesinde SQL Server yapılandırmayı ele aldık. Linux üzerinde SQL Server'ı Active Directory hesaplarını destekleyecek şekilde yapılandırmayı tamamlamak için bu yönergeleri izleyin.