Apache Ranger-Authentifizierung mit LDAP/Active Directory konfigurieren

Autorisierte Active Directory-Benutzer müssen so konfiguriert werden, dass sie Zugriff auf Services und Ressourcen erhalten, die in einem Big Data-Servicecluster bereitgestellt werden. Dazu muss Apache Ranger so konfiguriert sein, dass Active Directory-Benutzer mit Apache Ranger in Big Data Service synchronisiert werden können. Darüber hinaus können Benutzer sich bei der Apache Ranger-UI als Active Directory-Benutzer anmelden.

Konfigurieren von Ranger UserSync

Mit der Konfiguration von Ranger UserSync können Sie eine gruppenbasierte Benutzersynchronisierung vom Active Directory-Server aus durchführen. Active Directory-Gruppen und -Benutzer in bestimmten Gruppen werden in Ranger synchronisiert.

  1. Öffnen Sie Apache Ambari.
  2. Wählen Sie in der seitlichen Symbolleiste unter Services die Option Ranger aus.
  3. Wählen Sie Configs, Ranger User Info aus.
  4. Setzen Sie Benutzersynchronisierung aktivieren auf Ja.
  5. Wählen Sie im Dropdown-Menü Synchronisierungsquelle die Option LDAP/AD.
  6. Wählen Sie Allgemeine Konfigurationen aus.
    1. Geben Sie Folgendes ein:
      • LDAP/AD-URL: Geben Sie die LDAP/AD-URL ein.
      • Bind-Benutzer: Geben Sie die Bind-Benutzerinformationen ein. Beispiel: CN=Administrator,CN=Users,DC=<domain_controller>,DC=COM.
      • Bind-Benutzerkennwort Geben Sie das Kennwort ein, und bestätigen Sie es.
    2. Setzen Sie die inkrementelle Synchronisierung auf True.
    3. Setzen Sie LDAP STARTTLS aktivieren auf Nein.
  7. Wählen Sie Benutzerkonfigurationen aus.
    1. Geben Sie je nach LDAP-Konfiguration Folgendes ein:
      • Benutzernameattribut: Geben Sie das LDAP-Benutzernamenattribut ein. Zum Beispiel, sAMAccountName.
      • Benutzerobjektklasse: Geben Sie den Benutzernamen der Objektklasse ein.
      • Benutzersuchbasis: Geben Sie den Distinguished Name (DN) an, in dem die Suche nach Benutzeraccounts beginnen soll. Der DN gibt den Ausgangspunkt in der LDAP-Hierarchie für Ranger UserSync an, um Benutzer zu suchen.

        Beispiele::

        • Für eine einzige Organisationseinheit (OU):

          Wenn die Ziel-OE unter der Domain example.com ParentOU lautet:
          • OU=ParentOU,DC=example,DC=com
        • Für eine verschachtelte OU-Hierarchie:

          Wenn die Ziel-OE unter ParentOU in der Domain example.com ChildOU lautet:
          • OU=ChildOU,OU=ParentOU,DC=example,DC=com
        • Mehrere OUs:

          Um mehrere OUs zu durchsuchen, trennen Sie sie durch ein Semikolon (;):
          • OU=ParentOU1,DC=example,DC=com;OU=ParentOU2,DC=example,DC=com
      • Benutzersuchfilter: Geben Sie Suchfilter ein. Dies ist der standardmäßige LDAP-Filterausdruck. Sie können angeben, dass Benutzer in einer bestimmten Gruppe gefiltert werden sollen. Siehe LDAP-Filtersyntax. Dieses Feld kann leer bleiben.
      • Geltungsbereich für Benutzersuche: Geben Sie Unter ein.
      • Attribut des Benutzergruppennamens: Geben Sie Attribute für den Gruppennamen ein. Beispiel: memberof,ismemberof.
    2. Setzen Sie Synchronisierung der Gruppenbenutzerzuordnung auf True.
    3. Setzen Sie Benutzersuche aktivieren auf Ja.
  8. Um die Gruppe zu synchronisieren, wählen Sie Gruppenkonfigurationen aus.
    1. Setzen Sie Gruppensynchronisierung aktivieren auf Ja. Wenn Sie die Gruppe nicht synchronisieren möchten, wählen Sie Nein aus, und fahren Sie mit dem folgenden Schritt fort.
    2. Geben Sie Folgendes ein:
      • Gruppenmitgliedsattribut: Geben Sie die LDAP-Gruppenmitgliedsattribute ein. Beispiel: Element.
      • Attribut des Gruppennamens: Geben Sie die Attribute des Gruppennamens ein. Beispiel: cn.
      • Gruppenobjektklasse: Geben Sie die Gruppenobjektklasse ein. Beispiel: group.
      • Gruppensuchbasis: Geben Sie den vollständigen Domainnamen des Containers ein, in dem sich Ihre Gruppe befindet.

        Dieser Text entspricht dem Feld Benutzersuchbasis auf der Registerkarte Benutzerkonfigurationen.

      • Gruppensuchfilter: Geben Sie Active Directory-Gruppensuchfilter ein. Beispiel: (|(CN=group1)(CN=group2)(CN=*admin))
        Hinweis

        Dieser Filter ist der Standard-LDAP-Filterausdruck. Siehe LDAP-Filtersyntax.
    3. Setzen Sie die Option Gruppensuche zuerst aktivieren auf Ja.
    4. Setzen Sie die Option Verschachtelte Gruppen synchronisieren auf Ja.
  9. Um die Konfiguration zu speichern und den Ranger User Sync-Service neu zu starten, wählen Sie Speichern.
  10. Warten Sie, bis der Ranger User Sync-Service ohne Fehler hochgefahren und gestartet ist.

Active Directory-Authentifizierung für Ranger konfigurieren

  1. Öffnen Sie Apache Ambari.
  2. Wählen Sie in der seitlichen Symbolleiste unter Services die Option Ranger aus.
  3. Wählen Sie Konfigurationen, Erweitert aus.
  4. Wählen Sie Ranger-Einstellungen aus.
  5. Wählen Sie ACTIVE_DIRECTORY als Authentifizierungsmethode aus.
  6. AD-Einstellungen eingeben:
    • AD-URL: Geben Sie die Active Directory-URL ein
    • AD-Bind-DN: Geben Sie den Active Directory-DN ein
    • AD Bind-Kennwort: Geben Sie das Active Directory-Bind-Kennwort ein, und bestätigen Sie es. Beispiel: <AD_BIND_USER_PWD>
    • AD-Basis-DN: Geben Sie den Active Directory-Domänennamen ein. Beispiel: <AD_SEARCH_BASE>
    • AD-Empfehlung: Wählen Sie Ignorieren aus
    • AD-Benutzersuchfilter: Geben Sie das Active Directory-Benutzernamensattribut ein. Zum Beispiel (sAMAccountName={0})
  7. Um die Konfiguration zu speichern und den Ranger-Admin-Service neu zu starten, wählen Sie Speichern.
  8. Warten Sie, bis der Ranger-Admin-Service ohne Fehler hochgefahren und gestartet ist.
  9. Konfiguration validieren:
    1. Melden Sie sich mit den Admin-Zugangsdaten des Clusters bei Ranger an.
    2. Wählen Sie eine beliebige Service-Policy aus. In der Spalte Benutzer auswählen werden die Active Directory-Benutzer aufgeführt, auf die Autorisierungs-Policys angewendet werden können. Wenn in der Dropdown-Liste "Benutzer" nur ein begrenztes Set von Active Directory-Benutzern angezeigt wird, wird auf Dropdown der Benutzeroberfläche "Ranger" listet nicht alle synchronisierten Benutzer auf verwiesen.
    3. Melden Sie sich beim Clusterknoten an, und führen Sie Folgendes aus:
      kinit <user>@<ad-realm>
                                          
    4. Prüfen Sie, ob das Ticket für den Active Directory-Benutzer erteilt wurde. Ausführen:
      klist

      Beispielausgabe:

      Ticket cache: FILE:/tmp/krb5cc_1000
      Default principal: <user>@<ad-realm>
      Valid starting       Expires              Service principal
      09/01/2021 20:44:07  09/02/2021 06:44:07  krbtgt/<ad-realm>@<ad-realm>
      renew until 09/08/2021 20:44:04
    5. Gehen Sie zum Hadoop-Service, und prüfen Sie, ob Sie auf Ressourcen zugreifen können.