Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server na Linuxu
Tento článek poskytuje obecné pokyny, jak připojit Linux host, který běží na SQL Server, k doméně služba Active Directory. Existují dvě metody: použijte integrovaný balíček SSSD nebo použijte zprostředkovatele služby služba Active Directory třetích stran. Příklady produktů třetích stran pro připojení domén jsou PowerBroker Identity Services (PBIS),One Identity Safeguard Authentication Services (VAS) a Centrify.
Tato příručka obsahuje kroky ke kontrole konfigurace služby služba Active Directory. Nemá ale v úmyslu poskytnout pokyny k připojení počítače k doméně při použití nástrojů třetích stran.
Note
Informace o konfiguraci služby služba Active Directory s novějšími verzemi Ubuntu, RHEL nebo SLES najdete v kurzu: Použití nástroje adutil ke konfiguraci ověřování služby služba Active Directory s SQL Serverem v Linuxu.
Předpoklady
Než nakonfigurujete autentizaci v služba Active Directory, musíte nastavit počítač s Windows Server jako služba Active Directory doménový řadič ve vaší síti. Pak připojte Linux host, který běží na SQL Server, k služba Active Directory doméně.
Ukázkové kroky popsané v tomto článku slouží pouze jako vodítko a odkazují na operační systémy Ubuntu 16.04, Red Hat Enterprise Linux (RHEL) 7.x a SUSE Linux Enterprise Server (SLES) 12. Skutečné kroky se mohou mírně lišit v závislosti na prostředí a verzi operačního systému. Například Ubuntu 18.04 používá netplan , zatímco RHEL 8.x používá nmcli a další nástroje pro správu a konfiguraci sítě. Měli byste zapojit správce systému a domény pro vaše prostředí pro konkrétní nástroje, konfiguraci, přizpůsobení a veškeré požadované řešení potíží.
Note
Od verze SQL Server 2025 (17.x) se nepodporuje SUSE Linux Enterprise Server (SLES).
Reverzní DNS (rDNS)
Když nastavíte počítač se systémem Windows Server jako řadičem domény, pravděpodobně ve výchozím nastavení nemáte zónu rDNS. Ujistěte se, že pro řadič domény i IP adresu počítače s Linuxem, na kterém bude spuštěn SQL Server, existuje příslušná zóna rDNS.
Také se ujistěte, že existují PTR záznamy ukazující na vaše doménové řadiče.
Kontrola připojení k řadiči domény
Zkontrolujte, zda můžete kontaktovat řadič domény jak pomocí krátkých, tak plně kvalifikovaných názvů domény, a také pomocí názvu hostitele řadiče domény. IP adresa doménového řadiče by se měla také překládát na plně kvalifikovaný název domény (FQDN) doménového řadiče:
ping contoso
ping contoso.com
ping dc1.contoso.com
nslookup <IP address of dc1.contoso.com>
Tip
Tento kurz používá contoso.com a CONTOSO.COM jako ukázkové názvy domén a sfér. Používá také DC1.CONTOSO.COM jako příklad plně kvalifikovaného názvu domény řadiče domény. Tyto názvy musíte nahradit vlastními hodnotami.
Aby se zajistilo správné překlad názvů domén, je důležité aktualizovat soubor /etc/resolv.conf, pokud se během kontrol názvů najdou nějaké nesrovnalosti. Postup aktualizace se liší v různých distribucích; proto je vhodné poradit se s oficiální dokumentací pro přesné pokyny. Následující seznam obsahuje odkazy pro některé distribuce a jejich verze klíčů:
| Distribuce | Referenční článek |
|---|---|
| RHEL 8 | ruční konfigurace /etc/resolv.conf |
| RHEL 9 | ruční konfigurace /etc/resolv.conf |
| SLES 15 | Nastavení pro NETCONFIG_DNS_STATIC_SEARCHLIST a NETCONFIG_DNS_STATIC_SERVERS |
| Ubuntu | sekce pro řešení názvů |
Cílem je správně nakonfigurovat /etc/resolv.conf pro vaši distribuci, aby se usnadnilo rozlišení názvů domén. Pokud je vaše doména například contoso.com a IP adresa služby služba Active Directory je 10.0.0.4, měli byste /etc/resolv.conf nastavit odpovídajícím způsobem k zajištění úspěšného přeložení názvů z hostitele.
cat /etc/resolv.conf
Tady je soubor výsledků.
# Generated by NetworkManager
search contoso.com com
nameserver 10.0.0.4
RHEL 7.x
Upravte soubor
/etc/sysconfig/network-scripts/ifcfg-eth0tak, aby vaše doména služby služba Active Directory byla v seznamu vyhledávacích domén. Nebo podle potřeby upravte jiný konfigurační soubor rozhraní:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0Výstup vypadá podobně jako v následujícím příkladu:
PEERDNS=no DNS1=<Domain controller IP address> DOMAIN="contoso.com com"Po úpravě tohoto souboru restartujte síťovou službu:
sudo systemctl restart networkTeď zkontrolujte, jestli soubor
/etc/resolv.confobsahuje řádek podobný následujícímu příkladu:sudo vi /etc/resolv.confVýstup vypadá podobně jako v následujícím příkladu:
search contoso.com com nameserver <Domain controller IP address>Pokud stále nemůžete odeslat příkaz ping na řadič domény, vyhledejte plně kvalifikovaný název domény a IP adresu řadiče domény. Příklad názvu domény je
DC1.CONTOSO.COM. Do/etc/hostspřidejte následující položku:sudo vi /etc/hostsVýstup vypadá podobně jako v následujícím příkladu:
<IP address> DC1.CONTOSO.COM CONTOSO.COM CONTOSO
Připojení k doméně služby služba Active Directory
Po ověření základní konfigurace a propojení s doménovým řadičem existují dvě možnosti, jak připojit Linux host, který běží na SQL Server, k doméně služba Active Directory:
- možnost 1: Použití balíčku SSSD
- Možnost 2: Použít nástroje poskytovatelů služba Active Directory třetích stran
Možnost 1: Připojení domény služby služba Active Directory pomocí balíčku SSSD
Tato metoda spojuje Linux hostitele, který provozuje SQL Server, s doménou služba Active Directory pomocí balíčků realmd a sssd.
Toto je upřednostňovaná metoda připojení hostitele Linuxu k řadiči domény služby služba Active Directory.
Nejnovější pokyny najdete v oficiální dokumentaci od distribučních partnerů.
| Distribuce | Referenční článek |
|---|---|
| RHEL 8 | Zjišťování a připojování k doméně AD pomocí SSSD |
| RHEL 9 | Zjišťování a připojování k doméně AD pomocí SSSD |
| SLES | připojení ke službě služba Active Directory přes členství v doméně Windows |
| Ubuntu | Jak nastavit SSSD se systémem služba Active Directory |
Použijte následující kroky k připojení Linux hostu, který běží na SQL Server, k služba Active Directory doméně:
Použijte realmd k připojení hostitelského počítače k služba Active Directory doméně. Nejprve musíte nainstalovat klientské balíčky realmd i Kerberos na hostitele SQL Server Linux pomocí správce balíčků vaší linuxové distribuce:
Pokud se při instalaci klientského balíčku Kerberos zobrazí výzva k zadání názvu sféry, zadejte název domény velkými písmeny.
Jakmile ověříte, že je dns správně nakonfigurovaný, připojte se k doméně spuštěním následujícího příkazu. K připojení nového počítače k doméně musíte použít účet služby služba Active Directory, který má dostatečná oprávnění ve službě služba Active Directory. Tento příkaz vytvoří nový účet počítače ve službě služba Active Directory, vytvoří soubor klíče hostitele
/etc/krb5.keytab, nakonfiguruje doménu v/etc/sssd/sssd.confa aktualizuje/etc/krb5.conf.Kvůli problému s realmd nejprve nastavte název hostitele počítače na FQDN místo pouze názvu počítače. Jinak realmd nemusí vytvořit všechny požadované hlavní názvy služeb (SPN) pro počítač a záznamy DNS se nemusí automaticky aktualizovat, i když váš řadič domény podporuje dynamické aktualizace DNS.
sudo hostname <old hostname>.contoso.comPo spuštění tohoto příkazu by měl soubor
/etc/hostnameobsahovat<old hostname>.contoso.com.sudo realm join contoso.com -U 'user@CONTOSO.COM' -vMěla by se zobrazit zpráva,
Successfully enrolled machine in realm.V následující tabulce jsou uvedeny některé chybové zprávy, které můžete obdržet a navrhnout jejich řešení:
Zpráva o chybě Recommendation Necessary packages are not installedPřed opětovným spuštěním příkazu realm join nainstalujte tyto balíčky pomocí správce balíčků vaší linuxové distribuce. Insufficient permissions to join the domainObraťte se na správce domény, že máte dostatečná oprávnění pro připojení počítačů s Linuxem k vaší doméně. KDC reply did not match expectationsJe možné, že jste pro uživatele nezadáli správné jméno sféry. Názvy domén jsou citlivé na velká písmena, obvykle velká, a lze je identifikovat příkazem realm discover contoso.com.SQL Server k mapování uživatelských účtů a skupin na identifikátory zabezpečení (SID) používá SSSD a NSS. Aby bylo možné úspěšně vytvořit přihlášení služby služba Active Directory, musí být služba SSSD nakonfigurovaná a spuštěná pro SQL Server. realmd to obvykle dělá automaticky při připojování k doméně, ale v některých případech to musíte udělat samostatně.
Další informace najdete v tématu, jak nakonfigurovat SSSD ručněa nakonfigurovat NSS pro práci sSSSD .
Ověřte, že teď můžete shromažďovat informace o uživateli z domény a že můžete získat lístek Kerberos jako tento uživatel. Následující příklad používá id, kinita klist příkazy pro tento příkaz.
Použijte
idk potvrzení, že SSSD dokáže vyřešit členství v doménách uživatelů a skupin:id user@contoso.comVýstup by měl zobrazovat uživatelské ID uživatele domény, ID skupiny a členství ve skupině:
uid=1348601103(user@contoso.com) gid=1348600513(domain group@contoso.com) groups=1348600513(domain group@contoso.com)Použití
kinitpro žádost o Kerberos ticket pro uživatele domény:kinit user@CONTOSO.COMPříkaz by měl vyzvat k zadání hesla uživatele domény:
Password for user@CONTOSO.COM:Použijte
klistk ověření lístku Kerberos:klistVýstup by měl identifikovat uživatele domény jako výchozího principa:
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: user@CONTOSO.COMPokud
id user@contoso.comvrátíNo such user, ověřte spuštěním příkazusudo systemctl status sssd, že byla služba SSSD úspěšně spuštěna. Pokud je služba spuštěná a stále se zobrazí chyba, zkuste pro SSSD povolit podrobné protokolování. Další informace najdete v dokumentaci Red Hat pro řešení potíží s SSSD.Pokud
kinit user@CONTOSO.COMvrací hodnotuKDC reply didn't match expectations while getting initial credentials, ujistěte se, že jste zadali sféru velkými písmeny.
Pro více informací viz dokumentace Red Hat pro Objevování a připojení k AD doméně pomocí SSSD.
Možnost 2: Použít nástroje poskytovatelů služba Active Directory třetích stran
Můžete použít nástroje třetích stran, jako jsou PBIS, vasnebo Centrify. Tento článek neobsahuje kroky pro jednotlivé nástroje. Nejprve musíte použít jeden z těchto nástrojů, abyste se připojili k linuxovému hostiteli, který běží na SQL Server, k této doméně, než budete pokračovat.
SQL Server nepoužívá kód ani knihovny od třetích stran pro žádné dotazy související s služba Active Directory. SQL Server vždy dotazuje službu služba Active Directory pomocí volání knihovny OpenLDAP přímo v tomto nastavení. Integrátoři třetích stran slouží pouze k připojení linuxového hostitele k doméně služba Active Directory a SQL Server s těmito nástroji nemá žádnou přímou komunikaci.
Important
Podívejte se na doporučení pro použití možnosti konfigurace mssql-conf network.disablesssd v části Další možnosti konfigurace v článku Použití ověřování služba Active Directory s SQL Serverem v Linuxu.
Ověřte, že je /etc/krb5.conf správně nakonfigurovaný. U většiny poskytovatelů active directory třetích stran se tato konfigurace provádí automaticky. Nejprve ale zkontrolujte /etc/krb5.conf kvůli následujícím hodnotám, abyste zabránili jakýmkoli budoucím problémům:
sudo vi /etc/krb5.conf
Výstup vypadá podobně jako v následujícím příkladu:
[libdefaults]
default_realm = CONTOSO.COM
[realms]
CONTOSO.COM = {
}
[domain_realm]
contoso.com = CONTOSO.COM
.contoso.com = CONTOSO.COM
Zkontrolujte, jestli je reverzní DNS správně nakonfigurovaný.
Následující příkaz by měl vrátit plně kvalifikovaný název domény (FQDN) hostitele, na kterém běží SQL Server. Příklad: SqlHost.contoso.com.
host <IP address of SQL Server host>
Výstup tohoto příkazu by měl být podobný <reversed IP address>.in-addr.arpa domain name pointer SqlHost.contoso.com. Pokud tento příkaz nevrátí FQDN vašeho hostitele, nebo pokud je FQDN nesprávný, přidejte zpětný DNS záznam pro Linux hostitele, který běží na SQL Server, na váš DNS server.
Další krok
V tomto článku jste nakonfigurovali linuxový hostitel, který běží na SQL Server s autentizací přes služba Active Directory. Pokud chcete dokončit konfiguraci SQL Serveru v Linuxu pro podporu účtů služby služba Active Directory, postupujte podle těchto pokynů.
Návod: Použití ověřování služba Active Directory s SQL Serverem na Linuxu