Kerberos-Authentifizierung nur mit Active Directory-KDC konfigurieren (empfohlen)

Kerberos-Authentifizierung nur mit Active Directory-KDC für Big Data Service konfigurieren.

Das Big Data Service-Cluster stellt standardmäßig lokales MIT KDC bereit. Mit dem Kerberos-Assistenten können Sie KDC deaktivieren und das Active Directory-KDC aktivieren.

Kerberos mit vorhandenem Active Directory aktivieren

Aktivieren Sie Kerberos mit vorhandenem Active Directory in einem Big Data Service-Cluster.

Verwenden Sie eine der folgenden Optionen:

enable_activedirectory-Utility für Big Data Service 3.0.27 und höher verwenden (empfohlen)

Verwenden Sie das Utility enable_activedirectory, um Kerberos mit der Active Directory- und LDAP-Integration für einzelne Services zu aktivieren, einschließlich Ambari, Hue, Ranger und JupyterHub.

Hinweis

  • Verwenden Sie diese Option für Big Data Service 3.0.27 und höher.
  • Wenn Sie Ranger für die LDAP-Integration konfigurieren, stellen Sie sicher, dass das Active Directory-(AD-)Bind-Benutzerkennwort nur die folgenden Zeichen enthält:
    • Alphanumerisch: A–Z, a–z, 0–9
    • Sonderzeichen: []{}|;:,./<>?~!@#$%^&*()_+-=~
  1. Stellen Sie mit Secure Shell (SSH) über eine Befehlsshell eine Verbindung zum Knoten un0 her.
  2. Führen Sie den folgenden Befehl aus:
    sudo enable_activedirectory

    Active Directory-Eigenschaften eingeben:

    • KDC-Hosts: <AD_SERVER_FQDN>
    • Realm-Name: <AD_REALM_NAME>
    • LDAP-URL: ldaps://<AD_FQDN>:636 oder ldap://<AD_FQDN>:389
    • Container-DN: <AD_SEARCH_BASE>
    • Kadmin-Host: <AD_FQDN>:749
    • Admin-Prinzip: <AD_BIND_USER_NAME>@<AD_REALM_NAME_LOWER>
    • Admin-Kennwort: <AD_BIND_USER_PWD>
    • Admin-DN: CN=<username>,CN=Benutzer,DC=<XXX>,DC=<YYY>,DC=<ZZZ>
    Sie können Services auch explizit mit der Option -s angeben:
    sudo enable_activedirectory -s <space separated services>

    Die verfügbaren Optionen sind: Kerberos Ambari Hue Ranger.

    Hinweis

    • Für Big Data Service BDS 3.1.1 und früher kann Kerberos nicht mit -s angegeben werden. Verwenden Sie stattdessen:
      sudo enable_activedirectory -ot enableKerberosWithAD
    • Bei JupyterHub müssen Sie die Authentifizierung manuell mit LDAP/Active Directory konfigurieren.

Aktualisieren von Active Directory-Bind-Benutzerkennwörtern mit dem Dienstprogramm enable_activedirectory

Mit dem Utility enable_activedirectory können Sie ein konfiguriertes Active Directory-(AD-)Bind-Benutzerkennwort in LDAP-integrierten Services aktualisieren, wenn das Kennwort des AD-Benutzers geändert oder rotiert wird.

Hinweis

Verwenden Sie diese Option für Big Data Service 3.3.0 und höher.
  1. Stellen Sie über eine Befehlsshell eine Verbindung zum Knoten un0 her, und verwenden Sie Secure Shell (SSH).
  2. Um dasselbe Passwort für alle Dienste (Kerberos, Ambari, Hue, Ranger) auf einmal zu aktualisieren, führen Sie den folgenden Befehl aus:
    sudo enable_activedirectory -u

    Geben Sie diese Informationen ein:

    • Ambari-Passwort: <AMBARI_ADMIN_PWD>
    • AD Bind-Benutzerkennwort: <AD_BIND_USER_PWD>
  3. Um bestimmte Services zu aktualisieren, verwenden Sie die Option -s:
    sudo enable_activedirectory -u -s <space separated services>
    Die verfügbaren Optionen sind: Kerberos Ambari Hue Ranger.
    Hinweis

    • Ohne -s (keine Services angegeben) wendet das Utility dasselbe AD Bind-Benutzerkennwort auf alle unterstützten Services an.
    • Bei vielen Services, die in -s angegeben sind (durch Leerzeichen getrennt), wird dasselbe AD Bind-Benutzerkennwort nur auf diese Services angewendet. Beispiel:
      sudo enable_activedirectory -u -s Ranger Hue Ambari
                                                      
    • Wenn verschiedene Services unterschiedliche AD Bind-Benutzer oder -Kennwörter erfordern, führen Sie das Utility separat für jeden Service aus. Beispiel:
      sudo enable_activedirectory -u -s Ranger
                                                      
    • Sie müssen die JupyterHub-Konfiguration nicht aktualisieren, wenn das Kennwort eines Active Directory-(AD-)Benutzers geändert oder rotiert wird. JupyterHub verwendet Direct-Bind für die LDAP-Authentifizierung, sodass AD-Benutzer sich vor und nach ihren Kennwortänderungen erfolgreich anmelden können

Ambari verwenden

  1. Zugriff auf Apache Ambari.
  2. Wählen Sie in der seitlichen Symbolleiste unter Cluster Admin die Option Kerberos aus.
  3. Wählen Sie Kerberos aktivieren aus, und führen Sie die folgenden Aktionen durch:
    1. Wählen Sie unter Welchen KDC-Typ möchten Sie verwenden? die Option Vorhandenes Active Directory aus.
    2. Aktivieren Sie unter Vorhandenes Active Directory alle Kontrollkästchen.
    3. Wählen Sie Weiter.
  4. Konfigurieren Sie Kerberos wie folgt:
    1. Active Directory-Eigenschaften eingeben:
      • KDC-Hosts: <AD_SERVER_FQDN>
      • Realm-Name: <AD_REALM_NAME>
      • LDAP-URL: ldaps://<AD_FQDN>:636 oder ldap://<AD_FQDN>:389
      • Container-DN: <AD_SEARCH_BASE>
      • Kadmin-Host: <AD_FQDN>:749
      • Admin-Prinzip: <AD_BIND_USER_NAME>@<AD_REALM_NAME_LOWER>
      • Admin-Kennwort: <AD_BIND_USER_PWD>
    2. Wählen Sie Admin-Zugangsdaten speichern aus.
    3. Wählen Sie Weiter.
  5. Nachdem der Kerberos-Service erfolgreich installiert und getestet wurde, wählen Sie Weiter.
  6. Um Identitäten zu konfigurieren, akzeptieren Sie die Standardwerte, und wählen Sie Weiter.
  7. Bestätigen Sie die Konfiguration:
    1. (Optional) Um eine CSV-Datei der Prinzipien und Keytabs herunterzuladen, die Apache Ambari erstellt hat, wählen Sie CSV herunterladen aus.
    2. Prüfen Sie die Konfiguration, und wählen Sie Weiter aus.
  8. Services starten und testen
    Wenn Sie Fehler erhalten, können Sie die Tests erneut ausführen, indem Sie Wiederholen auswählen.
  9. Wählen Sie Abgeschlossen aus.

Kerberos deaktivieren

Dies gilt für Cluster, in denen Kafka- und Ranger-Services installiert sind. Die Deaktivierung von Kerberos in einem sicheren/HA-Cluster muss entsprechend durchgeführt werden, um einen Fehler bei der Kafka-Serviceprüfung zu vermeiden. Verwenden Sie einen der folgenden Ansätze.

KDC deaktivieren

Um den Active Directory-KDC einzurichten, müssen Sie zuerst den MIT-KDC deaktivieren.

Wichtig

Wenn das Kafka Ranger-Plug-in installiert ist, führen Sie die Schritte aus, um Kerberos zu deaktivieren.
  1. Zugriff auf Apache Ambari.
  2. Wählen Sie in der seitlichen Symbolleiste unter Cluster Admin die Option Kerberos aus.
  3. Wählen Sie Kerberos deaktivieren.
  4. Folgen Sie dem Assistenten "Kerberos deaktivieren", und wählen Sie Abschließen aus.

KDC wird deaktiviert, wenn das Kafka Ranger-Plug-in installiert ist

Methode 1 (empfohlen)

Wenn Kerberos aktiviert ist, gilt Folgendes:

  1. Deaktivieren Sie das Kafka Ranger-Plugin von Ambari:
    1. Melden Sie sich bei Ambari an.
    2. Wählen Sie in der seitlichen Symbolleiste unter Dienste Ranger aus.
    3. Wählen Sie Configs, Ranger-Plug-in aus.
  2. Deaktivieren Sie Kerberos.
  3. Aktivieren Sie das Kafka Ranger-Plug-in, falls erforderlich.

Methode 2

Wenn Kerberos derzeit aktiviert ist und Sie das Kafka-Ranger-Plug-in nicht deaktivieren möchten, gehen Sie wie folgt vor:

  1. Gehen Sie zu Ranger, und navigieren Sie zu den Policys für Kafka Service.
  2. Fügen Sie public-Gruppen zu all - topic- und all - cluster-Policys hinzu. Wenn diese Richtlinien aus irgendeinem Grund nicht existieren, erstellen Sie sie. Ziel ist es, der öffentlichen Gruppe Zugriff auf alle Themen- und Clusterressourcen zu erteilen, die für die Kafka-Serviceprüfung erforderlich sind.
  3. Deaktivieren Sie Kerberos.
  4. Entfernen Sie die oben hinzugefügten öffentlichen Gruppen.

Methode 3

Wenn Kerberos bereits deaktiviert ist und die Kafka-Serviceprüfung bereits nicht erfolgreich war, gilt Folgendes:

  1. Deaktivieren Sie das Kafka Ranger-Plug-in, wie unter Methode 1 beschrieben.
  2. Starten Sie den Kafka-Service nach Bedarf neu.
  3. Kafka Ranger-Plug-in aktivieren
Hinweis

Öffentlicher Gruppenzugriff auf alle - Topic-Policy ist für die Kafka-Serviceprüfung (Kafka > Aktionen > Serviceprüfung ausführen) erforderlich, nachdem Kerberos deaktiviert wurde.