Geben Sie die Identitätsanbieter-Attributzuordnungen für Ihren Benutzerpool an - Amazon Cognito

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Geben Sie die Identitätsanbieter-Attributzuordnungen für Ihren Benutzerpool an

Sie können die AWS Management Console oder die - AWS CLI oder -API verwenden, um Attributzuordnungen für den Identitätsanbieter (IdP) Ihres Benutzerpools anzugeben.

Wissenswertes über Mappings

Bevor Sie mit der Einrichtung der Zuordnung von Benutzerattributen beginnen, lesen Sie die folgenden wichtigen Details.

  • Bei der Anmeldung eines Verbundbenutzers bei Ihrer Anwendung muss ein Mapping für jedes Benutzerpool-Attribut vorhanden sein, das Ihr Benutzerpool verlangt. Beispiel: Wenn Ihr Benutzerpool ein email-Attribut für die Anmeldung erfordert, ordnen Sie dieses Attribut seiner Entsprechung vom IDP zu.

  • Standardmäßig werden zugeordnete E-Mail-Adressen nicht überprüft. Sie können eine zugeordnete E-Mail-Adresse nicht mit einem einmaligen Code verifizieren. Ordnen Sie stattdessen ein Attribut von Ihrem IdP zu, um den Überprüfungsstatus zu erhalten. Google und die meisten OIDC-Anbieter enthalten beispielsweise das email_verified-Attribut.

  • So können in Ihrem Benutzerpool Identitätsanbieter(IDP)-Token benutzerdefinierten Attributen zuordnen. Anbieter sozialer Netzwerke präsentieren ein Zugriffstoken, und OIDC-Anbieter präsentieren ein Zugriffs- und ein ID-Token. Um ein Token zuzuordnen, fügen Sie ein benutzerdefiniertes Attribut mit einer maximalen Länge von 2048 Zeichen hinzu, gewähren Sie Ihrem App-Client Schreibzugriff auf das Attribut und ordnen Sie dem benutzerdefinierten Attribut access_token oder id_token des IDP zu.

  • Für jedes zugeordnete Benutzerpool-Attribut muss die maximale Länge des Wertes (2048 Zeichen) für den Wert groß genug sein, den Amazon Cognito vom IDP abruft. Andernfalls meldet Amazon Cognito einen Fehler, wenn sich Benutzer bei Ihrer Anwendung anmelden. Amazon Cognito unterstützt die Zuordnung von IDP-Token zu benutzerdefinierten Attributen nicht, wenn die Token mehr als 2048 Zeichen lang sind.

  • Amazon Cognito leitet das username Attribut im Profil eines Verbundbenutzers aus bestimmten Ansprüchen ab, die Ihr Verbund-IdP übergibt, wie in der folgenden Tabelle gezeigt. Amazon Cognito stellt diesem Attributwert den Namen Ihres IdP voran, z. B. MyOIDCIdP_[sub]. Wenn Sie möchten, dass Ihre Verbundbenutzer über ein Attribut verfügen, das genau mit einem Attribut in Ihrem externen Benutzerverzeichnis übereinstimmt, ordnen Sie dieses Attribut einem Amazon Cognito-Anmeldeattribut wie zupreferred_username.

    Identitätsanbieter Quellattribut username
    Facebook id
    Google sub
    Login with Amazon user_id
    Mit Apple anmelden sub
    SAML-Anbieter NameID
    Open ID Connect (OIDC)-Anbieter sub
  • Amazon Cognito muss Ihre zugeordneten Benutzerpool-Attribute aktualisieren können, wenn sich Benutzer bei Ihrer Anwendung anmelden. Wenn sich ein Benutzer über einen IdP anmeldet, aktualisiert Amazon Cognito die zugeordneten Attribute mit den neuesten Informationen vom IdP. Amazon Cognito aktualisiert die einzelnen zugeordneten Attribute. Dies gilt auch dann, wenn der aktuelle Wert bereits den neuesten Informationen entspricht. Um sicherzustellen, dass Amazon Cognito die Attribute aktualisieren kann, überprüfen Sie die folgenden Voraussetzungen:

    • Alle benutzerdefinierten Attribute des Benutzerpools, die Sie von Ihrem IDP aus zuordnen, müssen veränderbar sein. Sie können veränderbare benutzerdefinierte Attribute jederzeit aktualisieren. Im Gegensatz dazu können Sie nur einen Wert für das unveränderliche benutzerdefinierte Attribut festlegen, wenn Sie das Benutzerprofil erstellen. Wenn Sie ein veränderbares benutzerdefiniertes Attribut in der Amazon-Cognito-Konsole erstellen möchten, aktivieren Sie das Kontrollkästchen Mutable (Veränderbar) für das Attribut, das Sie beim Auswählen von Add custom attributes (Benutzerdefinierte Attribute hinzufügen) auf der Registerkarte Sign-up experience (Anmeldeerlebnis) hinzufügen. Wenn Sie Ihren Benutzerpool mithilfe der CreateUserPool -API-Operation erstellen, können Sie den Mutable Parameter für jedes dieser Attribute auf festlegentrue. Wenn Ihr IdP einen Wert für ein zugeordnetes unveränderliches Attribut sendet, gibt Amazon Cognito einen Fehler zurück und die Anmeldung schlägt fehl.

    • In den App-Client-Einstellungen für Ihre Anwendung müssen zugeordnete Attribute beschreibbar sein. Sie können festlegen, welche Attribute auf der Seite App-Clients in der Amazon-Cognito-Konsole beschreibbar sind. Wenn Sie den App-Client mithilfe der API-Operation CreateUserPoolClient erstellen, können Sie diese Attribute zum Array WriteAttributes hinzufügen. Wenn Ihr IdP einen Wert für ein zugeordnetes nicht beschreibbares Attribut sendet, legt Amazon Cognito den Attributwert nicht fest und fährt mit der Authentifizierung fort.

  • Wenn IDP-Attribute mehrere Werte enthalten, vereinfacht Amazon Cognito alle Werte in Form einer einzigen, durch Leerzeichen getrennten Zeichenfolge und codiert die Werte, die nicht alphanumerische Zeichen enthalten (mit Ausnahme der Zeichen ., -, * und _) per URL-Codierung. Sie müssen die einzelnen Werte vor der Verwendung in Ihrer App decodieren und analysieren.

Geben Sie die Identitätsanbieter-Attributzuordnungen für Ihren Benutzerpool an (AWS Management Console)

Sie können die verwenden AWS Management Console , um Attributzuordnungen für den IdP Ihres Benutzerpools anzugeben.

Anmerkung

Amazon Cognito ordnet eingehende Ansprüche nur dann Benutzerpoolattributen zu, wenn die Ansprüche im eingehenden Token vorhanden sind. Wenn ein zuvor zugeordneter Anspruch nicht mehr im eingehenden Token vorhanden ist, wird er nicht gelöscht oder geändert. Wenn Ihre Anwendung einen Abgleich von gelöschten Anforderungen erfordert, können Sie vor der Authentifizierung den Lambda-Auslöser verwenden, um das benutzerdefinierte Attribut während der Authentifizierung zu löschen und diesen Attributen das erneute Auffüllen aus dem eingehenden Token zu ermöglichen.

Geben Sie eine Attributzuordnung für einen Social-IDP wie folgt an
  1. Melden Sie sich bei der Amazon Cognito-Konsole an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre - AWS Anmeldeinformationen ein.

  2. Wählen Sie im Navigationsbereich erst User Pools (Benutzerpools) aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.

  3. Wählen Sie die Registerkarte Sign-in experience (Anmeldeerlebnis) aus und suchen Sie nach Federated sign-in (Verbundanmeldung).

  4. Wählen Sie Add an identity provider (Identitätsanbieter hinzufügen) oder den Facebook-, Google-, Amazon- oder Apple-IdP aus, den Sie konfiguriert haben. Suchen Sie nach Attribute mapping (Attributzuordnung) und wählen Sie Edit (Bearbeiten) aus.

    Weitere Informationen zum Hinzufügen eines Social-IdP finden Sie unter Hinzufügen von Social-Identity-Anbietern zu einem Benutzerpool.

  5. Für jedes Attribut, das Sie zuordnen müssen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie ein Attribut aus der Spalte User pool attribute (Benutzerpoolattribut) aus. Dies ist das Attribut, das dem Benutzerprofil in Ihrem Benutzerpool zugewiesen ist. Benutzerdefinierte Attribute werden nach Standardattributen aufgeführt.

    2. Wählen Sie ein Attribut aus der Spalte <provider>-Attribut aus. Dies ist das Attribut, das aus dem Anbieterverzeichnis übergeben wird. Bekannte Attribute des Social-Identity-Anbieters werden in einer Dropdown-Liste bereitgestellt.

    3. Um zusätzliche Attribute zwischen Ihrem IdP und Amazon Cognito zuzuordnen, wählen Sie Add another attribute (Weiteres Attribut hinzufügen) aus.

  6. Wählen Sie Save Changes.

So geben Sie das Attribut-Mapping für einen SAML-Anbieter an
  1. Melden Sie sich bei der Amazon Cognito-Konsole an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre - AWS Anmeldeinformationen ein.

  2. Wählen Sie im Navigationsbereich erst User Pools (Benutzerpools) aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.

  3. Wählen Sie die Registerkarte Sign-in experience (Anmeldeerlebnis) aus und suchen Sie nach Federated sign-in (Verbundanmeldung).

  4. Wählen Sie Add an identity provider (Identitätsanbieter hinzufügen) oder den SAML-IdP aus, den Sie konfiguriert haben. Suchen Sie nach Attribute mapping (Attributzuordnung) und wählen Sie Edit (Bearbeiten) aus. Weitere Informationen zum Hinzufügen eines SAML-IdP finden Sie unter Hinzufügen von SAML-Identitätsanbietern zu einem Benutzerpool.

  5. Für jedes Attribut, das Sie zuordnen müssen, führen Sie die folgenden Schritte aus:

    1. Wählen Sie ein Attribut aus der Spalte User pool attribute (Benutzerpoolattribut) aus. Dies ist das Attribut, das dem Benutzerprofil in Ihrem Benutzerpool zugewiesen ist. Benutzerdefinierte Attribute werden nach Standardattributen aufgeführt.

    2. Wählen Sie ein Attribut aus der Spalte SAML attribute (SAML-Attribut) aus. Dies ist das Attribut, das aus dem Anbieterverzeichnis übergeben wird.

      Ihr IdP bietet möglicherweise SAML-Assertions als Referenz an. Einige IdPs verwenden einfache Namen, wie z. B. email, während andere URL-formatierte Attributnamen ähnlich wie folgt verwenden:

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    3. Um zusätzliche Attribute zwischen Ihrem IdP und Amazon Cognito zuzuordnen, wählen Sie Add another attribute (Weiteres Attribut hinzufügen) aus.

  6. Wählen Sie Save Changes.

Angeben von Identitätsanbieter-Attributzuordnungen für Ihren Benutzerpool (AWS CLI und AWS API)

Verwenden Sie die folgenden Befehle für die Angabe von Attributzuordnungen für den IdP Ihres Benutzerpools

So geben Sie Attributzuordnungen auf Anbieter-Erstellungszeit an
  • AWS CLI: aws cognito-idp create-identity-provider

    Beispiel mit Metadaten-Dokument: : aws cognito-idp create-identity-provider --user-pool-id <user_pool_id> --provider-name=SAML_provider_1 --provider-type SAML --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

    Wo details.json enthält:

    { "MetadataFile": "<SAML metadata XML>" }
    Anmerkung

    Falls das <SAML metadata XML> Anführungsstriche (") enthält, müssen sie durch Escapezeichen (\") geschützt werden.

    Beispiel mit Metadaten-URL:

    aws cognito-idp create-identity-provider \ --user-pool-id us-east-1_EXAMPLE \ --provider-name=SAML_provider_1 \ --provider-type SAML \ --provider-details MetadataURL=https://myidp.example.com/saml/metadata \ --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • AWS API: CreateIdentityProvider

Geben Sie Attributzuordnungen für einen vorhandenen Identitätsanbieter wie folgt an
  • AWS CLI: aws cognito-idp update-identity-provider

    Beispiel: aws cognito-idp update-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name> --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

  • AWS API: UpdateIdentityProvider

Rufen Sie Informationen über das Attribut-Mapping für einen bestimmten IdP wie folgt auf
  • AWS CLI: aws cognito-idp describe-identity-provider

    Beispiel: aws cognito-idp describe-identity-provider --user-pool-id <user_pool_id> --provider-name <provider_name>

  • AWS API: DescribeIdentityProvider