

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.

# Verknüpfen von Verbundbenutzern mit einem vorhandenen Benutzerprofil
<a name="cognito-user-pools-identity-federation-consolidate-users"></a>

Oft hat derselbe Benutzer ein Profil mit mehreren Identitätsanbietern (IdPs), die Sie mit Ihrem Benutzerpool verbunden haben. Amazon Cognito kann jedes Vorkommen eines Benutzers mit demselben Benutzerprofil in Ihrem Verzeichnis verknüpfen. Auf diese Weise kann eine Person, die mehrere IdP-Benutzer hat, ein einheitliches Erlebnis in Ihrer App haben. [AdminLinkProviderForUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminLinkProviderForUser.html)weist Amazon Cognito an, die eindeutige ID eines Benutzers in Ihrem Verbundverzeichnis als Benutzer im Benutzerpool zu erkennen. Ein Benutzer in Ihrem Benutzerpool zählt als ein monatlicher aktiver Benutzer (MAU) für die [Abrechnung](https://aws.amazon.com/cognito/pricing/), wenn Sie null oder mehr Verbundidentitäten mit dem Benutzerprofil verknüpft haben.

Wenn sich ein Verbundbenutzer zum ersten Mal an Ihrem Benutzerpool anmeldet, sucht Amazon Cognito nach einem lokalen Profil, das Sie mit seiner Identität verknüpft haben. Wenn kein verknüpftes Profil vorhanden ist, erstellt Ihr Benutzerpool ein neues Profil. Sie können jederzeit vor der ersten Anmeldung ein lokales Profil erstellen und es mit Ihrem Verbundbenutzer verknüpfen, und zwar in einer `AdminLinkProviderForUser` API-Anfrage, entweder in einer geplanten Prestaging-Aufgabe oder in einer. [Lambda-Auslöser für die Vorab-Registrierung](user-pool-lambda-pre-sign-up.md) Nachdem sich Ihr Benutzer angemeldet hat und Amazon Cognito ein verknüpftes lokales Profil findet, liest Ihr Benutzerpool die Ansprüche Ihres Benutzers und vergleicht sie mit den Zuordnungsregeln für den IdP. Ihr Benutzerpool aktualisiert dann das verknüpfte lokale Profil mit den Ansprüchen, die bei der Anmeldung zugeordnet wurden. Auf diese Weise können Sie das lokale Profil mit Zugriffsansprüchen konfigurieren und deren Identitätsansprüche bei Ihrem Anbieter behalten. up-to-date Nachdem Amazon Cognito Ihren Verbundbenutzer einem verknüpften Profil zugeordnet hat, meldet er sich immer bei diesem Profil an. Anschließend können Sie weitere Anbieteridentitäten Ihres Benutzers mit demselben Profil verknüpfen, um Kunden ein einheitliches Erlebnis in Ihrer App zu bieten. Um einen Verbundbenutzer zu verknüpfen, der sich zuvor angemeldet hat, müssen Sie zunächst das vorhandene Profil löschen. Sie können vorhandene Profile an ihrem Format erkennen: `{{[Provider name]}}_identifier`. Beispiel, `LoginWithAmazon_amzn1.account.AFAEXAMPLE`. Ein Benutzer, den Sie erstellt und dann mit einer Benutzeridentität eines Drittanbieters verknüpft haben, hat den Benutzernamen, mit dem er erstellt wurde, und ein `identities` Attribut, das die Details seiner verknüpften Identitäten enthält.

**Wichtig**  
Da `AdminLinkProviderForUser` es einem Benutzer mit einer externen föderierten Identität ermöglicht wird, sich als vorhandener Benutzer im Benutzerpool anzumelden, ist es wichtig, dass er nur mit externen Attributen IdPs und Anbieterattributen verwendet wird, denen der Anwendungsbesitzer vertraut hat.

Angenommen, Sie sind ein Managed Service Provider (MSP) mit einer App, die Sie mit mehreren Kunden teilen. Jeder Kunde meldet sich über Active Directory Federation Services (ADFS) bei Ihrer App an. Ihr IT-Administrator, Carlos, verfügt in jeder Domäne Ihrer Kunden über ein Konto. Sie möchten, dass Carlos unabhängig vom IDP bei jeder Anmeldung als App-Administrator erkannt wird.

Ihr ADFS enthält IdPs die E-Mail-Adresse von Carlos `msp_carlos@example.com` in der `email` Reklamation der SAML-Behauptungen von Carlos an Amazon Cognito. Sie erstellen einen Benutzer in Ihrem Benutzerpool mit dem Benutzernamen `Carlos`. Die folgenden Befehle AWS Command Line Interface (AWS CLI) verknüpfen Carlos' Identitäten mit, und. IdPs ADFS1 ADFS2 ADFS3

**Anmerkung**  
Sie können einen Benutzer basierend auf bestimmten Attributansprüchen verknüpfen. Diese Fähigkeit gibt es nur bei OIDC und SAML. IdPs Für andere Anbietertypen müssen Sie eine Verknüpfung basierend auf einem festen Quellattribut herstellen. Weitere Informationen finden Sie unter [AdminLinkProviderForUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminLinkProviderForUser.html). Sie müssen `ProviderAttributeName` auf `Cognito_Subject` festlegen, wenn Sie einen Social-Identity-IDP mit einem Benutzerprofil verknüpfen. `ProviderAttributeValue` muss die eindeutige Kennung des Benutzers bei Ihrem IDP sein.

```
aws cognito-idp admin-link-provider-for-user \
--user-pool-id us-east-1_EXAMPLE \
--destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \
--source-user ProviderName=ADFS1,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com

aws cognito-idp admin-link-provider-for-user \
--user-pool-id us-east-1_EXAMPLE \
--destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \
--source-user ProviderName=ADFS2,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com

aws cognito-idp admin-link-provider-for-user \
--user-pool-id us-east-1_EXAMPLE \
--destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \
--source-user ProviderName=ADFS3,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com
```

Das Benutzerprofil `Carlos` in Ihrem Benutzerpool verfügt jetzt über das folgende `identities`-Attribut.

```
[{
    "userId": "msp_carlos@example.com",
    "providerName": "ADFS1",
    "providerType": "SAML",
    "issuer": "http://auth.example.com",
    "primary": false,
    "dateCreated": 111111111111111
}, {
    "userId": "msp_carlos@example.com",
    "providerName": "ADFS2",
    "providerType": "SAML",
    "issuer": "http://auth2.example.com",
    "primary": false,
    "dateCreated": 111111111111111
}, {
    "userId": "msp_carlos@example.com",
    "providerName": "ADFS3",
    "providerType": "SAML",
    "issuer": "http://auth3.example.com",
    "primary": false,
    "dateCreated": 111111111111111
}]
```

**Wissenswertes zur Verknüpfung von Verbundbenutzern**
+ Sie können bis zu fünf Verbundbenutzer mit jedem Benutzerprofil verknüpfen.
+ Sie können Benutzer mit jedem IdP aus bis zu fünf IdP-Attributansprüchen verknüpfen, wie durch den `ProviderAttributeName` Parameter von `SourceUser` in einer `AdminLinkProviderForUser` API-Anfrage definiert. Wenn Sie beispielsweise mindestens einen Benutzer mit den Quellattributen`email`,,`phone`, und `location` verknüpft haben `department``given_name`, können Sie weitere Benutzer nur mit einem dieser fünf Attribute verknüpfen.
+ Sie können Verbundbenutzer entweder mit einem vorhandenen Verbundbenutzerprofil oder mit einem lokalen Benutzer verknüpfen.
+ Sie können Anbieter nicht mit Benutzerprofilen in der verknüpfen AWS-Managementkonsole.
+ Das ID-Token Ihres Benutzers enthält alle zugehörigen Anbieter im `identities`-Anspruch.
+ Sie können in einer API-Anfrage ein Passwort für das automatisch erstellte Verbundbenutzerprofil festlegen. [AdminSetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html) Der Status dieses Benutzers ändert sich dann von `EXTERNAL_PROVIDER` zu `CONFIRMED`. Ein Benutzer in diesem Status kann sich als Verbundbenutzer anmelden und Authentifizierungsabläufe in der API wie ein verknüpfter lokaler Benutzer initiieren. Sie können ihr Passwort und ihre Attribute auch in API-Anfragen mit Token-Authentifizierung wie und ändern. [ChangePassword[UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ChangePassword.html) Als bewährte Sicherheitsmethode und zur Synchronisierung von Benutzern mit Ihrem externen IdP sollten Sie keine Passwörter für Verbundbenutzerprofile festlegen. Verknüpfen Sie Benutzer stattdessen mit lokalen Profilen mit `AdminLinkProviderForUser`.
+ Amazon Cognito füllt Benutzerattribute in ein verknüpftes lokales Benutzerprofil ein, wenn sich der Benutzer über seinen IdP anmeldet. Amazon Cognito verarbeitet Identitätsansprüche im ID-Token von einem OIDC-IdP und überprüft auch den `userInfo` Endpunkt von OAuth 2.0- und OIDC-Anbietern. Amazon Cognito priorisiert Informationen in einem ID-Token gegenüber Informationen von`userInfo`.

Wenn Sie erkennen, dass Ihr Benutzer kein externes Benutzerkonto mehr verwendet, das Sie mit seinem Profil verknüpft haben, können Sie die Zuordnung dieses Benutzerkontos zu Ihrem Benutzerpool-Benutzer aufheben. Bei der Verknüpfung des Benutzers haben Sie in der Anfrage den Attributnamen, den Attributwert und den Anbieternamen des Benutzers angegeben. Um ein Profil zu entfernen, das Ihr Benutzer nicht mehr benötigt, stellen Sie eine [AdminDisableProviderForUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminDisableProviderForUser.html)API-Anfrage mit entsprechenden Parametern.

[AdminLinkProviderForUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminLinkProviderForUser.html)Weitere Befehlssyntax und Beispiele finden Sie in der AWS SDKs.