Kurz – Nasazení konektoru služby Active Directory v režimu keytab spravovaného systémem
Tento článek vysvětluje, jak nasadit konektor služby Active Directory v režimu keytab spravovaného systémem. Jedná se o klíčovou komponentu pro povolení ověřování Active Directory ve službě SQL Managed Instance povolenou službou Azure Arc.
Konektor služby Active Directory v režimu keytab spravovaného systémem
V režimu klíčů spravovaných systémem nasadí konektor služby Active Directory proxy službu DNS, která proxy servery DNS přicházející ze spravované instance do některé ze dvou nadřazených služeb DNS:
- Servery DNS služby Active Directory
- Servery DNS Kubernetes
Kromě proxy služby DNS nasadí konektor AD také službu podpory zabezpečení, která usnadňuje komunikaci s doménou AD za účelem automatického vytváření a správy účtů AD, hlavních názvů služeb (SPN) a klíčových tabulek.
Následující diagram znázorňuje funkce konektoru AD a služby proxy DNS v režimu keytab spravovaného systémem:
Požadavky
Než budete pokračovat, musíte mít:
- Instance kontroleru dat nasazená v podporované verzi Kubernetes
- Doména služby Active Directory
- Předem vytvořená organizační jednotka (OU) v doméně služby Active Directory
- Účet služby Active Directory Domain Service
Účet služby AD Domain Service by měl mít dostatečná oprávnění k automatickému vytváření a odstraňování uživatelských účtů v poskytnuté organizační jednotce ve službě Active Directory.
Udělte účtu doménové služby následující oprávnění s vymezeným oborem organizační jednotky:
- Čtení všech vlastností
- Zápis všech vlastností
- Vytváření uživatelských objektů
- Odstranění uživatelských objektů
- Resetování hesla pro objekty potomků uživatelů
Podrobnosti o tom, jak nastavit účet organizační jednotky a AD, najdete v tématu Nasazení datových služeb s podporou služby Azure Arc v ověřování active directory pomocí system-managed keytab – požadavky
Vstup pro nasazení konektoru služby Active Directory v režimu keytab spravovaného systémem
K nasazení instance konektoru služby Active Directory je potřeba několik vstupů z doménového prostředí služby Active Directory.
Tyto vstupy jsou k dispozici ve specifikaci yaml pro instanci konektoru AD.
Před nasazením instance konektoru AD musí být k dispozici následující metadata o doméně AD:
- Název domény služby Active Directory
- Seznam řadičů domény (plně kvalifikovaných názvů domén)
- Seznam IP adres serveru DNS
Následující vstupní pole jsou zpřístupněna uživatelům ve specifikaci konektoru služby Active Directory:
Povinní účastníci
spec.activeDirectory.realm
Název domény služby Active Directory velkými písmeny Toto je doména AD, ke které bude tato instance konektoru AD přidružená.spec.activeDirectory.domainControllers.primaryDomainController.hostname
Plně kvalifikovaný název domény primárního řadiče domény (PDC) v doméně AD.Pokud nevíte, který řadič domény v doméně je primární, můžete zjistit spuštěním tohoto příkazu na jakémkoli počítači s Windows připojeným k doméně AD:
netdom query fsmo
.spec.activeDirectory.dns.nameserverIpAddresses
Seznam IP adres serveru DNS služby Active Directory Služba proxy serveru DNS bude předávat dotazy DNS v zadaném názvu domény na tyto servery.
Volitelné
spec.activeDirectory.serviceAccountProvisioning
Toto je volitelné pole, které definuje režim nasazení konektoru AD s možnými hodnotamimanual
jako klíčová karta spravovaná zákazníkem neboautomatic
pro systémově spravovanou keytab. Pokud toto pole není nastaveno, použije se výchozímanual
hodnota . Pokud je nastavená hodnotaautomatic
(system-managed keytab), systém automaticky vygeneruje účty AD a hlavní názvy služby (SPN) pro spravované instance SQL přidružené k tomuto konektoru AD a vytvoří pro ně soubory klíčových tabulek. Pokud je nastavená hodnotamanual
(klíčová karta spravovaná zákazníkem), systém nebude poskytovat automatické generování účtu AD a generování tabulek klíčů. Očekává se, že uživatel zadá soubor keytab.spec.activeDirectory.ouDistinguishedName
Toto je volitelné pole. I když se stane podmíněně povinný, pokud je hodnotaserviceAccountProvisioning
nastavena naautomatic
. Toto pole přijímá rozlišující název organizační jednotky (OU), kterou musí uživatelé vytvořit v doméně služby Active Directory před nasazením konektoru AD. Slouží k ukládání systémem generovaných účtů AD pro spravované instance SQL v doméně služby Active Directory. Příklad hodnoty vypadá takto:OU=arcou,DC=contoso,DC=local
.spec.activeDirectory.domainServiceAccountSecret
Toto je volitelné pole. Podmíněně se stane povinným, pokud je hodnotaserviceAccountProvisioning
nastavena naautomatic
hodnotu . Toto pole přijímá název tajného kódu Kubernetes, který obsahuje uživatelské jméno a heslo účtu služby Domain Service, který byl vytvořen před nasazením konektoru AD. Systém tento účet použije k vygenerování dalších účtů AD v organizační jednotky a provádění akcí s těmito účty AD.spec.activeDirectory.netbiosDomainName
Název rozhraní NetBIOS domény služby Active Directory Toto je krátký název domény (před názvem Windows 2000) vaší domény služby Active Directory. Často se používá k opravňujícím účtům v doméně AD. Například pokud se účty v doméně označují jako CONTOSO\admin, pak je DOMÉNA CONTOSO názvem domény NETBIOS.Toto pole je nepovinné. Pokud není tato hodnota zadaná, výchozí hodnota je první popisek
spec.activeDirectory.realm
pole.Ve většině doménových prostředí je tato hodnota nastavená na výchozí hodnotu, ale některá doménová prostředí můžou mít jinou než výchozí hodnotu. Toto pole budete muset použít pouze v případě, že název NetBIOS vaší domény neodpovídá prvnímu popisku jeho plně kvalifikovaného názvu.
spec.activeDirectory.domainControllers.secondaryDomainControllers[*].hostname
Seznam plně kvalifikovaných názvů domén sekundárních řadičů domény v doméně ADPokud vaši doménu obsluhuje více řadičů domény, je vhodné v tomto seznamu zadat některé z jejich plně kvalifikovaných názvů domén. To umožňuje vysokou dostupnost pro operace protokolu Kerberos.
Toto pole není povinné a není potřeba. Systém automaticky rozpozná sekundární řadiče domény, pokud není zadaná hodnota.
spec.activeDirectory.dns.domainName
Název domény DNS, pro který má být vyhledávání DNS předáno serverům DNS služby Active Directory.Vyhledávání DNS pro libovolný název, který patří do této domény nebo jeho následnických domén, se předá službě Active Directory.
Toto pole je nepovinné. Pokud není zadaný, použije se výchozí hodnota zadaná pro
spec.activeDirectory.realm
převod na malá písmena.spec.activeDirectory.dns.replicas
Počet replik pro službu proxy serveru DNS. Toto pole je volitelné a výchozí hodnota je 1, pokud není zadána.spec.activeDirectory.dns.preferK8sDnsForPtrLookups
Příznak označující, jestli se má upřednostnit odpověď serveru DNS Kubernetes před odpovědí serveru AD DNS pro vyhledávání IP adres.Služba proxy serveru DNS spoléhá na toto pole, aby určila, která nadřazená skupina serverů DNS preferuje vyhledávání IP adres.
Toto pole je nepovinné. Pokud není zadaný, použije se
true
výchozí hodnota, tj. vyhledávání IP adres DNS se nejprve předá serverům DNS Kubernetes. Pokud se serverům DNS Kubernetes nepodaří zodpovědět vyhledávání, dotaz se pak předá serverům AD DNS. Při nastavenífalse
se tyto vyhledávání DNS předají nejprve na servery DNS služby AD a po selhání se vrátí do Kubernetes.
Nasazení konektoru služby Active Directory v režimu klíče spravovaného systémem
Pokud chcete nasadit konektor AD, vytvořte soubor specifikace YAML s názvem active-directory-connector.yaml
.
Následuje příklad konektoru AD spravovaného systémem, který používá doménu AD s názvem CONTOSO.LOCAL
AD . Nezapomeňte nahradit hodnoty hodnotami pro vaši doménu AD. Obsahuje adarc-dsa-secret
účet služby AD Domain Service, který byl vytvořen před nasazením služby AD.
Poznámka:
Ujistěte se, že zde zadané heslo účtu AD doménové služby neobsahuje !
jako speciální znaky.
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: adarc-dsa-secret
namespace: <namespace>
data:
password: <your base64 encoded password>
username: <your base64 encoded username>
---
apiVersion: arcdata.microsoft.com/v1beta2
kind: ActiveDirectoryConnector
metadata:
name: adarc
namespace: <namespace>
spec:
activeDirectory:
realm: CONTOSO.LOCAL
serviceAccountProvisioning: automatic
ouDistinguishedName: "OU=arcou,DC=contoso,DC=local"
domainServiceAccountSecret: adarc-dsa-secret
domainControllers:
primaryDomainController:
hostname: dc1.contoso.local
secondaryDomainControllers:
- hostname: dc2.contoso.local
- hostname: dc3.contoso.local
dns:
preferK8sDnsForPtrLookups: false
nameserverIPAddresses:
- <DNS Server 1 IP address>
- <DNS Server 2 IP address>
Následující příkaz nasadí instanci konektoru AD. V současné době se podporuje pouze nativní přístup kube pro nasazení.
kubectl apply –f active-directory-connector.yaml
Po odeslání nasazení pro instanci konektoru AD můžete pomocí následujícího příkazu zkontrolovat stav nasazení.
kubectl get adc -n <namespace>