In diesem Leitfaden erfahren Sie, wie Sie die Workforce Identity-Föderation mit Okta als Identitätsanbieter konfigurieren, den Zugriff verwalten und Nutzer anmelden, um auf Google Cloud-Dienste zuzugreifen, die die Workforce Identity-Föderation unterstützen.
Hinweise
- Sie müssen eine Google Cloud-Organisation eingerichtet haben.
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
- Für die Anmeldung muss Ihr IdP signierte Authentifizierungsinformationen bereitstellen: OIDC-IdPs müssen ein JWT bereitstellen und SAML-IdP-Antworten müssen signiert sein.
- Wenn Sie wichtige Informationen zu Änderungen an Ihrer Organisation oder Ihren Google Cloud-Produkten erhalten möchten, müssen Sie Wichtige Kontakte angeben. Weitere Informationen finden Sie unter Workforce Identity Federation – Übersicht.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle IAM-Mitarbeiterpool-Administrator (roles/iam.workforcePoolAdmin
) für die Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Mitarbeiteridentitätsföderation benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Alternativ enthält die einfache Rolle „IAM-Inhaber“ (roles/owner
) auch Berechtigungen zum Konfigurieren der Workforce Identity-Föderation.
In einer Produktionsumgebung sollten Sie keine einfachen Rollen zuweisen, Sie können sie aber in einer Entwicklungs- oder Testumgebung gewähren.
Workforce Identity-Pool erstellen
Console
So erstellen Sie den Workforce Identity-Pool:
Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:
Klicken Sie auf Pool erstellen und gehen Sie so vor:
Geben Sie im Feld Name den Anzeigenamen des Pools ein. Die Pool-ID wird während der Eingabe automatisch aus dem Namen abgeleitet und im Feld Name angezeigt. Sie können die Pool-ID aktualisieren, indem Sie neben der Pool-ID auf Bearbeiten klicken.
Optional: Geben Sie unter Beschreibung eine Beschreibung des Pools ein.
Die Sitzungsdauer ist standardmäßig festgelegt. Klicken Sie auf Bearbeiten, um eine benutzerdefinierte Sitzungsdauer einzugeben. Die Sitzungsdauer bestimmt, wie lange die Google Cloud-Zugriffstokens, die Console-Anmeldesitzungen (föderiert) und die gcloud CLI-Anmeldungssitzungen aus diesem Workforce-Pool gültig sind. Die Dauer muss mehr als 15 Minuten (900s) und weniger als 12 Stunden (43.200s) betragen. Wenn keine Sitzungsdauer festgelegt ist, wird standardmäßig eine Dauer von einer Stunde (3.600 s) verwendet.
Damit der Pool im aktivierten Status erstellt werden kann, muss Aktivierter Pool aktiviert sein.
Klicken Sie zum Erstellen des Workforce Identity-Pools auf Weiter.
gcloud
Führen Sie folgenden Befehl aus, um den Workforce Identity-Pool zu erstellen:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
: Eine ID, die Sie wählen, um den Google Cloud-Workforce-pool darzustellen. Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.ORGANIZATION_ID
: die numerische Organisations-ID Ihrer Google Cloud-Organisation.DISPLAY_NAME
: Optional. Ein Anzeigename für Ihren Workforce Identity-Pool.DESCRIPTION
: Optional. Beschreibung des Workforce Identity-Pools.SESSION_DURATION
: Optional. Die Sitzungsdauer, die bestimmt, wie lange die Google Cloud-Zugriffstokens, die Console (föderiert)-Anmeldesitzungen und die gcloud CLI-Anmeldungssitzungen aus diesem Workforce-Pool gültig sind. Die Dauer muss mehr als 15 Minuten (900s) und weniger als 12 Stunden (43.200s) betragen. Wenn keine Sitzungsdauer festgelegt ist, wird standardmäßig eine Dauer von einer Stunde (3.600 s) verwendet.
Okta-App-Einbindung erstellen
In diesem Abschnitt werden die Schritte zum Erstellen einer Okta-App-Einbindung mithilfe der Okta Admin-Konsole beschrieben. Weitere Informationen finden Sie unter Benutzerdefinierte App-Integrationen erstellen.
Workforce Identity-Pools unterstützen die Föderation mit OIDC- und SAML-Protokollen.
Weitere Informationen finden Sie in Oktas Integrationsleitfaden zu OIDC und SAML. Die grundlegende Konfiguration wird in diesem Abschnitt beschrieben.
OIDC
Führen Sie folgende Schritte aus, um eine Okta-App-Einbindung zu erstellen, die das OIDC-Protokoll verwendet:
- Melden Sie sich bei der Okta Admin-Konsole an.
- Rufen Sie Anwendungen > Anwendungen auf.
So konfigurieren Sie die App-Einbindung:
- Klicken Sie auf App-Einbindung erstellen.
- Wählen Sie unter Anmeldemethode OIDC – OpenID Connect.
- Wählen Sie unter Anwendungstyp einen Anwendungstyp aus, z. B. Webanwendung.
- Klicken Sie auf Weiter, um die App zu erstellen.
- Geben Sie unter Name der App-Einbindung einen Namen für Ihre App ein.
- Markieren Sie im Abschnitt Grant-Typ das Kästchen Implizit (Hybrid).
Geben Sie im Abschnitt Anmeldung: Weiterleitungs-URIs eine Weiterleitungs-URL in das Textfeld ein. Ihre Nutzer werden nach der erfolgreichen Anmeldung zu dieser URL weitergeleitet. Wenn Sie den Zugriff auf die Console (föderiert) konfigurieren, müssen Sie das folgende URL-Format verwenden:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
ist die ID des Personalpools, den Sie zuvor in dieser Anleitung erstellt habenWORKFORCE_PROVIDER_ID
: die ID eines Mitarbeiteridentitäts-Anbieters Ihrer Wahl; Beispiel:okta-oidc-provider
. Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
Markieren Sie das Kästchen Gruppenzuweisung vorerst überspringen.
Klicken Sie auf Speichern, um die App-Verknüpfung zu speichern.
Optional: So fügen Sie benutzerdefinierte Attribute für ein Okta-Nutzerprofil hinzu:
- Wählen Sie unter Datentyp
string
aus. - Geben Sie unter Anzeigename
Department
ein. - Geben Sie unter Variablenname
department
ein. - Klicken Sie auf Speichern, um die Zuordnung zu speichern.
Weitere Informationen zum Hinzufügen benutzerdefinierter Attribute finden Sie im Hilfeartikel Okta-Nutzerprofilen benutzerdefinierte Attribute hinzufügen.
- Wählen Sie unter Datentyp
Optional: Wenn Sie Zuordnungen für die Attribute erstellen möchten, die im OIDC-Token gesendet werden, klicken Sie unter Verzeichnis auf Profileditor und führen Sie die folgenden Schritte aus:
- Suchen Sie die OIDC-Anwendung, die Sie zuvor in diesem Leitfaden erstellt haben.
- Klicken Sie auf Zuordnungen.
- Wählen Sie den Tab Okta-Nutzer an App aus.
- Geben Sie auf dem Tab Okta-Nutzerprofil in einem verfügbaren Drop-down-Menü
department
ein. Okta wird automatisch alsuser.department
abgeschlossen. - Klicken Sie auf Zuordnungen speichern, um die Zuordnungen zu speichern. Weitere Informationen finden Sie unter Attributzuordnung hinzufügen.
Weitere Informationen zu Zuordnungen finden Sie unter App-Attributen im Profileditor Okta-Attribute zuordnen.
Optional: So konfigurieren Sie eine Gruppenanforderung:
- Wenn Sie einen Organisationsautorisierungsserver verwenden, gehen Sie so vor:
- Rufen Sie Anwendungen > Anwendungen auf
- Wählen Sie die zuvor in diesem Abschnitt erstellte OpenID Connect-Clientanwendung.
- Rufen Sie den Tab Anmelden auf.
- Klicken Sie im Bereich OpenID Connect-ID-Token auf Bearbeiten.
- Wählen Sie im Bereich Anspruchstyp für Gruppen eine der folgenden Optionen aus:
- Wählen Sie Ausdruck.
- Wählen Sie Stimmt mit regulärem Ausdruck überein und geben Sie
.*
ein.
- Klicken Sie zum Speichern der Gruppenanforderung auf Speichern.
- Wenn Sie den Anbieter eines Mitarbeiteridentitätspools später in dieser Anleitung erstellen, fügen Sie
groups
als zusätzlichen Bereich hinzu, um die Gruppenanforderung von Okta für die Web-Einmalanmeldung anzufordern. Dieser Schritt ist nur erforderlich, wenn Sie den browserbasierten Anmeldeablauf in der Console (föderiert) oder in der gcloud CLI verwenden.
- Wenn Sie einen benutzerdefinierten Autorisierungsserver verwenden, gehen Sie so vor:
- Wählen Sie in der Admin-Konsole im Menü Sicherheit die Option API aus.
- Wählen Sie den benutzerdefinierten Autorisierungsserver aus, den Sie konfigurieren möchten.
- Klicke auf den Tab Anforderungen und dann auf Anspruch hinzufügen.
- Geben Sie einen Namen für den Anspruch ein. In diesem Beispiel nennen wir ihn
groups
. - Wählen Sie in Ihrer Anforderung unter In Tokentyp einschließen die Option ID-Token und dann Immer aus.
- Wählen Sie Gruppen als Werttyp aus.
- Wählen Sie im Drop-down-Menü "Filter" die Option stimmt mit regulärem Ausdruck überein aus und geben Sie dann den folgenden Ausdruck als Wert ein:
.*
- Klicken Sie auf Erstellen.
- Wenn Sie einen Organisationsautorisierungsserver verwenden, gehen Sie so vor:
Weitere Informationen zu Gruppenanforderungen finden Sie unter Gruppenanforderung hinzufügen.
SAML
Führen Sie folgende Schritte aus, um eine Okta-App-Einbindung zu erstellen, die das SAML-Protokoll verwendet:
- Melden Sie sich bei der Okta Admin-Konsole an.
- Rufen Sie Anwendungen > Anwendungen auf.
- Klicken Sie auf App-Einbindung erstellen.
- Wählen Sie unter Anmeldemethode die Option SAML 2.0 aus und klicken Sie auf Weiter.
- Geben Sie einen Namen für die App ein und klicken Sie auf Weiter, um mit den SAML konfigurieren-Optionen fortzufahren.
Geben Sie unter URL zur Einmalanmeldung eine Weiterleitungs-URL ein. Dies ist die URL, zu der Nutzer nach einer erfolgreichen Anmeldung weitergeleitet werden. Wenn Sie den Zugriff auf die Console (föderiert) konfigurieren, müssen Sie das folgende URL-Format verwenden:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Geben Sie den Zielgruppen-URI (
SP Entity ID
) ein. Die ID wird so formatiert:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
: die ID des Workforce Identity-Pools, den Sie zuvor in dieser Anleitung erstellt habenWORKFORCE_PROVIDER_ID
ist die ID eines Mitarbeiter-Identitätsanbieters Ihrer Wahl Beispiel:okta-saml-provider
Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
Optional: Verwenden Sie Attributaussagen, um benutzerdefinierte Attribute anzugeben, die Sie in der SAML-Assertion senden möchten. Nach der Einrichtung können diese Attribute in Google Cloud verwendet werden, um Richtlinien zur Zugriffsverwaltung zu erstellen, oder in der attribute_condition. In dieser Anleitung ordnen Sie die Abteilung beispielsweise so zu:
Name Wert department
user.department
Optional: Informationen dazu, wie Sie die Gruppenanforderungen hinzufügen, die später in diesem Leitfaden verwendet wird, finden Sie unter Gruppenmitgliedschaft eines Nutzers in einer SAML-Assertion übergeben.
Schließen Sie die Erstellung der Okta-App-Einbindung ab.
Workforce Identity-Anbieter erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen Anbieter von Workforce-Identitätspools erstellen, um Ihren IdP-Nutzern den Zugriff auf Google Cloud zu ermöglichen. Sie können den Anbieter so konfigurieren, dass er entweder das OIDC- oder das SAML-Protokoll verwendet.
OIDC-Anbieter von Mitarbeiteridentitätspools erstellen
So erstellen Sie einen Workforce Identity-Pool-Anbieter für Ihre Okta-App-Einbindung mit dem OIDC-Protokoll:
So rufen Sie die Client-ID für die Okta-App-Einbindung ab:
- Rufen Sie die Okta-App-Einbindung auf.
- Klicken Sie auf den Tab Allgemein.
- Kopieren Sie den Inhalt des Felds Client-ID.
So erstellen Sie einen OIDC-Anbieter von Mitarbeiteridentitätspools für die Webanmeldung:
Console
Codeablauf
Gehen Sie in Okta so vor:
Wählen Sie unter Clientauthentifizierung die Option Clientschlüssel aus.
Suchen Sie in der Tabelle Clientschlüssel das Secret und klicken Sie auf content_copy Kopieren.
So erstellen Sie in der Google Cloud Console einen OIDC-Anbieter, der den Autorisierungscode-Ablauf verwendet:
Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:
Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.
Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.
Wählen Sie unter Protokoll auswählen die Option Open ID Connect (OIDC) aus.
Gehen Sie unter Pool-Anbieter erstellen so vor:
- Geben Sie unter Name einen Namen für den Anbieter ein.
- Geben Sie unter Aussteller (URL) den URI des Ausstellers ein. Der OIDC-Aussteller-URI muss ein gültiges URI-Format haben und mit
https
beginnen. Beispiel:https://example.com/oidc
- Geben Sie die Client-ID ein. Dies ist die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der
aud
-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird. - Wenn Sie einen aktivierten Anbieter erstellen möchten, muss die Option Aktivierter Anbieter aktiviert sein.
- Klicken Sie auf Weiter.
Gehen Sie unter Antworttyp so vor: Der Antworttyp wird nur für eine webbasierte Einmalanmeldung verwendet.
- Wählen Sie unter Antworttyp die Option Code aus.
- Geben Sie unter Clientschlüssel den Clientschlüssel von Ihrem IdP ein.
Wählen Sie unter Verhalten bei Assertion-Anforderungen eine der folgenden Optionen aus:
- Nutzerinformationen und ID-Token
- Nur ID-Token
Klicken Sie auf Weiter.
Unter Anbieter konfigurieren können Sie eine Attributzuordnung und eine Attributbedingung konfigurieren. So erstellen Sie eine Attributzuordnung: Sie können entweder den Namen des IdP-Felds oder einen CEL-formatierten Ausdruck angeben, der einen String zurückgibt.
Erforderlich: Geben Sie in OIDC 1 den Betreff des IdP ein. Beispiel:
assertion.sub
Optional: So fügen Sie zusätzliche Attributzuordnungen hinzu:
- Klicken Sie auf Zuordnung hinzufügen.
- Geben Sie in Google n, wobei n eine Zahl ist, einen der von Google Cloud unterstützten Schlüssel ein.
- Geben Sie im entsprechenden Feld OIDC n den Namen des IdP-spezifischen Felds im CEL-Format ein.
So erstellen Sie eine Attributbedingung:
- Klicken Sie auf Bedingung hinzufügen.
- Geben Sie unter Attributbedingungen eine Bedingung im CEL-Format ein, z. B.
assertion.subject.endsWith('@example.com')
, wenn der zuvor zugeordneter Wert vonsubject
eine E-Mail-Adresse enthält, die mit@example.com
endet.
Klicken Sie auf Senden, um den Anbieter zu erstellen.
Impliziter Ablauf
Gehen Sie in der Google Cloud Console so vor:
Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:
Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.
Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.
Wählen Sie unter Protokoll auswählen die Option Open ID Connect (OIDC) aus.
Gehen Sie unter Pool-Anbieter erstellen so vor:
- Geben Sie unter Name einen Namen für den Anbieter ein.
- Geben Sie unter Aussteller (URL) den URI des Ausstellers ein. Der OIDC-Aussteller-URI muss ein gültiges URI-Format haben und mit
https
beginnen. Beispiel:https://example.com/oidc
- Geben Sie die Client-ID ein. Dies ist die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der
aud
-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird. - Wenn Sie einen aktivierten Anbieter erstellen möchten, muss die Option Aktivierter Anbieter aktiviert sein.
- Klicken Sie auf Weiter.
Gehen Sie unter Antworttyp so vor: Der Antworttyp wird nur für eine webbasierte Einmalanmeldung verwendet.
- Wählen Sie unter Antworttyp die Option ID-Token aus.
- Klicken Sie auf Weiter.
Unter Anbieter konfigurieren können Sie eine Attributzuordnung und eine Attributbedingung konfigurieren. So erstellen Sie eine Attributzuordnung: Sie können entweder den Namen des IdP-Felds oder einen CEL-formatierten Ausdruck angeben, der einen String zurückgibt.
Erforderlich: Geben Sie in OIDC 1 den Betreff des IdP ein. Beispiel:
assertion.sub
Optional: So fügen Sie zusätzliche Attributzuordnungen hinzu:
- Klicken Sie auf Zuordnung hinzufügen.
- Geben Sie in Google n, wobei n eine Zahl ist, einen der von Google Cloud unterstützten Schlüssel ein.
- Geben Sie im entsprechenden Feld OIDC n den Namen des IdP-spezifischen Felds im CEL-Format ein.
So erstellen Sie eine Attributbedingung:
- Klicken Sie auf Bedingung hinzufügen.
Geben Sie unter Attributbedingungen eine Bedingung im CEL-Format ein, z. B.
assertion.subject.endsWith('@example.com')
, wenn der zuvor zugeordneter Wert vonsubject
eine E-Mail-Adresse enthält, die mit@example.com
endet.
Klicken Sie auf Senden, um den Anbieter zu erstellen.
gcloud
Codeablauf
Gehen Sie in Okta so vor:
Wählen Sie unter Clientauthentifizierung die Option Clientschlüssel aus.
Suchen Sie in der Tabelle Clientschlüssel das Secret und klicken Sie auf content_copy Kopieren.
Führen Sie in Google Cloud den folgenden Befehl aus, um einen OIDC-Anbieter zu erstellen, der den Autorisierungscode-Ablauf für die Webanmeldung verwendet:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=globalErsetzen Sie Folgendes:
WORKFORCE_PROVIDER_ID
: Eine eindeutige Anbieter-ID für den Mitarbeiteridentitätspool. Das Präfixgcp-
ist reserviert und kann nicht in einem Workforce Identity-Pool oder in der Anbieter-ID eines Workforce Identity-Pools verwendet werden.WORKFORCE_POOL_ID
: Die ID des Mitarbeiteridentitätspools, mit dem Ihr IdP verbunden werden soll.DISPLAY_NAME
: ein optionaler nutzerfreundlicher Anzeigename für den Anbieter; Beispiel:idp-eu-employees
DESCRIPTION
: eine optionale Beschreibung des Mitarbeiter-Anbieters. Beispiel:IdP for Partner Example Organization employees
ISSUER_URI
: der OIDC-Aussteller-URI in einem gültigen URI-Format, das mithttps
beginnt. Beispiel:https://example.com/oidc
. Hinweis: Aus Sicherheitsgründen mussISSUER_URI
das HTTPS-Schema verwenden.OIDC_CLIENT_ID
: die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit deraud
-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.OIDC_CLIENT_SECRET
: der OIDC-ClientschlüsselWEB_SSO_ADDITIONAL_SCOPES
: Optionale zusätzliche Bereiche, die an den OIDC-IdP für die Console (föderiert) oder die browserbasierte Anmeldung mit der gcloud CLI gesendet werden, z. B.groups
, um den Gruppenanspruch von Okta anzufordern, wenn der Autorisierungsserver der Organisation von Okta verwendet wird.ATTRIBUTE_MAPPING
: Eine Attributzuordnung. Das folgende Beispiel zeigt eine Attributzuordnung: In diesem Beispiel werden die IdP-Attributegoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
undcostcenter
in der OIDC-Assertion den Attributengoogle.subject
,google.groups
bzw.attribute.costcenter
zugeordnet.ATTRIBUTE_CONDITION
: eine Attributbedingung; Beispiel:assertion.subject.endsWith('@example.com')
, wenn der zuvor zugeordnete Wertsubject
eine E-Mail-Adresse enthält, die mit@example.com
endet.JWK_JSON_PATH
: Ein optionaler Pfad zu einem lokal hochgeladenen OIDC-JWKs. Wenn dieser Parameter nicht angegeben ist, verwendet Google Cloud stattdessen den Pfad/.well-known/openid-configuration
Ihres IdP, um den JWKS mit den öffentlichen Schlüsseln zu ermitteln. Weitere Informationen zu lokal hochgeladenen OIDC JWKs finden Sie unter OIDC-JWKs verwalten.
locations/global/workforcePools/enterprise-example-organization-employees
.Impliziter Ablauf
Führen Sie den folgenden Befehl aus, um einen OIDC-Anbieter zu erstellen, der den impliziten Ablauf für die Webanmeldung verwendet:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global
Ersetzen Sie Folgendes:
WORKFORCE_PROVIDER_ID
: Eine eindeutige Anbieter-ID für den Mitarbeiteridentitätspool. Das Präfixgcp-
ist reserviert und kann nicht in einem Workforce Identity-Pool oder in der Anbieter-ID eines Workforce Identity-Pools verwendet werden.WORKFORCE_POOL_ID
: Die ID des Mitarbeiteridentitätspools, mit dem Ihr IdP verbunden werden soll.DISPLAY_NAME
: ein optionaler nutzerfreundlicher Anzeigename für den Anbieter; Beispiel:idp-eu-employees
DESCRIPTION
: eine optionale Beschreibung des Mitarbeiter-Anbieters. Beispiel:IdP for Partner Example Organization employees
ISSUER_URI
: der OIDC-Aussteller-URI in einem gültigen URI-Format, das mithttps
beginnt. Beispiel:https://example.com/oidc
. Hinweis: Aus Sicherheitsgründen mussISSUER_URI
das HTTPS-Schema verwenden.OIDC_CLIENT_ID
: die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit deraud
-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.WEB_SSO_ADDITIONAL_SCOPES
: Optionale zusätzliche Bereiche, die an den OIDC-IdP für die Console (föderiert) oder die browserbasierte Anmeldung mit der gcloud CLI gesendet werden, z. B.groups
, um den Gruppenanspruch von Okta anzufordern, wenn der Autorisierungsserver der Organisation von Okta verwendet wird.ATTRIBUTE_MAPPING
: Eine Attributzuordnung. Das folgende Beispiel zeigt eine Attributzuordnung: In diesem Beispiel werden die IdP-Attributegoogle.subject=assertion.sub, google.groups=assertion.group1, attribute.costcenter=assertion.costcenter
subject
,group1
undcostcenter
in der OIDC-Assertion den Attributengoogle.subject
,google.groups
bzw.attribute.costcenter
zugeordnet.ATTRIBUTE_CONDITION
: eine Attributbedingung; Beispiel:assertion.subject.endsWith('@example.com')
, wenn der zuvor zugeordnete Wertsubject
eine E-Mail-Adresse enthält, die mit@example.com
endet.JWK_JSON_PATH
: Ein optionaler Pfad zu einem lokal hochgeladenen OIDC-JWKs. Wenn dieser Parameter nicht angegeben ist, verwendet Google Cloud stattdessen den Pfad/.well-known/openid-configuration
Ihres IdP, um den JWKS mit den öffentlichen Schlüsseln zu ermitteln. Weitere Informationen zu lokal hochgeladenen OIDC JWKs finden Sie unter OIDC-JWKs verwalten.
locations/global/workforcePools/enterprise-example-organization-employees
.
SAML-Workforce Identity-Pool-Anbieter erstellen
Registrieren Sie bei Ihrem SAML-IdP eine neue Anwendung für die Google Cloud-Mitarbeiteridentitätsföderation.
Legen Sie die Zielgruppe für SAML-Assertions fest. Dies ist normalerweise das Feld
SP Entity ID
in Ihrer IdP-Konfiguration. Legen Sie sie auf die folgende URL fest:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Wenn Sie den Nutzerzugriff auf die Console einrichten möchten, setzen Sie in Ihrem SAML-IdP das Feld für die Weiterleitungs-URL oder ACS-URL (Assertion Consumer Service) auf die folgende URL:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
Weitere Informationen zum Konfigurieren der Anmeldung in der Console finden Sie unter Nutzerzugriff auf die Console einrichten.
Erstellen Sie in Google Cloud einen SAML-Mitarbeiteridentitätspoolanbieter mit dem SAML-Metadatendokument Ihres IdP. Sie können das SAML-Metadaten-XML-Dokument von Ihrem IdP herunterladen. Das Dokument muss mindestens Folgendes enthalten:
- Eine SAML-Entitäts-ID für Ihren IdP
- Die URL zur Einmalanmeldung (SSO) für Ihren IdP
- Mindestens einen öffentlichen Signierschlüssel. Weitere Informationen zu Signierschlüsseln finden Sie weiter unten in dieser Anleitung unter Schlüsselanforderungen.
Console
So konfigurieren Sie den SAML-Anbieter mit der Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:
Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.
Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.
Wählen Sie unter Protokoll auswählen die Option SAML aus.
Gehen Sie unter Pool-Anbieter erstellen so vor:
Geben Sie unter Name einen Namen für den Anbieter ein.
Optional: Geben Sie unter Beschreibung eine Beschreibung für den Anbieter ein.
Wählen Sie in der IdP-Metadatendatei (XML) die XML-Metadatendatei aus, die Sie zuvor in dieser Anleitung generiert haben.
Prüfen Sie, ob Aktivierter Anbieter aktiviert ist.
Klicken Sie auf Weiter.
Führen Sie unter Anbieter konfigurieren die folgenden Schritte aus:
Geben Sie unter Attributzuordnung einen CEL-Ausdruck für
google.subject
ein.Optional: Wenn Sie andere Zuordnungen eingeben möchten, klicken Sie auf Zuordnung hinzufügen und geben Sie andere Zuordnungen ein. Beispiel:
In diesem Beispiel werden die IdP-Attributegoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
undassertion.attributes.costcenter[0]
den Google Cloud-Attributengoogle.subject
,google.groups
bzw.google.costcenter
zugeordnet.Optional: Klicken Sie auf Bedingung hinzufügen und geben Sie einen CEL-Ausdruck ein, der eine Attributbedingung darstellt, um eine Attributbedingung hinzuzufügen. Wenn Sie beispielsweise das Attribut
ipaddr
auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingungassertion.attributes.ipaddr.startsWith('98.11.12.')
festlegen. Durch diese Beispielbedingung wird gewährleistet, dass sich nur Nutzer mit einer IP-Adresse, die mit98.11.12.
beginnt, über diesen Workforce-anbieter anmelden können.Klicken Sie auf Weiter.
Klicken Sie auf Senden, um den Anbieter zu erstellen.
gcloud
So erstellen Sie einen Workforce Identity-Pool-Anbieter für die Einbindung Ihrer Okta-Anwendung mit dem SAML-Protokoll:
So speichern Sie die SAML-Metadaten für Ihre Okta-Anwendung:
- Rufen Sie die Okta-Anwendung auf.
- Klicken Sie auf den Tab Anmelden.
- Klicken Sie im Abschnitt SAML-Signierungs-Zertifikate für das aktive Zertifikat auf Aktionen > Identitäsanbieter-Metadaten ansehen.
- Kopieren Sie auf der neuen Seite die XML-Metadaten.
- Speichern Sie die Metadaten als lokale XML-Datei.
Führen Sie den folgenden Befehl aus, um einen Workforce-Anbieter für die Okta-Anwendung zu erstellen:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --idp-metadata-path="XML_METADATA_PATH" \ --location="global"
Ersetzen Sie Folgendes:
WORKFORCE_PROVIDER_ID
: die ID des Workforce-anbieters, die Sie zuvor in dieser Anleitung erstellt haben.WORKFORCE_POOL_ID
: die ID des Workforce Identity-Pools, die Sie zuvor in dieser Anleitung erstellt haben.ATTRIBUTE_MAPPING
: eine Attributzuordnung; Beispiel: In diesem Beispiel werden die IdP-Attributegoogle.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
assertion.subject
,assertion.attributes['https://example.com/aliases']
undassertion.attributes.costcenter[0]
den Google Cloud-Attributengoogle.subject
,google.groups
bzw.google.costcenter
zugeordnet.ATTRIBUTE_CONDITION
: eine optionale Attributbedingung. Wenn Sie beispielsweise das Attributipaddr
auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingungassertion.attributes.ipaddr.startsWith('98.11.12.')
festlegen. Durch diese Beispielbedingung wird gewährleistet, dass sich nur Nutzer mit einer IP-Adresse, die mit98.11.12.
beginnt, über diesen Workforce-anbieter anmelden können.XML_METADATA_PATH
: der Pfad zur Metadatendatei im XML-Format für die Okta-Anwendung, die Sie zuvor in dieser Anleitung erstellt haben.
Das Präfix
gcp-
ist reserviert und kann nicht in einem Workforce Identity-Pool oder in der Anbieter-ID eines Workforce Identity-Pools verwendet werden.Optional: Verschlüsselte SAML-Assertions von Ihrem IdP akzeptieren
So ermöglichen Sie Ihrem SAML 2.0-IdP, verschlüsselte SAML-Assertions zu erstellen, die von der Workforce Identity-Föderation akzeptiert werden:
- Führen Sie in der Mitarbeiteridentitätsföderation folgende Schritte aus:
- Erstellen Sie ein asymmetrisches Schlüsselpaar für den Anbieter des Workforce Identity-Pools.
- Laden Sie eine Zertifikatsdatei herunter, die den öffentlichen Schlüssel enthält.
- Konfigurieren Sie Ihren SAML-IdP so, dass er den öffentlichen Schlüssel zum Verschlüsseln von SAML-Assertions verwendet.
- Gehen Sie bei Ihrem IdP so vor:
- Aktivieren Sie die Assertion-Verschlüsselung, auch als Tokenverschlüsselung bezeichnet.
- Laden Sie den öffentlichen Schlüssel hoch, den Sie in der Workforce Identity-Föderation erstellt haben.
- Prüfen Sie, ob Ihr IdP verschlüsselte SAML-Assertions erstellt.
SAML-Assertion-Verschlüsselungsschlüssel für die Workforce Identity-Föderation erstellen
In diesem Abschnitt wird beschrieben, wie Sie ein asymmetrisches Schlüsselpaar erstellen, mit dem die Workforce Identity-Föderation verschlüsselte SAML-Assertions akzeptieren kann.
Google Cloud verwendet den privaten Schlüssel zum Entschlüsseln der SAML-Assertions, die Ihr IdP ausgibt. Führen Sie den folgenden Befehl aus, um ein asymmetrisches Schlüsselpaar für die Verwendung mit der SAML-Verschlüsselung zu erstellen. Weitere Informationen finden Sie unter Unterstützte SAML-Verschlüsselungsalgorithmen.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
Ersetzen Sie Folgendes:
KEY_ID
: ein Schlüsselname Ihrer WahlWORKFORCE_POOL_ID
: die Pool-IDWORKFORCE_PROVIDER_ID
: die ID des Anbieters des Mitarbeiteridentitätspools-
KEY_SPECIFICATION
: die Schlüsselspezifikation, entwederrsa-2048
,rsa-3072
oderrsa-4096
Führen Sie nach dem Erstellen des Schlüsselpaars den folgenden Befehl aus, um den öffentlichen Schlüssel in eine Zertifikatsdatei herunterzuladen. Nur die Workload Identity-Föderation hat Zugriff auf den privaten Schlüssel.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
Ersetzen Sie Folgendes:
KEY_ID
: der SchlüsselnameWORKFORCE_POOL_ID
: die Pool-IDWORKFORCE_PROVIDER_ID
: die ID des Anbieters des MitarbeiteridentitätspoolsCERTIFICATE_PATH
: der Pfad, in den das Zertifikat geschrieben werden soll, z. B.saml-certificate.cer
odersaml-certificate.pem
SAML 2.0-konformen IdP für die Ausgabe verschlüsselter SAML-Assertions konfigurieren
So konfigurieren Sie Okta zum Verschlüsseln von SAML-Assertions:
- Rufen Sie das Okta-Dashboard auf und melden Sie sich an.
- Rufen Sie Anwendungen > Anwendungen auf.
- Klicken Sie auf Ihre App.
- Klicken Sie auf dem Tab Allgemein im Bereich SAML-Einstellungen auf Bearbeiten.
- Klicken Sie auf Weiter, um die SAML-Einstellungen aufzurufen.
- Klicken Sie auf Erweiterte Einstellungen anzeigen.
- Führen Sie in den SAML-Einstellungen folgende Schritte aus:
- Wählen Sie entweder in Antwort (bevorzugt) oder in Assertion-Signatur die Option
Signed
aus. - Wählen Sie unter Signature-Algorithmus und Digest-Algorithmus eine beliebige Option aus.
- Stellen Sie folgende Werte ein:
- Assertion-Verschlüsselung: Verschlüsselt.
- Verschlüsselungsalgorithmus: Beliebiger Algorithmus.
- Verschlüsselungszertifikat: Laden Sie die Zertifikatsdatei hoch, die Sie zuvor in dieser Anleitung generiert haben.
- Klicken Sie auf Weiter und dann auf Fertig stellen, um die Konfiguration zu speichern.
Nachdem Sie Ihren IdP so konfiguriert haben, dass SAML-Assertions verschlüsselt werden, sollten Sie prüfen, ob die generierten Assertions tatsächlich verschlüsselt sind. Die Workforce Identity-Föderation kann weiterhin Klartext-Assertions verarbeiten, auch wenn die SAML-Assertion-Verschlüsselung konfiguriert ist.
Verschlüsselungsschlüssel der Mitarbeiteridentitätsföderation löschen
Führen Sie den folgenden Befehl aus, um SAML-Verschlüsselungsschlüssel zu löschen:gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global
Ersetzen Sie Folgendes:
KEY_ID
: der SchlüsselnameWORKFORCE_POOL_ID
: die Pool-IDWORKFORCE_PROVIDER_ID
: die ID des Anbieters des Mitarbeiteridentitätspools
Unterstützte SAML-Verschlüsselungsalgorithmen
Die Workforce Identity-Föderation unterstützt die folgenden Schlüsseltransportalgorithmen:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
Die Workforce Identity-Föderation unterstützt die folgenden Blockverschlüsselungsalgorithmen:
Zugriff auf Google Cloud-Ressourcen verwalten
Dieser Abschnitt enthält ein Beispiel für die Verwaltung des Zugriffs auf Google Cloud-Ressourcen durch Nutzer der Mitarbeiter-Identitätsföderation.
In diesem Beispiel weisen Sie in einem Beispielprojekt eine IAM-Rolle (Identity and Access Management) zu. Nutzer können sich dann anmelden und über dieses Projekt auf Google Cloud-Produkte zugreifen.
Sie können IAM-Rollen für einzelne Identitäten, Identitätsgruppen oder gesamte Pools verwalten. Weitere Informationen finden Sie unter Mitarbeiteridentitätspool-Nutzer in IAM-Richtlinien darstellen.
Für eine Identität
Führen Sie den folgenden Befehl aus, um einer einzelnen Identität für das Projekt TEST_PROJECT_ID
die Rolle "Storage-Administrator" (roles/storage.admin
) zuzuweisen:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"
Ersetzen Sie Folgendes:
TEST_PROJECT_ID
: ID des Projekts.WORKFORCE_POOL_ID
: die ID des Workforce Identity-PoolsSUBJECT_VALUE
: die Nutzeridentität
Zugeordnetes Abteilungsattribut verwenden
Führen Sie folgenden Befehl aus, um allen Identitäten innerhalb einer bestimmten Abteilung für das Projekt TEST_PROJECT_ID
die Rolle „Storage-Admin“ (roles/storage.admin
) zuzuweisen:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"
Ersetzen Sie Folgendes:
TEST_PROJECT_ID
: ID des Projekts.WORKFORCE_POOL_ID
: die ID des Workforce Identity-PoolsDEPARTMENT_VALUE
: der zugeordnete Wertattribute.department
Zugeordnete Gruppen verwenden
Führen Sie folgenden Befehl aus, um allen Identitäten innerhalb einer bestimmten Gruppe für das Projekt TEST_PROJECT_ID
die Rolle "Storage-Admin" (roles/storage.admin
) zuzuweisen:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Ersetzen Sie Folgendes:
TEST_PROJECT_ID
: ID des Projekts.WORKFORCE_POOL_ID
: die ID des Workforce Identity-PoolsGROUP_ID
: eine Gruppe im zugeordnetengoogle.groups
-Anspruch.
Anmelden und Zugriff testen
In diesem Abschnitt melden Sie sich als Workforce Identity-Pool-Nutzer an und testen, ob Sie Zugriff auf ein Google Cloud-Produkt haben.
Anmelden
In diesem Abschnitt erfahren Sie, wie Sie sich als föderierter Nutzer anmelden und auf Google Cloud-Ressourcen zugreifen.
(Föderierte) Anmeldung bei der Console
So melden Sie sich in der Google Cloud Console für die Mitarbeiteridentitätsföderation an, die auch als Console (föderiert) bezeichnet wird:
-
Rufen Sie die (föderierte) Anmeldeseite der Konsole auf.
-
Geben Sie den Namen des Anbieters ein. Er muss so formatiert sein:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
- Geben Sie bei Aufforderung die Anmeldedaten der Okta App-Einbindung ein.
Wenn Sie eine IdP-initiierte Anmeldung starten, verwenden Sie die folgende URL in den SAML-Einstellungen für den verschachtelten Standard-RelayState-Parameter:
https://console.cloud.google/
.
Browserbasierte Anmeldung bei der gcloud CLI
So melden Sie sich mit einem browserbasierten Anmeldevorgang in der gcloud CLI an:
Konfigurationsdatei erstellen
Mit dem folgenden Befehl erstellen Sie die Konfigurationsdatei für die Anmeldung. Optional können Sie die Datei mit dem Flag --activate
als Standarddatei für die gcloud CLI aktivieren.
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --output-file=LOGIN_CONFIG_FILE
Ersetzen Sie Folgendes:
-
WORKFORCE_POOL_ID
: die ID des Workforce Identity-Pools -
WORKFORCE_PROVIDER_ID
: die ID des Anbieters des Mitarbeiteridentitätspools LOGIN_CONFIG_FILE
: ein Pfad zur von Ihnen angegebenen Anmeldekonfigurationsdatei, z. B.login.json
Die Datei enthält die Endpunkte, die von der gcloud CLI verwendet werden, um den browserbasierten Authentifizierungsvorgang zu aktivieren und die Zielgruppe auf den Identitätsanbieter festzulegen, der im Anbieter des Mitarbeiteridentitätspools konfiguriert wurde. Die Datei enthält keine vertraulichen Daten.
Die Ausgabe sieht dann ungefähr so aus:
{ "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.google/authorize", "token_url": "https://sts.googleapis.com/v1/oauthtoken", "token_info_url": "https://sts.googleapis.com/v1/introspect", }
Mit der browserbasierten Authentifizierung anmelden
Sie haben folgende Möglichkeiten, sich mit einer browserbasierten Anmeldung zu authentifizieren:
-
Wenn Sie das Flag
--activate
beim Erstellen der Konfigurationsdatei verwendet oder die Konfigurationsdatei mitgcloud config set auth/login_config_file
aktiviert haben, wird die Konfigurationsdatei automatisch von der gcloud CLI verwendet:gcloud auth login
-
Mit dem folgenden Befehl melden Sie sich durch Angabe des Speicherorts der Konfigurationsdatei an:
gcloud auth login --login-config=LOGIN_CONFIG_FILE
-
Wenn Sie den Speicherort der Konfigurationsdatei mit einer Umgebungsvariable angeben möchten, legen Sie für
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
den Konfigurationspfad fest.
Browserbasierte Anmeldung deaktivieren
So beenden Sie die Verwendung der Konfigurationsdatei für die Anwendung:
-
Wenn Sie das Flag
--activate
beim Erstellen der Konfigurationsdatei verwendet oder die Konfigurationsdatei mitgcloud config set auth/login_config_file
aktiviert haben, müssen Sie den folgenden Befehl ausführen, um die Festlegung aufzuheben:gcloud config unset auth/login_config_file
-
Löschen Sie die Umgebungsvariable
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE
, falls sie festgelegt ist.
Monitorlose Anmeldung bei der gcloud CLI
So melden Sie sich mit einem monitorlosen Ablauf in der gcloud CLI an:
OIDC
Melden Sie einen Nutzer in Ihrer Okta-App an und rufen Sie das OIDC-Token von Okta ab.
Speichern Sie das von Okta zurückgegebene OIDC-Token an einem sicheren Ort auf Ihrem lokalen Computer.
Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei wie im Beispiel weiter unten in diesem Schritt zu generieren:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \ --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \ --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \ --output-file="config.json"
Ersetzen Sie Folgendes:
WORKFORCE_POOL_ID
: die ID des Workforce Identity-PoolsWORKFORCE_PROVIDER_ID
: die Anbieter-IDPATH_TO_OIDC_TOKEN
: der Pfad zur OIDC-IdP-AnmeldedatendateiWORKFORCE_POOL_USER_PROJECT
: die Projektnummer, die dem Nutzerprojekt für Workforce-Pools zugeordnet ist
Das Hauptkonto muss die Berechtigung serviceusage.services.use
für dieses Projekt haben.
Durch Ausführen des Befehls wird eine OIDC-IdP-Konfigurationsdatei erstellt, die in etwa so aussieht:
{
"type": "external_account",
"audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
"subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
"token_url": "https://sts.googleapis.com/v1/token",
"workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
"credential_source": {
"file": "PATH_TO_OIDC_CREDENTIALS_FILE"
}
}
SAML
Melden Sie einen Nutzer in Ihrer Okta-App an und rufen Sie die SAML-Antwort von Okta ab.
Speichern Sie die von Okta zurückgegebene SAML-Antwort an einem sicheren Ort auf Ihrem lokalen Computer und speichern Sie den Pfad dann und zwar so:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
Führen Sie folgenden Befehl aus, um eine Konfigurationsdatei zu generieren:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \ --credential-source-file="SAML_ASSERTION_PATH" \ --workforce-pool-user-project="PROJECT_ID" \ --output-file="config.json"
Ersetzen Sie Folgendes:
WORKFORCE_PROVIDER_ID
: die ID des Workforce-Anbieters, den Sie zuvor in dieser Anleitung erstellt haben.WORKFORCE_POOL_ID
: die ID des Workforce Identity-Pools, die Sie zuvor in dieser Anleitung erstellt haben.SAML_ASSERTION_PATH
: der Pfad der SAML-Assertion-Datei.PROJECT_ID
: die Projekt-ID
Die generierte Konfigurationsdatei sieht in etwa so aus:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }
Führen Sie den folgenden Befehl aus, um sich mit Token-Austausch in gcloud
anzumelden:
gcloud auth login --cred-file="config.json"
gcloud
tauscht dann Ihre Okta-Anmeldedaten transparent gegen temporäre Google Cloud-Zugriffstokens aus, sodass Sie andere gcloud
-Aufrufe an Google Cloud senden können.
Die Ausgabe sollte in etwa so aussehen:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID
/subject/USER_ID
].
Führen Sie folgenden Befehl aus, um die Konten mit Anmeldedaten und das aktuell aktive Konto aufzulisten:
gcloud auth list
Zugriff testen
Sie haben jetzt Zugriff auf Google Cloud-Dienste, die die Workforce-Identitätsföderation unterstützen und auf die Sie Zugriff erhalten haben. Sie haben zuvor in diesem Leitfaden allen Identitäten innerhalb einer bestimmten Abteilung für das Projekt TEST_PROJECT_ID
die Rolle „Storage-Administrator“ (roles/storage.admin
) zugewiesen. Sie können jetzt testen, ob Sie Zugriff haben. Dazu listen Sie Cloud Storage-Buckets auf.
Konsole (föderiert)
So listen Sie Cloud Storage-Buckets über die Konsole (föderiert) auf:
- Rufen Sie die Cloud Storage-Seite auf.
- Prüfen Sie, ob Sie die Liste der vorhandenen Buckets für den
TEST_PROJECT_ID
sehen
gcloud CLI
Führen Sie folgenden Befehl aus, um Cloud Storage-Buckets und -Objekte für das Projekt aufzulisten, auf das Sie Zugriff haben:
gcloud storage ls --project="TEST_PROJECT_ID"
Das Hauptkonto muss die Berechtigung serviceusage.services.use
für das angegebene Projekt haben.
Nutzer löschen
Die Mitarbeiteridentitätsföderation erstellt Nutzermetadaten und -ressourcen für föderierte Nutzeridentitäten. Wenn Sie Nutzer beispielsweise in Ihrem Identitätsanbieter löschen, müssen Sie diese Ressourcen auch explizit in Google Cloud löschen. Weitere Informationen finden Sie unter Nutzer und Daten der Mitarbeiteridentitätsföderation löschen.
Es kann vorkommen, dass Ressourcen weiterhin mit einem gelöschten Nutzer verknüpft sind. Das liegt daran, dass das Löschen von Nutzermetadaten und ‑ressourcen einen langwierigen Vorgang erfordert. Nachdem Sie die Identität eines Nutzers gelöscht haben, können Prozesse, die der Nutzer vor dem Löschen gestartet hat, weiter ausgeführt werden, bis sie abgeschlossen oder abgebrochen werden.
Nächste Schritte
- Nutzer von Identitätsföderation von Arbeitslasten und deren Daten löschen
- Weitere Informationen dazu, welche Google Cloud-Produkte die Mitarbeiteridentitätsföderation unterstützen
- Nutzerzugriff auf die Console (föderiert) einrichten