Samouczek — wdrażanie łącznika usługi Active Directory w trybie tab zarządzania systemem
W tym artykule wyjaśniono, jak wdrożyć łącznik usługi Active Directory w trybie tab kluczy zarządzanych przez system. Jest to kluczowy składnik umożliwiający włączenie uwierzytelniania usługi Active Directory w wystąpieniu zarządzanym SQL włączonym przez usługę Azure Arc.
Łącznik usługi Active Directory w trybie tab kluczy zarządzanych przez system
W trybie tab klucza zarządzanego przez system łącznik usługi Active Directory wdraża usługę serwera proxy DNS, która proxy żądań DNS pochodzących z wystąpienia zarządzanego do jednej z dwóch nadrzędnych usług DNS:
- Serwery DNS usługi Active Directory
- Serwery DNS platformy Kubernetes
Oprócz usługi serwera proxy DNS łącznik usługi AD wdraża również usługę obsługi zabezpieczeń, która ułatwia komunikację z domeną usługi AD w celu automatycznego tworzenia kont usługi AD, głównych nazw usług (SPN) i kart kluczy.
Na poniższym diagramie przedstawiono funkcje łącznika usługi AD i usługi serwera proxy DNS w trybie tab kluczy zarządzanych przez system:
Wymagania wstępne
Przed kontynuowaniem musisz mieć następujące elementy:
- Wystąpienie kontrolera danych wdrożone w obsługiwanej wersji rozwiązania Kubernetes
- Domena usługi Active Directory
- Wstępnie utworzona jednostka organizacyjna (OU) w domenie usługi Active Directory
- Konto usługi domenowej Active Directory
Konto usługi domenowej usługi AD powinno mieć wystarczające uprawnienia do automatycznego tworzenia i usuwania kont użytkowników wewnątrz podanej jednostki organizacyjnej w usłudze Active Directory.
Udziel następujących uprawnień — w zakresie jednostki organizacyjnej (OU) — do konta usługi domeny:
- Odczytywanie wszystkich właściwości
- Zapisz wszystkie właściwości
- Tworzenie obiektów użytkownika
- Usuwanie obiektów użytkownika
- Resetowanie hasła dla obiektów użytkownika podrzędnego
Aby uzyskać szczegółowe informacje na temat sposobu konfigurowania jednostki organizacyjnej i konta usługi AD, przejdź do tematu Wdrażanie usług danych z obsługą usługi Azure Arc w uwierzytelnianiu w usłudze Active Directory przy użyciu tab klucza zarządzanego przez system — wymagania wstępne
Dane wejściowe dotyczące wdrażania łącznika usługi Active Directory w trybie tab kluczy zarządzanych przez system
Aby wdrożyć wystąpienie łącznika usługi Active Directory, z środowiska domeny usługi Active Directory jest potrzebnych kilka danych wejściowych.
Te dane wejściowe są udostępniane w specyfikacji yaml dla wystąpienia łącznika usługi AD.
Przed wdrożeniem wystąpienia łącznika usługi AD muszą być dostępne następujące metadane dotyczące domeny usługi AD:
- Nazwa domeny usługi Active Directory
- Lista kontrolerów domeny (w pełni kwalifikowane nazwy domen)
- Lista adresów IP serwera DNS
Następujące pola wejściowe są widoczne dla użytkowników w specyfikacji łącznika usługi Active Directory:
Wymagane
spec.activeDirectory.realm
Nazwa domeny usługi Active Directory w wielkiej litery. Jest to domena usługi AD, z którą będzie skojarzone to wystąpienie łącznika usługi AD.spec.activeDirectory.domainControllers.primaryDomainController.hostname
W pełni kwalifikowana nazwa domeny podstawowego kontrolera domeny (PDC) w domenie usługi AD.Jeśli nie wiesz, który kontroler domeny w domenie jest podstawowy, możesz dowiedzieć się, uruchamiając to polecenie na dowolnym komputerze z systemem Windows przyłączonym do domeny usługi AD:
netdom query fsmo
.spec.activeDirectory.dns.nameserverIpAddresses
Lista adresów IP serwera DNS usługi Active Directory. Usługa serwera proxy DNS przekaże zapytania DNS w podanej nazwie domeny do tych serwerów.
Opcjonalne
spec.activeDirectory.serviceAccountProvisioning
Jest to pole opcjonalne, które definiuje tryb wdrażania łącznika usługi AD z możliwymi wartościami wmanual
przypadku tab klucza zarządzanego przez klienta lubautomatic
dla tab klucza zarządzanego przez system. Jeśli to pole nie jest ustawione, wartość domyślna tomanual
. Po ustawieniu wartościautomatic
(klucz zarządzany przez system) system automatycznie wygeneruje konta usługi AD i główne nazwy usług (SPN) dla wystąpień zarządzanych SQL skojarzonych z tym łącznikiem usługi AD i utworzy dla nich pliki karty kluczy. W przypadku ustawienia opcjimanual
(klucz zarządzany przez klienta) system nie zapewni automatycznego generowania konta usługi AD i generowania kart kluczy. Oczekuje się, że użytkownik udostępni plik tab kluczy.spec.activeDirectory.ouDistinguishedName
Jest to pole opcjonalne. Chociaż staje się ona warunkowo obowiązkowa, gdy wartośćserviceAccountProvisioning
jest ustawiona naautomatic
wartość . To pole akceptuje nazwę wyróżniającą jednostki organizacyjnej (OU), którą użytkownicy muszą utworzyć w domenie usługi Active Directory przed wdrożeniem łącznika usługi AD. Służy do przechowywania kont usługi AD generowanych przez system dla usługi SQL Managed Instances w domenie usługi Active Directory. Przykład wartości wygląda następująco:OU=arcou,DC=contoso,DC=local
.spec.activeDirectory.domainServiceAccountSecret
Jest to pole opcjonalne. Staje się ona warunkowo obowiązkowa, gdy wartość parametru jest ustawionaserviceAccountProvisioning
naautomatic
wartość . To pole akceptuje nazwę wpisu tajnego kubernetes zawierającego nazwę użytkownika i hasło konta usługi domain service utworzonego przed wdrożeniem łącznika usługi AD. System będzie używać tego konta do generowania innych kont usługi AD w jednostki organizacyjnej i wykonywania akcji na tych kontach usługi AD.spec.activeDirectory.netbiosDomainName
Nazwa NetBIOS domeny usługi Active Directory. Jest to krótka nazwa domeny (pre-Windows 2000) domeny usługi Active Directory. Jest to często używane do kwalifikowania kont w domenie usługi AD. Na przykład jeśli konta w domenie są określane jako CONTOSO\admin, contoso jest nazwą domeny NETBIOS.To pole jest opcjonalne. Jeśli nie zostanie podana, jego wartość domyślna to pierwsza etykieta
spec.activeDirectory.realm
pola.W większości środowisk domeny jest to ustawione na wartość domyślną, ale niektóre środowiska domeny mogą mieć wartość inną niż domyślna. To pole należy użyć tylko wtedy, gdy nazwa NetBIOS domeny nie jest zgodna z pierwszą etykietą w pełni kwalifikowanej nazwy.
spec.activeDirectory.domainControllers.secondaryDomainControllers[*].hostname
Lista w pełni kwalifikowanych nazw domen pomocniczych kontrolerów domeny w domenie usługi AD.Jeśli domena jest obsługiwana przez wiele kontrolerów domeny, dobrym rozwiązaniem jest podanie niektórych w pełni kwalifikowanych nazw domen na tej liście. Umożliwia to wysoką dostępność operacji Kerberos.
To pole jest opcjonalne i nie jest potrzebne. System automatycznie wykryje pomocnicze kontrolery domeny, gdy nie zostanie podana wartość.
spec.activeDirectory.dns.domainName
Nazwa domeny DNS, dla której wyszukiwania DNS powinny być przekazywane do serwerów DNS usługi Active Directory.Wyszukiwanie DNS dla dowolnej nazwy należącej do tej domeny lub jej domen podrzędnych zostanie przekazane do usługi Active Directory.
To pole jest opcjonalne. Jeśli nie zostanie podana, wartość domyślna to wartość podana dla
spec.activeDirectory.realm
konwersji na małe litery.spec.activeDirectory.dns.replicas
Liczba replik dla usługi serwera proxy DNS. To pole jest opcjonalne i domyślnie ma wartość 1, jeśli nie zostanie podana.spec.activeDirectory.dns.preferK8sDnsForPtrLookups
Flaga wskazująca, czy chcesz preferować odpowiedź serwera DNS Kubernetes za pośrednictwem odpowiedzi serwera DNS usługi AD dla odnośników adresów IP.Usługa serwera proxy DNS opiera się na tym polu, aby określić, która nadrzędna grupa serwerów DNS preferuje wyszukiwanie adresów IP.
To pole jest opcjonalne. Jeśli nie zostanie podana, domyślnie będzie to oznaczać
true
, że wyszukiwania DNS adresów IP będą najpierw przekazywane do serwerów DNS kubernetes. Jeśli serwery DNS platformy Kubernetes nie będą odpowiadać na wyszukiwanie, zapytanie jest następnie przekazywane do serwerów DNS usługi AD. Po ustawieniufalse
wartości te wyszukiwania DNS będą najpierw przekazywane do serwerów DNS usługi AD i po awarii, wróć do platformy Kubernetes.
Wdrażanie łącznika usługi Active Directory w trybie tab zarządzania systemem
Aby wdrożyć łącznik usługi AD, utwórz plik specyfikacji YAML o nazwie active-directory-connector.yaml
.
Poniżej znajduje się przykład łącznika usługi AD opartego na kluczu zarządzanym przez system, który używa domeny usługi AD o nazwie CONTOSO.LOCAL
. Upewnij się, że wartości są zastępowane wartościami domeny usługi AD. Zawiera adarc-dsa-secret
konto usługi domenowej ad, które zostało utworzone przed wdrożeniem usługi AD.
Uwaga
Upewnij się, że hasło podanego konta usługi AD usługi domenowej nie zawiera !
tutaj jako znaków specjalnych.
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>
Następujące polecenie umożliwia wdrożenie wystąpienia łącznika usługi AD. Obecnie obsługiwane jest tylko natywne podejście kube do wdrażania.
kubectl apply –f active-directory-connector.yaml
Po przesłaniu wdrożenia dla wystąpienia łącznika usługi AD możesz sprawdzić stan wdrożenia przy użyciu następującego polecenia.
kubectl get adc -n <namespace>