Udostępnij za pośrednictwem


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:

Łącznik usługi Active Directory

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 w manual przypadku tab klucza zarządzanego przez klienta lub automatic dla tab klucza zarządzanego przez system. Jeśli to pole nie jest ustawione, wartość domyślna to manual. Po ustawieniu wartości automatic (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 opcji manual (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 na automaticwartość . 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 ustawiona serviceAccountProvisioning na automaticwartość . 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 ustawieniu falsewartoś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>