Beispiele für die Einbindung von Workloadidentitäten
Die Workload-Identitätsföderation für die Verbindungen Google BigQuery und Google Cloud Storage wird von jedem Identitätsprovider unterstützt, der OpenID Connect (OIDC) oder SAML 2.0unterstützt.
Diese Beispiele gelten für AWS mit Amazon Cognito und für Microsoft Azure.
AWS
Workload-Identitätsföderation in Amazon Cognito konfigurieren
Erstellen Sie einen OIDC-Identitätsprovider (IdP) mit Cognito, indem Sie die Anweisungen in der Amazon-Dokumentation befolgen:
- Schritt 1. Benutzerpool erstellen
- Schritt 2. App-Client hinzufügen und gehostete Benutzerschnittstelle einrichten
Weitere Informationen finden Sie unter Erste Schritte mit Amazon Cognito .
Erstellen Sie eine Gruppe und einen Benutzer im IdP mit der AWS -Konsole. Sie können auch die AWS -CLI verwenden:
CLIENT_ID=YourClientId ISSUER_URL=https://cognito-idp.YourRegion.amazonaws.com/YourPoolId POOL_ID=YourPoolId USERNAME=YourUsername PASSWORD=YourPassword GROUPNAME=YourGroupName aws cognito-idp admin-create-user --user-pool-id $POOL_ID --username $USERNAME --temporary-password Temp-Pass1 aws cognito-idp admin-set-user-password --user-pool-id $POOL_ID --username $USERNAME --password $PASSWORD --permanent aws cognito-idp create-group --group-name $GROUPNAME --user-pool-id $POOL_ID aws cognito-idp admin-add-user-to-group --user-pool-id $POOL_ID --username $USERNAME --group-name $GROUPNAME
Klicken Sie in der AWS -Konsole auf Hosted UI anzeigen und melden Sie sich in einem Browser bei der IDP-Benutzerschnittstelle an, um sicherzustellen, dass alle neuen Kennwortprüffragen aufgelöst werden.
Rufen Sie ein IdToken mit der AWS -CLI ab:
aws cognito-idp admin-initiate-auth --auth-flow ADMIN_USER_PASSWORD_AUTH --client-id $CLIENT_ID --auth-parameters USERNAME=$USERNAME,PASSWORD=$PASSWORD --user-pool-id $POOL_ID
Weitere Informationen zum Authentifizierungsablauf für Amazon Cognito User Pools finden Sie unter AdminInitiateAuth .
Google Cloud für Amazon Cognito konfigurieren
Wenn Sie den Anbieter in Google Clouderstellen, verwenden Sie diese Einstellungen:
- Setzen Sie Issuer (URL) auf
https://cognito-idp.YourRegion.amazonaws.com/YourPoolId
. - Setzen Sie Zulässige Zielgruppe auf Ihre Kunden-ID.
- Ordnen Sie unter Attributzuordnung
google.subject
assertion.sub
zu.
Verbindung mit Identitätsföderation für Amazon Cognito-Workload erstellen
Wählen Sie die Authentifizierungsmethode Workload Identity Federation with access token aus.
Verwenden Sie für das Feld Security Token Service audience das folgende Format:
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
Geben Sie für E-Mail für Servicekontodie E-Mail-Adresse des Google -Servicekontos ein, dessen Identität angenommen werden soll. Weitere Informationen finden Sie unter Erstellen eines Dienstkontos für die externe Arbeitslast .
(Optional) Geben Sie einen Wert für Lebensdauer des Service-Account-Tokens in Sekunden an. Die Standardlebensdauer eines Servicekontozugriffstokens beträgt eine Stunde. Weitere Informationen finden Sie unter Anmeldeinformationen aus URL-Quellen .
Setzen Sie Tokenformat auf
Text
.Setzen Sie Tokentyp auf
ID token
.
Azure
Workload-Identitätsföderation in Azure konfigurieren
Erstellen Sie eine Azure AD-Anwendung und einen Dienstprinzipal .
Legen Sie einen Anwendungs-ID-URI für die Anwendung fest. Sie können den Standard-URI der Anwendungs-ID (
api://APPID
) verwenden oder einen angepassten URI angeben.
Sie können die Anweisungen zum Erstellen einer verwalteten Identität überspringen.Befolgen Sie die Anweisungen zum Erstellen eines neuen Anwendungsgeheimnisses, um ein Zugriffstoken mit der REST-API zu erhalten.
Weitere Informationen finden Sie unter Konfigurieren der Workloadidentitätsföderation mit Azure .
Google Cloud für Azure konfigurieren
- Folgen Sie den Anweisungen: Konfigurieren Sie die Workload-Identitätsföderation .
- Folgen Sie den Anweisungen: Erstellen Sie den Workload-Identitätspool und -Anbieter . Verwenden Sie bei der Konfiguration des Providers die folgenden Einstellungen:
- Setzen Sie Aussteller (URL) auf
https://sts.windows.net/TENANTID/
, wobeiTENANTID
die Tenant-ID ist, die Sie beim Einrichten von Azure Active Directoryerhalten haben. - Legen Sie als Zulässige Zielgruppe die Client-ID fest, die Sie beim Einrichten der App-Registrierung erhalten haben. Oder geben Sie einen anderen Anwendungs-ID-URI an, den Sie beim Einrichten der Anwendungsidentität in Azureverwendet haben.
- Ordnen Sie unter Attributzuordnung
google.subject
assertion.sub
zu.
- Setzen Sie Aussteller (URL) auf
Verbindung mit Azure -Workloadidentitätsföderation erstellen
Wählen Sie eine der folgenden Authentifizierungsmethoden:
- Workload Identity Federation mit Zugriffstoken
- Workload Identity Federation mit Token-URL
Verwenden Sie für das Feld „ Zielgruppe des Security Token Service“ das unter Authentifizieren einer Workload, die die REST-API verwendet, beschriebene Format. Beispiel:
//iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/PROVIDER_ID
Geben Sie für E-Mail für Servicekontodie E-Mail-Adresse des Google -Servicekontos ein, dessen Identität angenommen werden soll. Weitere Informationen finden Sie unter Erstellen eines Dienstkontos für die externe Arbeitslast .
(Optional) Geben Sie einen Wert für Lebensdauer des Service-Account-Tokens in Sekunden an. Die Standardlebensdauer eines Servicekontozugriffstokens beträgt eine Stunde. Weitere Informationen finden Sie unter Anmeldeinformationen aus URL-Quellen .
Wenn Sie Workload Identity Federation with token URLangegeben haben, verwenden Sie die folgenden Werte:
- Token-URL:
https://login.microsoftonline.com/TENANT_ID/oauth2/v2.0/token
. Diese URL ruft ein Token aus Azureab. - HTTP-Methode:
POST
- HTTP-Header:
"Content-Type"="application/x-www-form-urlencoded;charset=UTF-8","Accept"="application/json"
- Anforderungshauptteil:
grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&scope=APPLICATION_ID_URI/.default
- Token-URL:
Wählen Sie für Tokentypdie Option ID-Token für einen Identitätsprovider aus, der der OIDC-Spezifikation ( OpenID Connect) entspricht. Weitere Informationen finden Sie unter Token-Typen .
Die Option Tokenformat hängt von dieser Authentifizierungsauswahl ab:
- Workload Identity Federation with access token: Wählen Sie Text aus, wenn Sie den Wert des unformatierten Tokens im Feld Zugriffstoken angegeben haben.
- Workload Identity Federation with token URL: Verwenden Sie für eine Antwort von der Token-URL im JSON-Format mit dem Zugriffstoken, das in einem Feld namens
access_token
zurückgegeben wird, die folgenden Einstellungen:- Tokenformat:
JSON
- Tokenfeldname:
access_token
- Tokenformat: