Wie kann ich einen Amazon-Cognito-Benutzerpool für verschiedene Regionen und Konten mit einem Amazon-Cognito-Identitätspool integrieren?

Lesedauer: 3 Minute
0

Ich muss einen Amazon-Cognito-Benutzerpool in einen Amazon-Cognito-Identitätspool integrieren, für den Fall, dass sie sich in verschiedenen Konten befinden.

Kurzbeschreibung

Wenn sich ein Benutzer bei Ihrer Anwendung anmeldet, überprüft Amazon Cognito die Anmeldeinformationen. Nach erfolgreicher Anmeldung erstellt ein Amazon-Cognito-Benutzerpool eine Sitzung und gibt ID-, Zugriffs- und Aktualisierungstoken an den authentifizierten Benutzer zurück.

Ein Amazon-Cognito-Identitätspool stellt temporäre AWS-Anmeldeinformationen für nicht authentifizierte Gastbenutzer und authentifizierte Benutzer bereit, die Token von unterstützten Identitätsanbietern (IdPs) erhalten. Mit diesen AWS-Anmeldeinformationen kann Ihre Anwendung sicher auf AWS-Services zugreifen.

Sie können einen Amazon-Cognito-Benutzerpool in einen Amazon-Cognito-Identitätspool integrieren, der sich in einem anderen AWS-Konto befindet. Mit dieser Konfiguration authentifizieren sich Ihre Benutzer von einem Benutzerpool in einem Konto aus. Für den Zugriff auf AWS-Services verwenden Ihre Benutzer dann temporäre AWS-Anmeldeinformationen, die sie aus einem Identitätspool in einem anderen Konto erhalten.

Auflösung

Das folgende kontoübergreifende Szenario ist eine Beispielkonfiguration.

Ein Amazon-Cognito-Benutzerpool befindet sich in Konto-A in der AWS-Region USA Ost (Nord-Virginia). Der Amazon-Cognito-Identitätspool befindet sich in Konto-B in der Region Asien-Pazifik (Mumbai).

In diesem Szenario müssen Sie temporäre Anmeldeinformationen aus dem Konto-B-Identitätspool für einen Benutzer abrufen, der den Konto-A-Benutzerpool zur Authentifizierung verwendet. Sie müssen den Konto-A-Benutzerpool als Authentifizierungsanbieter zum Konto-B-Identitätspool hinzufügen.

Gehen Sie wie folgt vor, um den Benutzerpool als Authentifizierungsanbieter hinzuzufügen:

1.    Öffnen Sie die neue Amazon-Cognito-Konsole in Konto-A.

2.    Wählen Sie Benutzerpools und dann den entsprechenden Benutzerpool aus der Liste aus.

3.    Kopieren Sie die Werte für die Benutzerpool-ID und die App-Client-ID und speichern Sie sie extern.

Beispiel für einen Benutzerpool als Authentifizierungsanbieter:

Konto-A-Benutzerpool
Benutzerpool-ID: us-east-1_xxxxxxxxx
App-Client-ID: 79i7hhxxxxxxxx1d5iciiu7

4.    Öffnen Sie die neue Amazon-Cognito-Konsole in Konto-B und wählen Sie dann Verbundidentitäten.

5.    Wählen Sie aus der Liste der Identitätspools den entsprechenden Identitätspool aus.

6.    Identitätspool bearbeiten auswählen. Die Seite Identitätspool bearbeiten wird angezeigt.

7.    Scrollen Sie nach unten und wählen Sie Authentifizierungsanbieter aus, um die Optionen des Authentifizierungsanbieters anzuzeigen.

8.    Fügen Sie als Benutzerpool-ID die Benutzerpool-ID ein, die Sie zuvor kopiert haben.

9.    Fügen Sie als App-Client-ID die App-Client-ID ein, die Sie zuvor kopiert haben.

10.    Speichern Sie Ihre Änderungen.

Rufen Sie die UpdateIdentityPool-API auf, um den Benutzerpool als einen Authentifizierungsanbieter hinzuzufügen.

Beispiel für den Befehl update-identity-pool:

aws cognito-identity update-identity-pool --identity-pool-id example_identity_pool_id --identity-pool-name example_identity_pool_name --no-allow-unauthenticated-identities --cognito-identity-providers ProviderName=cognito-idp.example_region.amazonaws.com/example_user_pool_id,ClientId=example_app_client_id,ServerSideTokenCheck=false --region example_region

Beschreibungen für den Befehl update-identity-pool:

  • example_identity_pool_id entspricht der Identitätspool-ID in Konto-B. Beispiel: ap-south-1:12345678-abcd-abcd-abcd-1234567890ab.
  • example_app_client_id steht für die Client-ID von Konto-A. Beispiel: 79i7hhxxxxxxxx1d5iciiu7.
  • example_region steht für die Region des Identitätspools. Beispiel: ap-south-1.
  • example_identity_pool_name entspricht dem Namen des Identitätspools. Beispiel: test-pool.
  • example_user_pool_id steht für den Benutzerpool von Konto-A. Beispiel: us-east-1_xxxxxxxxx.

Wichtig: Da die UpdateIdentityPool-API die bestehende Konfiguration des Identitätspools zurücksetzt, rufen Sie zuerst die DescribeIdentityPool-API auf. Senden Sie dann alle vorhandenen Identitätspoolparameter an die UpdateIdentityPool-API.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr