Authentifizierung und Autorisierung für Active Directory-Benutzer konfigurieren

Richten Sie Oracle Cloud Infrastructure Identity and Access Management ein, konfigurieren Sie die Active Directory-(AD-)Authentifizierung und -Autorisierung, konfigurieren Sie den NFS-Export, und richten Sie Unix-Berechtigungen ein.

Oracle Cloud Infrastructure Identity and Access Management-Policys einrichten

Erstellen Sie eine dynamische Gruppe in Oracle Cloud Infrastructure (OCI) Identity and Access Management, und fügen Sie Policys hinzu, damit die Mountziele Zugriff auf die LDAP- und Kerberos-Secrets haben. Dies ist sowohl für Kerberos- als auch für LDAP-Konfigurationen erforderlich.

  1. Melden Sie sich bei OCI an.
  2. Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit.
  3. Klicken Sie auf Dynamische Gruppen.
  4. Klicken Sie auf Dynamische Gruppe erstellen, und geben Sie Name und Beschreibung ein.
    Der Name muss in allen Gruppen in Ihrem Mandanten eindeutig sein (dynamische Gruppen und Benutzergruppen). Sie können den Namen später nicht ändern. Geben Sie dabei keine vertraulichen Informationen ein.
    In diesem Beispiel wird die Gruppe ad-kerberos-mt-group für alle Mountziele im Compartment ad-kerberos verwendet.
  5. Geben Sie die Abgleichsregeln ein, um die Mitglieder der Gruppe zu definieren.
    Beispiel:
    ALL { resource.type='mounttarget', resource.compartment.id = '<mount_target_compartment_ocid>' }
  6. Klicken Sie auf Create.
  7. Öffnen Sie das Navigationsmenü, und klicken Sie auf Identität und Sicherheit. Klicken Sie unter Identität auf Policys.
  8. Klicken Sie auf Policy erstellen.
  9. Geben Sie Name, Beschreibung und das Compartment für die neue Policy ein.
    Der Name muss in allen Policys in Ihrem Mandanten eindeutig sein. Änderungen sind später nicht möglich. Geben Sie dabei keine vertraulichen Informationen ein.
  10. Mit Policy Builder können Sie eine Policy erstellen, um Mountzielzugriff auf Secrets im Compartment zuzulassen.
    In diesem Beispiel wird die Gruppe ad-kerberos-mt-group für alle Mountziele im Compartment ad-kerberos verwendet.
    allow dynamic-group ad-kerberos-mt-group to read secret-family in compartment ad-kerberos
  11. Klicken Sie auf Create.

Konfigurieren der Active Directory-Authentifizierung mit Kerberos

Nachdem Sie Oracle Cloud Infrastructure Identity and Access Management konfiguriert haben, konfigurieren Sie Active Directory. Die Konfiguration von Kerberos umfasst zwei Schritte: Verknüpfen Sie das Mountziel mit dem Active Directory von Microsoft, und aktualisieren Sie dann die Mountzieleinstellungen mit der Kerberos-Konfiguration.

Mountziel mit Active Directory verknüpfen

Führen Sie diese Aufgabe aus, wenn die Authentifizierung für Active Directory-Benutzer erforderlich ist. Dies ist ein manueller Prozess, der außerhalb des Oracle Cloud Infrastructure File Storage-Service ausgeführt wird. Das Verknüpfen des Mountziels mit Active Directory von Microsoft umfasst das Hinzufügen eines Computerkontos zu Active Directory, das Einrichten der richtigen Cipher, das Extrahieren der Schlüsseltabelle und das Hinzufügen des Mountziels zum DNS.

  1. Erstellen Sie ein Computerkonto für das Mountziel (MT) im Active Directory.
    Sie können das Konto über die Befehlszeile erstellen oder mit dem Snap-In Active Directory Users and Computers ein neues Computerkonto erstellen.
    Command-Line
    C:\Users\administrator>djoin /provision /domain fss-ad.com /machine fss-mt-ad-1 /savefile offlinedomainjoin.txt
    Provisioning the computer...
    Successfully provisioned [fss-mt-ad-1] in the domain [fss-ad.com].
    …
    The operation completed successfully.
    Active Directory Users and Computers
    1. Gehen Sie zum Verzeichnis Active Directory Users and Computers, blenden Sie fs-ad.com ein, und wählen Sie Computers aus.
    2. Klicken Sie auf Neu und dann auf Computer.
    3. Fügen Sie fss-mt-ad-1 hinzu.

      Danach wird FSS-MT-AD-1 im Snap-In Active Directory Users and Computers unter dem Baum Computers angezeigt.

  2. Erstellen Sie eine Schlüsseltabelle mit ktpass.exe.

    Hinweis:

    Sie müssen die Eingabeaufforderung als Administrator öffnen, um ktpass.exe auszuführen. Sonst verläuft er nicht erfolgreich. AES256-SHA1 ist die aes256-cts-hmac-sha1-96.
    C:\>ktpass -princ nfs/fss-mt-ad-1.fss-ad.com@FSS-AD.COM -mapuser FSS-AD\fss-mt-ad-1 -crypto AES256-SHA1 +rndpass -ptype KRB5_NT_SRV_HST  -out fss-mt-ad-1.keytab
    Targeting domain controller: ad-server.fss-ad.com
    Successfully mapped nfs/fss-mt-ad-1.fss-ad.com to FSS-MT-AD-1$.
    WARNING: Account FSS-MT-AD-1$ is not a user account (uacflags=0x1001).
    WARNING: Resetting FSS-MT-AD-1$'s password may cause authentication problems if FSS-MT-AD-1$ is being used as a server.
    
    Reset AD-FSS-MT-2$'s password [y/n]?  y
    Password successfully set!
    Key created.
    Output keytab to fss-mt-ad-1.keytab:
    Keytab version: 0x502
    keysize 88 nfs/fss-mt-ad-1.fss-ad.com@FSS-AD.COM ptype 3 (KRB5_NT_SRV_HST) vno 2 etype 0x12 (AES256-SHA1) keylength 32
    
  3. Konvertieren Sie die Schlüsseltabelle in base64, um sie bei der Konfiguration von Kerberos auf dem Mountziel mit der Schlüsseltabelle zu verwenden.
    C:\>certutil.exe -encode fss-mt-ad-1.keytab keytab.txt
    Input Length = 94
    Output Length = 188
    CertUtil: -encode command completed successfully.
    
    C:\>notepad keytab.txt
    1. Öffnen Sie die Datei keytab.txt in einem Notizblock.
    2. Entfernen Sie die Zeilen BEGIN und END CERTIFICATE.
    3. Kopieren Sie den Text base64 in eine durchgehende lange Zeile ohne Leerzeichen in einer einzelnen Zeile.
      Sie benötigen den Text base64, wenn Sie die Secrets für das Mountziel für Kerberos später konfigurieren.
  4. Ändern Sie das Mountzielattribut (MT) im Active Directory, um sicherere Cipher zu verwenden. Suchen Sie das MT-Konto, und ändern Sie den Attributwert msDS-SupportedEncryptionTypes für aes256-cts-hmac-sha1-96 in 24.
    Active Directory stellt Tickets standardmäßig mit der RC4-Cipher bereit. Wenn das Attribut msDS-SupportedEncryptionTypes nicht vorhanden ist, erstellen Sie eines, und legen Sie die Werte fest.
  5. Öffnen Sie den DNS-Manager, und blenden Sie den DNS-Serverbaum ein.
  6. Fügen Sie die Forward Lookup-Zonen für das Mountziel hinzu. Geben Sie die IP-Adresse ein, wählen Sie Zugeordneten Zeigerdatensatz erstellen aus, und klicken Sie auf Host hinzufügen.

Mountziel für Kerberos konfigurieren

Erstellen Sie ein Secret für die Schlüsseltabelle. Der Secret-Inhalt ist die codierte Schlüsseltabelle base64, die Sie kopiert haben, als Sie dem Mountziel mit dem Active Directory beigetreten sind.

Im Folgenden werden die grundlegenden Schritte zur Konfiguration des Mountziels für Kerberos aufgeführt:

  • Mountziel mit Active Directory verknüpfen (vorheriger Schritt).
  • Keytab Vault Secrets konfigurieren
  • Kerberos auf dem Mountziel konfigurieren
  1. Gehen Sie zur Oracle Cloud Infrastructure (OCI)-Konsole, und öffnen Sie das Navigationsmenü.
  2. Klicken Sie auf Identität und Sicherheit und dann auf Vault.
  3. Wählen Sie unter Listengeltungsbereich das Compartment aus, in dem Sie ein Secret erstellen möchten.
    In diesem Beispiel wird das Compartment ad-kerberos verwendet.
  4. Klicken Sie unter Ressourcen auf Secrets und dann auf Secret erstellen.
  5. Geben Sie im Bereich Secret erstellen die folgenden Informationen ein:
    Geben Sie dabei keine vertraulichen Informationen ein.
    1. Name: Geben Sie einen Namen ein, um das Secret zu identifizieren. Beispiel: fss-mt-ad-1-keytab-secret.
    2. Beschreibung: Geben Sie eine kurze Beschreibung des Secret ein, um es leichter identifizieren zu können. Beispiel: Keytab für fss-mt-ad-1.
    3. Verschlüsselungsschlüssel: Wählen Sie den Master-Verschlüsselungsschlüssel aus, mit dem Sie die Secret-Inhalte beim Import in den Vault verschlüsseln möchten. Beispiel: mount-target-secrets.
      Der Schlüssel muss zu demselben Vault gehören. Der Schlüssel muss auch ein symmetrischer Schlüssel sein. Sie können Vault-Secrets nicht mit asymmetrischen Schlüsseln verschlüsseln.
    4. Secret-Typvorlage: Base64.
    5. Secret-Inhalte: Geben Sie die Inhalte des Secrets ein.
      Dies ist die codierte Schlüsseltabelle base64, die Sie zuvor gespeichert haben, als Sie die Schlüsseltabelle im Rahmen der Verknüpfung des Mountziels mit dem Active Directory in base64 konvertiert haben.
  6. Klicken Sie auf Secret erstellen.
  7. Gehen Sie zur Registerkarte "NFS" für das Mountziel.
    1. Klicken Sie im Navigationsmenü auf Speicher.
    2. Klicken Sie unter "Dateispeicher" auf Mountziele.
    3. Wählen Sie im Bereich "Liste" unter "Compartment" ein Compartment aus.
      Beispiel: ad-kerberos.
    4. Suchen Sie das Mountziel, und klicken Sie dann auf die Registerkarte NFS.
  8. Klicken Sie auf der Registerkarte NFS neben Kerberos auf Verwalten.
  9. Wählen Sie das Keytab Secret und die Version aus, klicken Sie auf Schlüsseltabelle validieren, zeigen Sie die Ergebnisse an, und speichern Sie. Wählen Sie Kerberos aktivieren aus.
    In diesem Beispiel lautet das Keytab Secret im Compartment ad-kerberos fss-mt-ad-1-keytab-secret, und die Aktuelle Secret-Version der Keytab lautet 1.

NFS-Export mit Kerberos mounten

Kerberos NFS unterstützt die folgenden drei Sicherheitsmechanismen.

  • krb5: Kerberos nur zur Authentifizierung.
  • krb5i: Authentifiziert und verwendet kryptografische Hashes mit jeder Transaktion, um die Integrität sicherzustellen. Der Verkehr kann noch abgefangen und untersucht werden, Änderungen am Verkehr sind jedoch nicht möglich.
  • krb5p: Authentifiziert und verschlüsselt den gesamten Datenverkehr zwischen Client und Server. Der Traffic kann nicht geprüft und nicht geändert werden.
C:\Users\fss-user-1>mount -o sec=krb5 fss-mt-ad-1.fss-ad.com:/krb-fs-1 T:
T: is now successfully connected to fss-mt-ad-1.fss-ad.com:/krb-fs-1

The command completed successfully.
Wenn beim Mounten kein Sicherheitsgeschmack (sys, krb5, krb5i und krb5p) angegeben wird, wählt Windows den überlegenen Sicherheitsgeschmack für den Export. Verwenden Sie den Befehl mount, um zu prüfen, welches Flavor Windows beim Einhängen des Laufwerks ausgewählt wurde.
C:\Users\fss-user-1>mount

Local    Remote                                 Properties
-------------------------------------------------------------------------------
T:       \\fss-mt-ad-1.fss-ad.com\krb-fs-1      UID=0, GID=0
                                                rsize=1048576, wsize=1048576
                                                mount=soft, timeout=0.8
                                                retry=1, locking=yes
                                                fileaccess=755, lang=ANSI
                                                casesensitive=no
                                                sec=krb5


C:\Users\fss-user-1>whoami
fss-ad\fss-user-1

Sie können jetzt über Windows Explorer auf das Laufwerk zugreifen. Beachten Sie, dass die Laufwerkszuordnungen pro Benutzer ausgeführt werden und jeder Benutzer, der auf die OCI File Storage-Freigabe zugreift, die Freigabe dem jeweiligen Laufwerksbuchstaben zuordnen muss.

Active Directory-Autorisierung für LDAP konfigurieren

Führen Sie diese Aufgabe aus, wenn für Active Directory-Benutzer eine LDAP-Autorisierung erforderlich ist. Erfassen Sie die erforderlichen Informationen aus dem Active Directory, legen Sie die Attribute RFC2307 für alle Benutzer und Gruppen fest, die auf File Storage zugreifen, und konfigurieren Sie LDAP auf dem Mountziel.

Zur Konfiguration der Active Directory-Autorisierung für LDAP sind die folgenden grundlegenden Schritte erforderlich:

  • Rufen Sie die LDAP-Konfigurationsdetails aus Active Directory ab.
  • LDAP-Bind-Benutzer-Secret konfigurieren.
  • Erstellen Sie einen ausgehenden Connector.
  • Konfigurieren Sie LDAP auf dem Mountziel.

Hinweis:

Das Mountziel kann kein selbstsigniertes LDAP-Zertifikat verwenden.
  1. Rufen Sie die Systeme ab, die LDAP von DNS hosten, und speichern Sie es für einen späteren Schritt.
    In diesem Beispiel ist das System fss-ad.com.
    C:\Users\administrator>nslookup -type=srv _ldap._tcp.fss-ad.com
    Server:  localhost
    Address:  ::1
    _ldap._tcp.fss-ad.com   SRV service location:
              priority       = 0
              weight         = 100
              port           = 389
              svr hostname   = ad-server.fss-ad.com
        ad-server.fss-ad.com    internet address = 10.9.1.194
  2. Suchen Sie in Active Directory die Attributsuchbasis distinguishedName (DN) für Benutzer und Gruppen.
    1. Wechseln Sie zum Verzeichnis Active Directory Users and Computers, und blenden Sie fs-ad.com ein.
    2. Klicken Sie auf Benutzer.
  3. Rufen Sie den LDAP Bind-Benutzer-DN ab.

    Hinweis:

    Bei diesem Benutzer kann es sich um einen Benutzer mit den geringsten Berechtigungen mit Verzeichnissuchfunktionen handeln. Das Kennwort für diesen Benutzer ist auch später erforderlich, um ausgehenden Connector zu konfigurieren.
    1. Wählen Sie ldap-user aus.
    2. Klicken Sie auf die Registerkarte Attributeditor.
    3. Wählen Sie das Attribut distinguishedName aus.
    4. Kopieren Sie den Wert, und speichern Sie ihn für einen späteren Schritt.
  4. Prüfen Sie die Attribute RFC2307 für alle Benutzer und Gruppen, die auf OCI File Storage zugreifen.
    Anweisungen und die Attributtabelle RFC2307 finden Sie unter "RFC2307 Attributes in Active Directory konfigurieren".
  5. Erstellen Sie ein Secret für den LDAP-Bind-Benutzer, der in Schritt 3 oben ermittelt wurde.
    Das Secret enthält das Kennwort für den LDAP-Benutzer zum Binden. Das Format muss nur Text sein.
  6. Konfigurieren Sie einen ausgehenden Connector. Der ausgehende Connector ist auf der File Storage-Seite unter "Weitere Ressourcen" verfügbar. Erstellen Sie den ausgehenden Eintrag in derselben AD wie das Mountziel.
    1. Geben Sie den DNS-Namen ein.
      Beispiel: ad-server.fss.ad.com.
    2. Geben Sie den DSAPS-Port des LDAP-Service ein.
      Beispiel: 636.
    3. Geben Sie den Bind-DN ein.
      Dies ist der LDAP-Benutzer, der sich beim LDAP-Server anmeldet. Beispiel: CN=ldap-user,CN=Users, DC=fss-ad, DC=com.
    4. Wählen Sie den Vault im Compartment aus, in dem Ihre Secrets gespeichert werden.
      Beispiel: krb-vault im Compartment ad-kerberos.
    5. Wählen Sie das Secret im Compartment aus.
      Beispiel: fss-mt-ad-1-ldap-password im Compartment ad-kerberos.
    6. Wählen Sie die Secret-Version aus.
      Beispiel: 1.
    7. Klicken Sie auf Create.
  7. Konfigurieren Sie LDAP für das Mountziel.
    Sie verwenden den ausgehenden Connector aus dem vorherigen Schritt.
    1. Klicken Sie im Navigationsmenü auf Speicher. Klicken Sie unter "Dateispeicher" auf Mountziele.
    2. Wählen Sie ein Compartment aus.
      Beispiel: ad-kerberos.
    3. Suchen Sie das Mountziel, klicken Sie auf die Registerkarte NFS und dann auf LDAP verwalten.
    4. Geben Sie die Suchbasis in die Felder Suchbasis für Benutzer und Suchbasis für Gruppen ein.

      Hinweis:

      Die Suchbasis für Benutzer und Gruppe ist der DN, der von Active Directory-Benutzern und Gruppencontainern abgerufen wird.

      Beispiel: Suchbasis für Benutzer: CN=Benutzer,DC=fss-ad,DC=com und Suchbasis für Gruppen: CN=Benutzer,DC=fss-ad,DC=com.
    5. Geben Sie die Cacheintervalle ein, und wählen Sie dann den ausgehenden Connector aus, der im Feld Ausgehender Connector 1 erstellt wurde.
      In diesem Beispiel beträgt das Cacheaktualisierungsintervall, die Cachegültigkeitsdauer und die Negative Cachegültigkeitsdauer jeweils 300 Sekunden. Der LDAP-Account im ausgehenden Connector 1 lautet fss-ad-ob-1.
    6. Speichern Sie die Einstellungen.

NFS-Export konfigurieren

Konfigurieren Sie die Exporteinstellungen entsprechend den Autorisierungsanforderungen.

  • Wenn keine LDAP-Autorisierung erforderlich ist und alle authentifizierten Benutzer einer einzelnen UID/GID zugeordnet werden sollen, konfigurieren Sie die folgenden Einstellungen, um alle Benutzer zu komprimieren. Mit den Exportoptionen des NFS-Clients können Sie kontrollieren, wie Clients auf das Dateisystem zugreifen können. Bearbeiten Sie die folgenden Einstellungen, um alle Benutzer zu komprimieren.
    1. Anonymer Zugriff: Wählen Sie Nicht zulässig
    2. Squash: Wählen Sie Yes aus
    3. Squash-UID: Geben Sie 99 ein.
    4. Squash-GID: Geben Sie 99 ein
    Mit diesen Einstellungen erhalten alle authentifizierten Benutzer die Benutzer-ID 99 und die Gruppen-ID 99. Es wird keine LDAP-Suche durchgeführt.
  • Wenn Benutzer über LDAP autorisiert werden sollen, ordnen Sie Kerberos-Principals mit den NFS-Exportoptionen Unix-Benutzern zu.
    1. Anonymer Zugriff: Wählen Sie Zulässig aus
    2. Squash: Wählen Sie None (Keine) aus
    3. Squash-UID: Geben Sie 199 ein.
    4. Squash-GID: Geben Sie 199 ein
    Mit diesen Einstellungen werden alle Kerberos-Benutzer der Unix-Benutzer-ID, der Gruppen-ID und der Gruppenmitgliedschaft aus LDAP zugeordnet. Wenn der Benutzer nicht in LDAP vorhanden ist, wird eine anonyme Zuordnung verwendet, und der Benutzer wird der Unix-Benutzer-ID 199 und der Gruppen-ID 199 zugeordnet. Wenn der anonyme Zugriff deaktiviert ist und der Kerberos-Benutzer nicht in LDAP vorhanden ist, wird dem Benutzer, der auf die Freigabe zugreift, ein Fehler "Zugriff verweigert" angezeigt.

Unix-Berechtigung in Windows

Auf Oracle Cloud Infrastructure File Storage wird mit dem Protokoll NFSv3 zugegriffen. Die Autorisierung wird mit Unix-Berechtigungen ausgeführt.

Mit dem Tool ldp.exe können Sie die RFC2307-Attribute des Benutzers und der Gruppe abfragen, um UID-, GID- und Gruppenmitgliedschaften anzuzeigen. Die Unix-Berechtigungen werden auf Basis der in LDAP gespeicherten UID-, GID- und Gruppenmitgliedschaften geprüft.
Tool: ldp.exe
Search Base: CN=Users,DC=fss-ad,DC=com 
Filter: (&(objectClass=posixAccount)(uid=fss-user-1))
Attributes: uidNumber;gidNumber

Verwenden Sie Windows Explorer, um zu sehen, welcher Eigentümer und welche Gruppe Eigentümer der Datei oder des Ordners ist und welche Berechtigungen für die Datei oder den Ordner festgelegt sind. Sie können über die Eigenschaften von Dateien oder Ordnern auf NFS-Attribute (Unix-Attribute) zugreifen.

Obwohl die primäre Gruppe für den Benutzer fss-user-1 500 beträgt, berücksichtigt OCI File Storage alle Gruppen, bei denen der Benutzer Mitglied ist, zur Berechtigungsprüfung. Verwenden Sie die folgende Abfrage, um die Gruppenmitgliedschaft des Benutzers fss-user-1 zu suchen.
Tool: ldp.exe
Search Base: CN=Users,DC=fss-ad,DC=com 
Filter: (&(objectClass=posixGroup)(memberUid=fss-user-1))' gidNumber
Attributes: gidNumber

Erste Ordnerberechtigungen erstellen

Berücksichtigen Sie bei der Implementierung die Ordnerberechtigungen.

Eigentümer des OCI File Storage-Root-Verzeichnisses ist uid 0 und mit 755 (rwx für root, r-x für root und r-x für andere) Berechtigungen. Root-Zugriff ist erforderlich, um zusätzliche Ordner für Benutzer zu erstellen oder Berechtigungen zu ändern. Es ist eine Administratoraufgabe, anfängliche Berechtigungen zu erstellen und einzurichten, die den Anforderungen entsprechen.

Sie können eine der folgenden Methoden verwenden, um Admin-Zugriff auf das Dateisystem zu erhalten:

  • Alle Benutzer sind nur reguläre Benutzer, es sei denn, sie sind uidNumber 0 zugeordnet und Root wird nicht gequetscht. Ordnen Sie einen Admin-Benutzer in LDAP-Attributen des Benutzers uidNumber 0 zu.
  • Exportieren Sie das Dateisystem mit der SYS-Authentifizierung in eine sichere Linux-Workstation. Verwenden Sie den Benutzer root, um Berechtigungen zu erstellen und zu verwalten.