Mit OIDC authentifizieren

OIDC-Authentifizierung aktivieren

Hinweis: Zur Authentifizierung des Verwaltungszentrums und des Admin API-Servers für die Produktionsumgebung ist eine Authentifizierung erforderlich.

In diesem Abschnitt aktivieren Sie die Authentifizierung beim Management Center über die Wahl des OIDC-Anbieters. Wenn Sie noch keinen OIDC-Anbieter haben, folgen Sie der Anleitung unter Mit Keycloak authentifizieren, um einen OIDC-Anbieter zu installieren.

Für die Einrichtung benötigen Sie Folgendes:

  1. Den Domainnamen für den Zugriff auf das Management Center, der in der Regel vom Infrastrukturbetreiber bereitgestellt wird, z. B. „anthos.example.com“.
  2. Einen OIDC-Anbieter wie Microsoft Active Directory Federation Services (ADFS), Google SSO oder Keycloak. Sowohl der Cluster als auch Ihr Browser sollten eine Verbindung zum OIDC-Anbieter herstellen können. Der OIDC-Anbieter muss nicht in der Lage sein, eine direkte Verbindung zum Cluster herzustellen.

Identitätsprofile erstellen

Identitätsprofile enthalten die Konfiguration, die zur Verwendung eines Identitätsanbieters für die Authentifizierung erforderlich ist. Um ein Identitätsprofil zu erstellen, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie im Management Center den Tab "Identität und Zugriff".

  2. Klicken Sie auf dem Tab Identität auf Anthos Identity Service (OIDC) einrichten.

    OIDC-Seite

  3. Weisen Sie im Feld Profilname einen nutzerfreundlichen Profilnamen zu. Das ist der Name, mit dem auf das Profil verwiesen wird.

  4. Geben Sie die URL des OIDC-Anbieters, die Client-ID und den Clientschlüssel Ihres OIDC-Anbieters ein.

  5. Geben Sie im Feld Nutzernamenanforderung einen Nutzernamen ein. Die Nutzernamenanforderung ist die Anforderung im OIDC-Token, die den Nutzernamen enthält. Wenn die Nutzernamenanforderung beispielsweise email lautet, werden die Nutzer durch das Nutzerfeld im OIDC-Token identifiziert.

    Achten Sie beim Festlegen dieser Anforderung darauf, dass die Anforderung in den angeforderten Bereichen vorhanden ist.

  6. Geben Sie im Feld Nutzernamenpräfix einen Wert ein. Das Nutzernamenpräfix wird verwendet, um zwischen Nutzern verschiedener Identitätsanbieter zu unterscheiden. Das Nutzerpräfix muss auch enthalten sein, wenn Sie Nutzern RBAC-Berechtigungen zuweisen.

    Wenn beispielsweise die Nutzernamenanforderung email und das Nutzerpräfix prefix- lautet, werden Nutzer als prefix-sally@example.com identifiziert. Der Nutzer ist sally@example.com und das Präfix prefix- wird dem Nutzer vorangestellt, um zwischen verschiedenen Identitätsanbietern zu unterscheiden.

  7. Geben Sie im Feld Gruppenanforderung einen Wert ein. Im privaten Anthos-Modus lautet die Standardeinstellung groups. Weitere Informationen zu Bindungsgruppen zu Rollen finden Sie im Abschnitt Rollenbindungen.

  8. Geben Sie im Feld Gruppenpräfix einen Wert ein. Mit dem Gruppenpräfix wird zwischen Gruppen verschiedener Identitätsanbieter unterschieden. Das Gruppenpräfix muss auch enthalten sein, wenn Sie Gruppen RBAC-Berechtigungen zuweisen.

    Wenn die Gruppenanforderung beispielsweise groups und das Gruppenpräfix groupprefix- lautet, werden Gruppen als groupprefix-group identifiziert. Die Gruppe ist group und das Präfix groupprefix- wird der Gruppe vorangestellt.

  9. (Optional) Geben Sie in das Feld Bereiche einen Wert ein, wenn die Bereiche nicht openid email profile lauten.

    Bereiche sind die Kennungen, die angeben, welche Zugriffsberechtigungen im ID-Token angefordert werden:

    • openid ist für OIDC erforderlich.
    • profile enthält die standardmäßigen profile-Anforderungen des Nutzers.
    • email enthält im Allgemeinen die Anforderungen email und email_verified.
  10. (Optional) Geben Sie in das Feld Zusätzliche Parameter einen Wert ein, wenn zusätzliche Parameter an den OpenID-Anbieter gesendet werden müssen.

    Für das Feld Zusätzliche Parameter kann beispielsweise prompt=consent,access_type=offline festgelegt werden, um vor jedem Autorisieren der Zugriffsbereiche einen Zustimmungsbildschirm einzublenden.

  11. Wenn die HTTPS-Verbindung zur Seite /.well-known/openid-configuration und/oder die JWKS-Seite Ihres OIDC-Anbieters durch ein nicht vertrauenswürdiges Zertifikat (z. B. durch ein selbst signiertes Zertifikat) geschützt sind, müssen Sie in das Feld OIDC-Anbieterzertifikat das HTTPS-Zertifikat Ihres OIDC-Anbieters eingeben.

    • Codieren Sie das PEM-codierte Zertifikat für den OIDC-Anbieter in base64. Codieren Sie das Zertifikat, einschließlich der Header, in base64, um den String zu erstellen. Fügen Sie den resultierenden String als eine Zeile ein.

    • Beispiel: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==

    • Ein Beispiel zum Festlegen dieses Felds finden Sie unter Mit Keycloak authentifizieren.

  12. Klicken Sie auf Senden und wechseln Sie zum Tab Identität und Zugriff zurück.

  13. Registrieren Sie die Callback-URL beim OIDC-Anbieter.

Wenn Sie zusätzliche Identitätsprofile erstellen möchten, klicken Sie auf dem Tab „Identitätsprofil“ auf Hinzufügen.

Identitätsprofile auf den Administratorcluster anwenden

Identitätsprofile müssen, nachdem sie erstellt wurden, auf Cluster angewendet werden.

OIDC-Profilseite

  1. Klicken Sie auf Profile auf Cluster anwenden.

    Profil auf Administratorcluster anwenden

  2. Wählen Sie den Tab Administratorcluster aus. Wählen Sie in der Drop-down-Liste „Profil“ den Profilnamen für das zuvor erstellte Profil aus. Sie können mehrere Profile auf den Cluster anwenden.

  3. Prüfen Sie den Domainnamen für das Profil. Dies ist der Domainname, der dem Profil des Identitätsanbieters zugeordnet ist. Nicht authentifizierte Nutzer, die auf Pfade in der Domain zugreifen möchten, werden zur Anmeldung mit diesem Identitätsanbieter weitergeleitet. Dieser Domainname sollte vom Infrastrukturbetreiber zugewiesen werden.

    Jedem Profil muss ein anderer Domainname zugewiesen werden, wenn mehrere Profile gleichzeitig angewendet werden sollen.

  4. Geben Sie einen anfänglichen Nutzernamen ein, dem Zugriffsrechte des Plattformadministrators erteilt werden (z. B. alice@example.com, bob@example.com). Dem Nutzernamen muss das im Profil festgelegte Nutzerpräfix vorangestellt werden. Wenn das Präfix beispielsweise prefix- lautet, muss der Nutzername im Feld Anfänglicher Plattformadministrator so aussehen: prefix-alice@example.com. Weitere Informationen zu Plattformadministratoren und zur Autorisierung finden Sie im Abschnitt Autorisierungsrollen.

  5. Wenden Sie die Einstellungen an und warten Sie einige Minuten, bis die Konfigurationen angewendet wurden und die Dienste neu gestartet wurden.

Das Management Center des privaten Athos-Modus kann jetzt über Ihren Domainnamen aufgerufen werden. Wenn Sie nicht angemeldet sind, werden Sie zur Anmeldung an Ihren OIDC-Anbieter weitergeleitet.

Hinweise:

  • Nur Nutzer, die im Feld "Initial Platform Admins" angegeben sind, können anfangs auf das Web Management Center zugreifen. Informationen dazu, wie Sie weiteren Nutzern Berechtigungen erteilen können, finden Sie im Abschnitt Autorisierungsrollen konfigurieren.

Mit Föderationsidentitäten beim Kubernetes Engine API-Server anmelden

Nutzer können kubectl-anthos-config.yaml von der Seite „Identität und Zugriff“ herunterladen, nachdem OIDC eingerichtet wurde.

Konfigurationsdetails aufrufen

  1. Wechseln Sie auf der Seite „Identität und Zugriff“ zum Tab Cluster.

  2. Suchen Sie nach dem Cluster mit dem Namen „admin“ für den Administratorcluster und klicken Sie auf Konfigurationsdetails aufrufen.

    Schaltfläche zum Herunterladen der IIS-Konfiguration

  3. Klicken Sie auf Anmeldekonfiguration herunterladen, um die Konfiguration herunterzuladen, die für die Anmeldung mit Identität beim Kubernetes API-Server des Administratorclusters benötigt wird.

WICHTIG: Nach der Einrichtung von OIDC sollte ${ADMIN_KUBECONFIG} nur in Ausnahmefällen verwendet werden. Mit anderen Worten: Bitten Sie alle Nutzer, einschließlich der Administratoren, sich in ihrem eigenen Konto anzumelden, um Vorgänge zur Aufbewahrung von Audit-Logs mit Nutzernamen durchzuführen, da ${ADMIN_KUBECONFIG} Nutzer als anonym authentifiziert cluster-admin im Administratorcluster.

WICHTIG: Die Ausgabedatei kubectl-anthos-config.yaml enthält die Konfiguration, die Nutzer für die Authentifizierung beim Administratorcluster benötigen. Geben Sie kubectl-anthos-config.yaml für vertrauenswürdige Nutzer frei, die Zugriff auf den Cluster haben sollen.

Nach Erhalt von kubectl-anthos-config.yaml können sich Nutzer mit dem Befehl actl auth login anmelden. Bei erfolgreicher Anmeldung über einen Browser wird ein kubeconfig generiert. Nutzer können diese neue Datei mit ihren föderierten Anmeldedaten für den Cluster verwenden:

# Where to store the new kubeconfig
export ADMIN_OIDC_KUBECONFIG=$(pwd)/admin-oidc-kubeconfig

actl auth login --login-config=kubectl-anthos-config.yaml --cluster=admin \
  --kubeconfig=${ADMIN_OIDC_KUBECONFIG}

Nutzer können jetzt ${ADMIN_OIDC_KUBECONFIG} für den Zugriff auf Ressourcen im Administrator-Cluster verwenden. Beispiel:

kubectl get pods -n anthos-management-center --kubeconfig=${ADMIN_OIDC_KUBECONFIG}

WICHTIG: Geben Sie ADMIN_OIDC_KUBECONFIG NICHT an Dritte weiter, da sie Anmeldedaten enthält.

${ADMIN_OIDC_KUBECONFIG} kann auch verwendet werden, um actl-CLI-Befehle zu authentifizieren. Beispiel:

actl platform management-center describe --kubeconfig=${ADMIN_OIDC_KUBECONFIG}

Authentifizierungskonfiguration zurücksetzen

Sollte der Plattformadministrator aufgrund eines Fehlers in den Authentifizierungseinstellungen den Zugriff auf das Management Center verlieren, führen Sie den folgenden Befehl aus, um die OIDC-Authentifizierung auf die ursprüngliche Einrichtung zurückzusetzen und die neue Zugriffs-URL zum Management Center abzurufen.

WICHTIG: Dadurch werden OIDC-Einstellungen gelöscht und können nicht wiederhergestellt werden.

actl auth reset --kubeconfig=${ADMIN_KUBECONFIG}

# Get the new access URL to management center.
actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}