Auf dieser Seite wird erläutert, wie Sie Ihre vorhandenen Workload Identity-Pools und deren Identitätsanbieter (IdPs) für die Workload Identity-Föderation verwalten.
Sie können Pools und Anbieter mit der Google Cloud Console, der Google Cloud CLI oder der REST API verwalten.
Hinweis
Erstellen Sie einen Workload Identity-Pool. Eine Anleitung finden Sie in den Konfigurationsanleitungen für die Workload Identity-Föderation.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die benötigten Berechtigungen zum Verwalten von Workload Identity-Pools und Anbietern zu erhalten:
-
So rufen Sie Pools und Anbieter auf: IAM Workload Identity Pool Viewer (
roles/iam.workloadIdentityPoolViewer) -
Um Pools und Anbieter aufzurufen, zu erstellen, zu aktualisieren und zu löschen:
IAM Workload Identity Pool Admin (
roles/iam.workloadIdentityPoolAdmin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Workload Identity-Pools und Anbietern erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Verwalten von Workload Identity-Pools und -Anbietern erforderlich:
-
So rufen Sie Workload Identity-Pools und -Anbieter auf:
-
iam.googleapis.com/workloadIdentityPoolProviders.get -
iam.googleapis.com/workloadIdentityPoolProviders.list -
iam.googleapis.com/workloadIdentityPools.get -
iam.googleapis.com/workloadIdentityPools.list
-
-
So erstellen, aktualisieren und löschen Sie Pools und Anbieter:
-
iam.googleapis.com/workloadIdentityPoolProviders.create -
iam.googleapis.com/workloadIdentityPoolProviders.delete -
iam.googleapis.com/workloadIdentityPoolProviders.undelete -
iam.googleapis.com/workloadIdentityPoolProviders.update -
iam.googleapis.com/workloadIdentityPools.create -
iam.googleapis.com/workloadIdentityPools.delete -
iam.googleapis.com/workloadIdentityPools.undelete -
iam.googleapis.com/workloadIdentityPools.update
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Workload Identity-Pools verwalten
In diesem Abschnitt wird gezeigt, wie Sie Workload Identity-Pools verwalten.
Pools erstellen
So erstellen Sie Workload Identity-Pools in einem Projekt:
Console
-
Rufen Sie in der Google Cloud Console die Seite Neuer Arbeitslastanbieter und -Pool auf.
-
Geben Sie im Abschnitt Identitätspool erstellen einen Namen für den Pool ein.
DieCOMMENTConsole verwendet den Namen zum Erstellen einer Pool-ID. Google Cloud Klicken Sie zum Ändern der Pool-ID auf Bearbeiten. Sie können die Pool-ID später nicht ändern.
- Optional: Geben Sie im Feld Beschreibung eine Beschreibung für den Pool ein.
- Optional: Wenn Sie den Pool im deaktivierten Status erstellen möchten, klicken Sie auf den Ein/Aus-Button Aktivierter Pool.
- Klicken Sie auf Weiter.
- Konfigurieren Sie in den Abschnitten Anbieter zum Pool hinzufügen und Anbieterattribute konfigurieren einen Identitätsanbieter für den Pool. Eine Anleitung finden Sie unter Anbieter erstellen.
- Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools create aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.create() auf.
Pools auflisten
So listen Sie alle Workload Identity-Pools in einem Projekt auf:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Rufen Sie in der Tabelle die Liste der Workload Identity-Pools auf.
- Optional: Wenn Sie gelöschte Pools und Anbieter in die Liste aufnehmen möchten, klicken Sie auf den Schalter Gelöschte Pools und Anbieter einblenden.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools list aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.list() auf.
Pool aufrufen
So rufen Sie Details zu einem bestimmten Workload Identity-Pool auf:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Suchen Sie nach dem Workload Identity-Pool, den Sie ansehen möchten, und klicken Sie auf den zugehörigen Anzeigenamen. Die Google Cloud Console zeigt Details zum Workload Identity-Pool an.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools describe aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.get() auf.
Pool aktualisieren
Sie können einen Workload Identity-Pool aktivieren oder deaktivieren. Sie können auch den Anzeigenamen oder die Beschreibung ändern.
So aktualisieren Sie einen vorhandenen Workload Identity-Pool:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Suchen Sie den Workload Identity-Pool, den Sie bearbeiten möchten.
- Klicken Sie auf den Anzeigenamen des Workload Identity-Pools.
-
So bearbeiten Sie den Anzeigenamen des Workload Identity-Pools:
- Klicken Sie auf der Seite Pooldetails neben dem Anzeigenamen auf das Symbol Bearbeiten.
- Aktualisieren Sie im angezeigten Dialogfeld Angezeigenamen des Pools bearbeiten den Anzeigenamen.
- Klicken Sie auf Speichern.
- Wenn Sie den Workload Identity-Pool deaktivieren oder aktivieren möchten, klicken Sie auf den Ein/Aus-Button Status und dann auf Deaktivieren oder Aktivieren.
-
So bearbeiten Sie die Beschreibung:
- Klicken Sie unter Beschreibung neben dem Beschreibungstext auf Bearbeiten.
- Aktualisieren Sie die Beschreibung.
- Klicken Sie auf Speichern.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools update aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.patch() auf.
Pool löschen
Wenn Sie einen Workload Identity-Pool löschen, werden auch die Anbieter des Workload Identity-Pools gelöscht. Daher verlieren die Identitäten im Pool den Zugriff aufGoogle Cloud -Ressourcen.
Sie können einen Pool bis zu 30 Tage nach dem Löschen wiederherstellen. Nach 30 Tagen ist das Löschen endgültig. Bis ein Pool endgültig gelöscht wird, können Sie seinen Namen nicht wiederverwenden, wenn Sie einen neuen Workload Identity-Pool erstellen.
So löschen Sie einen Workload Identity-Pool und seine Identitätsanbieter:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Suchen Sie den Workload Identity-Pool, den Sie löschen möchten, und klicken Sie auf seinen Anzeigenamen.
- Klicken Sie auf Pool löschen und dann auf Löschen. Der Workload Identity-Pool und seine Identitätsanbieter werden gelöscht.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools delete aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.delete() auf.
Pool wiederherstellen
Sie können einen gelöschten Workload Identity-Pool bis zu 30 Tage nach dem Löschen wiederherstellen.
So stellen Sie einen Pool wieder her:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Klicken Sie auf den Schalter Gelöschte Pools und Anbieter anzeigen.
- Suchen Sie nach dem Workload Identity-Pool, den Sie wiederherstellen möchten, und klicken Sie auf das Symbol Wiederherstellen.
- Klicken Sie auf Wiederherstellen. Der Pool und seine Anbieter werden wiederhergestellt.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools undelete aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.undelete() auf.
Workload Identity-Pool-Anbieter verwalten
In diesem Abschnitt wird gezeigt, wie Sie Workload Identity-Poolanbieter verwalten.
Anbieter erstellen
So erstellen einen Workload Identity-Anbieter in einem bestehenden Workload Identity-Pool:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Suchen Sie den Workload Identity-Pool, dem Sie einen Anbieter hinzufügen möchten, und klicken Sie dann auf seinen Anzeigenamen.
- Klicken Sie auf Anbieter hinzufügen.
-
Wählen Sie den Anbietertyp aus, der erstellt werden soll:
- AWS: Ein Amazon Web Services-Identitätsanbieter (IdP).
- OpenID Connect (OIDC): Ein OIDC-kompatibler IdP. Dazu gehört auch Microsoft Azure.
-
Geben Sie einen Namen für den Anbieter ein.
Die Google Cloud Console verwendet den Namen zum Erstellen einer Anbieter-ID: Klicken Sie zum Ändern der Anbieter-ID auf Bearbeiten. Sie können die Anbieter-ID später nicht mehr ändern.
-
Füllen Sie die übrigen Felder für Ihren Anbieter aus:
- AWS: Geben Sie Ihre AWS-Konto-ID ein.
-
OIDC: Geben Sie die Aussteller-URL ein. Für Azure hat die Aussteller-URL das Format
https://sts.windows.net/AZURE_TENANT_ID. Informationen zu anderen Anbietern finden Sie in der Dokumentation des jeweiligen Anbieters.
Wenn Sie fertig sind, klicken Sie auf Weiter.
-
Klicken Sie zum Konfigurieren der Attributzuordnung auf Zuordnung bearbeiten. Mit der Attributzuordnung können Sie Informationen zu externen Identitäten verwenden, um einer Teilmenge dieser Identitäten Zugriff zu gewähren.
-
AWS: Dieser Schritt ist optional. Sie können die Standardzuordnung verwenden.
Weitere Informationen finden Sie unter Einstellungen für Identitätsanbieter für AWS und Azure.
-
OIDC: Wir empfehlen,
google.subjectassertion.subzuzuordnen. Andere Zuordnungen sind optional.Weitere Informationen finden Sie unter IdP-Einstellungen für Azure oder andere OIDC-Anbieter.
-
- Optional: Wenn Sie eine Attributbedingung angeben möchten, die die Identitäten angibt, die sich authentifizieren können, klicken Sie auf Bedingung hinzufügen und geben Sie einen gültigen CEL-Ausdruck (Common Expression Language) ein. Weitere Informationen finden Sie unter Attributbedingungen.
- Klicken Sie auf Speichern. Der Workload Identity-Poolanbieter wird erstellt.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers create-aws aus, um einen AWS-Anbieter zu erstellen.
Führen Sie den Befehl gcloud iam workload-identity-pools providers create-oidc aus, um einen OIDC-Anbieter zu erstellen. Dies schließt Microsoft Azure ein.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.create() auf.
Dienstanbieter auflisten
So listen Sie die Anbieter der Workload Identity-Pools in einem Projekt auf:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Klicken Sie zum Anzeigen der Anbieter für einen Workload Identity-Pool auf das Symbol Knoten für den Pool erweitern.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers list aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.list() auf.
Dienstanbieter aufrufen
So rufen Sie Details zu einem bestimmten Workload Identity-Pool-Anbieter auf:
Console
-
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
- Suchen Sie nach dem Workload Identity-Pool, der den Anbieter enthält, und klicken Sie dann auf das Symbol Knoten für den Pool maximieren.
- Suchen Sie nach dem Workload Identity-Poolanbieter, den Sie sich ansehen möchten, und klicken Sie auf das Symbol Bearbeiten. Die Google Cloud -Console zeigt detaillierte Informationen zum Anbieter an.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers describe aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.get() auf.
Anbieter aktualisieren
Sie können einen Workload Identity-Poolanbieter aktivieren oder deaktivieren. Sie können auch die Kontoinformationen und die Attributzuordnung sowie den Anzeigenamen und die Beschreibung aktualisieren.
So aktualisieren Sie einen vorhandenen Workload Identity-Pool-Anbieter:
Console
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
Suchen Sie nach dem Workload Identity-Pool, der den Anbieter enthält, und klicken Sie dann auf das Symbol Knoten für den Pool maximieren.
Suchen Sie nach dem Workload Identity-Poolanbieter, den Sie bearbeiten möchten, und klicken Sie auf das -Symbol Bearbeiten.
Bearbeiten Sie die Informationen des Anbieters und klicken Sie dann auf Speichern.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers update-aws aus, um einen AWS-Anbieter zu aktualisieren.
Führen Sie den Befehl gcloud iam workload-identity-pools providers update-oidc aus, um einen OIDC-Anbieter zu aktualisieren: Dies schließt Microsoft Azure ein.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.patch() auf.
Anbieter löschen
Wenn Sie einen Workload Identity-Poolanbieter löschen, verlieren die Identitäten des Anbieters den Zugriff auf Google Cloud Ressourcen.
Sie können einen Anbieter bis zu 30 Tage nach dem Löschen wiederherstellen. Nach 30 Tagen ist das Löschen endgültig. Bis ein Anbieter endgültig gelöscht wird, können Sie seinen Namen nicht wiederverwenden, wenn Sie einen neuen Anbieter erstellen.
So löschen Sie einen Workload Identity-Poolanbieter:
Console
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
Suchen Sie nach dem Workload Identity-Pool, der den Anbieter enthält, und klicken Sie dann auf den Anzeigenamen.
Suchen Sie im Bereich Anbieter den Anbieter, den Sie löschen möchten, und klicken Sie auf das zugehörige -Symbol Löschen.
Klicken Sie auf Löschen, um den Anbieter zu löschen.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers delete aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.delete() auf.
Anbieter wiederherstellen
Sie können einen gelöschten Workload Identity-Pool-Anbieter bis zu 30 Tage nach dem Löschen wiederherstellen. So stellen Sie einen Anbieter wieder her:
Console
Rufen Sie in der Google Cloud Console die Seite Workload Identity-Pools auf.
Klicken Sie auf den Schalter Gelöschte Pools und Anbieter anzeigen.
Suchen Sie nach dem Workload Identity-Pool, der den Anbieter enthält, und klicken Sie dann auf das Symbol Knoten für den Pool maximieren.
Suchen Sie den Anbieter, den Sie wiederherstellen möchten, und klicken Sie dann auf das -Symbol Wiederherstellen.
Klicken Sie auf Wiederherstellen. Der Anbieter wird wiederhergestellt.
gcloud
Führen Sie den Befehl gcloud iam workload-identity-pools providers undelete aus.
REST
Rufen Sie projects.locations.workloadIdentityPools.providers.undelete() auf.
Einschränkungen für die Föderation der Workload Identity verwalten
Sie können Einschränkungen für Organisationsrichtlinien verwenden, um einzuschränken, wie Ressourcen in Ihrer Google Cloud Organisation verwendet werden können.
In diesem Abschnitt werden Einschränkungen beschrieben, die bei der Verwendung der Föderation für Workload Identity empfohlen werden.
Zugelassene Identitätsanbieter verwalten
Als Organisationsadministrator können Sie festlegen, mit welchen Identitätsanbietern Ihre Organisation eine Föderation eingehen darf.
Wenn Sie festlegen möchten, welche Identitätsanbieter zulässig sind, aktivieren Sie die Einschränkung für die constraints/iam.workloadIdentityPoolProviders-Liste in der Organisationsrichtlinie für Ihre Organisation. Die Einschränkung legt die Aussteller-URIs der zulässigen Anbieter fest. Sie können die Einschränkung über die Google Cloud -Konsole oder die Google Cloud CLI aktivieren.
Wenn Sie die Föderation nur über AWS zulassen möchten, erstellen Sie eine einzelne Einschränkung mit dem URI https://sts.amazonaws.com. Das folgende Beispiel zeigt, wie diese Einschränkung mit der gcloud CLI erstellt wird:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER
Sie können auch angeben, welche AWS-Konto-IDs Zugriff auf IhreGoogle Cloud -Ressourcen haben. Verwenden Sie die Listeneinschränkung constraints/iam.workloadIdentityPoolAwsAccounts, um die Konto-IDs anzugeben:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \ ACCOUNT_ID --organization=ORGANIZATION_NUMBER
Wenn Sie die Föderation nur über einen einzigen OIDC-Anbieter zulassen möchten, erstellen Sie eine einzelne Einschränkung mit dem issuer_uri des zugelassenen Anbieters. Im folgenden Beispiel wird nur die Föderation über einen bestimmten Azure-Mandanten zugelassen:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER
Die Föderation von einem SAML-IdP ist besonders, da die öffentlichen Schlüssel, die zum Validieren der Assertion verwendet werden, bei der Konfiguration des SAML-IdP angegeben werden. Daher ist es möglich, dass ein böswilliger Nutzer versucht, ein SAML-Metadatendokument mit der Entitäts-ID des IdP Ihrer Organisation mithilfe eines öffentlichen Schlüssels hochzuladen. Die Beschränkung der Föderation durch eine Entitäts-ID in diesem Szenario bringt nur eine Illusion von Sicherheit.
Um dieses Risiko zu minimieren, empfehlen wir dringend, nur das Erstellen eines Workload Identity-Pools mit SAML-Föderation in einem Google Cloud -Projekt zu erlauben, das von Ihrer Organisation zentral verwaltet wird. Anschließend können Sie externen Identitäten in diesem Workload Identity-Pool nach Bedarf Zugriff auf Ressourcen in Ihrer Organisation gewähren.
Wenn Sie die Föderation von SAML-IdPs zulassen möchten, erstellen Sie eine Einschränkung, die das spezielle Schlüsselwort KEY_UPLOAD zulässt.
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ KEY_UPLOAD --organization=ORGANIZATION_NUMBER
Sie können diese Befehle wiederholen, um die Föderation über zusätzliche Anbieter zuzulassen.
So blockieren Sie die Föderation über alle Anbieter:
Erstellen Sie eine YAML-Datei mit folgendem Inhalt:
constraint: constraints/iam.workloadIdentityPoolProviders listPolicy: allValues: DENY
Übergeben Sie die Datei an den Befehl
gcloud resource-manager org-policies set-policy:gcloud resource-manager org-policies set-policy FILE_NAME.yaml \ --organization=ORGANIZATION_NUMBER
Erstellen von Dienstkontoschlüsseln einschränken
Mit der Föderation von Workload Identity können Sie von außerhalb von Google Cloud auf Google Cloud -Ressourcen zugreifen, ohne einen Dienstkontoschlüssel verwenden zu müssen. Wenn Sie keine Dienstkontoschlüssel zur Authentifizierung verwenden, können Sie das Risiko reduzieren, indem Sie die Schlüsselerstellung deaktivieren.
Wenn Sie die Erstellung von Dienstkontoschlüsseln deaktivieren möchten, erzwingen Sie in der Organisationsrichtlinie für Ihre Organisation die boolesche Einschränkung iam.disableServiceAccountKeyCreation. Sie können auch die boolesche Einschränkung iam.disableServiceAccountKeyUpload erzwingen, um das Hochladen von öffentlichen Schlüsseln für Dienstkonten zu deaktivieren.
Sie können die Einschränkungen mit der Google Cloud -Konsole oder der gcloud CLI aktivieren. Die folgenden Befehle der gcloud CLI aktivieren beispielsweise beide Einschränkungen:
gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyCreation \ --organization=ORGANIZATION_NUMBER gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyUpload \ --organization=ORGANIZATION_NUMBER
Workload Identity-Föderation überwachen
Sie können Cloud Monitoring-Messwerte verwenden, um Authentifizierungsereignisse für Ihre Workload Identity-Pools und -Anbieter zu überwachen. Eine Liste der verfügbaren Messwerte finden Sie unter IAM-Messwerte.
Nächste Schritte
Mehr über die Workload Identity-Föderation erfahren