

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.

# Verwendung von SAML-Identitätsanbietern mit einem Benutzerpool
<a name="cognito-user-pools-saml-idp"></a>

[Sie können wählen, ob sich Ihre Web- und mobilen App-Benutzer über einen SAML-Identitätsanbieter (IdP) wie [Microsoft Active Directory Federation Services (ADFS)](https://msdn.microsoft.com/en-us/library/bb897402.aspx) oder Shibboleth anmelden.](http://www.shibboleth.net/) Sie müssen einen SAML-IdP auswählen, der den [SAML-2.0-Standard](http://saml.xml.org/saml-specifications) unterstützt.

Mit verwalteter Anmeldung authentifiziert Amazon Cognito lokale IdP-Benutzer und Drittanbieter-IdP-Benutzer und gibt JSON-Webtoken aus (). JWTs Mit den Tokens, die Amazon Cognito ausgibt, können Sie mehrere Identitätsquellen in einem universellen OpenID Connect (OIDC) -Standard für all Ihre Apps konsolidieren. Amazon Cognito kann SAML-Assertionen von Ihren Drittanbietern in diesen SSO-Standard umwandeln. Sie können einen SAML-IdP in der AWS-Managementkonsole, über oder mit der Amazon Cognito Cognito-Benutzerpools-API erstellen und verwalten. AWS CLI Informationen zum Erstellen Ihres ersten SAML-IdP in der finden Sie AWS-Managementkonsole unter. [Hinzufügen und Verwalten von SAML-Identitätsanbietern in einem Benutzerpool](cognito-user-pools-managing-saml-idp.md)

![\[Übersicht über die Authentifizierung mit SAML-Anmeldung\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/scenario-authentication-saml.png)


**Anmerkung**  
Der Verbund mit Anmeldung über einen Drittanbieter-IdP ist eine Funktion der Amazon Cognito Cognito-Benutzerpools. Amazon Cognito-Identitätspools, manchmal auch Amazon Cognito Federated Identities genannt, sind eine Implementierung von Federation, die Sie in jedem Identitätspool separat einrichten müssen. Ein Benutzerpool kann ein Drittanbieter-IdP für einen Identitätspool sein. Weitere Informationen finden Sie unter [Amazon-Cognito-Identitätspools](cognito-identity.md).

## Kurzreferenz für die IdP-Konfiguration
<a name="cognito-user-pools-saml-idp-reference"></a>

Sie müssen Ihren SAML-IdP so konfigurieren, dass er Anfragen akzeptiert und Antworten an Ihren Benutzerpool sendet. Die Dokumentation für Ihren SAML-IdP enthält Informationen darüber, wie Sie Ihren Benutzerpool als vertrauende Partei oder Anwendung für Ihren SAML 2.0-IdP hinzufügen können. Die folgende Dokumentation enthält die Werte, die Sie für die SP-Entitäts-ID und die URL des Assertion Consumer Service (ACS) angeben müssen.Kurzübersicht zu den SAML-Werten für den Benutzerpool

**SP-Entitäts-ID**  

```
urn:amazon:cognito:sp:us-east-1_EXAMPLE
```

**ACS-URL**  

```
https://Your user pool domain/saml2/idpresponse
```

Sie müssen Ihren Benutzerpool so konfigurieren, dass er Ihren Identitätsanbieter unterstützt. Die allgemeinen Schritte zum Hinzufügen eines externen SAML-IdP lauten wie folgt.

1. Laden Sie SAML-Metadaten von Ihrem IdP herunter oder rufen Sie die URL zu Ihrem Metadaten-Endpunkt ab. Siehe [Konfiguration Ihres externen SAML-Identitätsanbieters](cognito-user-pools-integrating-3rd-party-saml-providers.md).

1. Fügen Sie Ihrem Benutzerpool einen neuen IdP hinzu. Laden Sie die SAML-Metadaten hoch oder geben Sie die Metadaten-URL an. Siehe [Hinzufügen und Verwalten von SAML-Identitätsanbietern in einem Benutzerpool](cognito-user-pools-managing-saml-idp.md).

1. Weisen Sie den IdP Ihren App-Clients zu. Siehe [Anwendungsspezifische Einstellungen mit App-Clients](user-pool-settings-client-apps.md).

**Topics**
+ [Kurzreferenz für die IdP-Konfiguration](#cognito-user-pools-saml-idp-reference)
+ [Wissenswertes über SAML IdPs in Amazon Cognito Cognito-Benutzerpools](cognito-user-pools-saml-idp-things-to-know.md)
+ [Groß- und Kleinschreibung von SAML-Benutzernamen](#saml-nameid-case-sensitivity)
+ [Konfiguration Ihres externen SAML-Identitätsanbieters](cognito-user-pools-integrating-3rd-party-saml-providers.md)
+ [Hinzufügen und Verwalten von SAML-Identitätsanbietern in einem Benutzerpool](cognito-user-pools-managing-saml-idp.md)
+ [Initiierung der SAML-Sitzung in Amazon-Cognito-Benutzerpools](cognito-user-pools-SAML-session-initiation.md)
+ [SAML-Benutzer mit Single Sign-Out abmelden](cognito-user-pools-saml-idp-sign-out.md)
+ [SAML-Signatur und Verschlüsselung](cognito-user-pools-SAML-signing-encryption.md)
+ [Namen und Kennungen von SAML-Identitätsanbietern](cognito-user-pools-managing-saml-idp-naming.md)

# Wissenswertes über SAML IdPs in Amazon Cognito Cognito-Benutzerpools
<a name="cognito-user-pools-saml-idp-things-to-know"></a>

Die Implementierung eines SAML 2.0-IdP ist mit einigen Anforderungen und Einschränkungen verbunden. Lesen Sie diesen Abschnitt, wenn Sie Ihren IdP implementieren. Sie finden dort auch Informationen, die für die Behebung von Fehlern beim SAML-Verbund mit einem Benutzerpool nützlich sind.

**Amazon Cognito verarbeitet SAML-Assertionen für Sie**  
Amazon-Cognito-Benutzerpools unterstützen den SAML-2.0-Verbund mit POST-Binding-Endpunkten. Auf diese Weise ist es nicht mehr notwendig, dass Ihre Anwendung SAML-Assertion-Rückmeldungen lädt oder analysiert, da der Benutzerpool die SAML-Rückmeldungen nun direkt von Ihrem IdP über einen Benutzeragenten erhält. Ihr Benutzerpool fungiert als Dienstanbieter (SP) im Namen Ihrer Anwendung. [Amazon Cognito unterstützt SP-initiiertes und IdP-initiiertes Single Sign-On (SSO), wie in den Abschnitten 5.1.2 und 5.1.4 der technischen Übersicht über SAML V2.0 beschrieben.](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html)

**Geben Sie ein gültiges IdP-Signaturzertifikat an**  
Das Signaturzertifikat in Ihren SAML-Provider-Metadaten darf nicht abgelaufen sein, wenn Sie den SAML-IdP in Ihrem Benutzerpool konfigurieren.

**Benutzerpools unterstützen mehrere Signaturzertifikate**  
Wenn Ihr SAML-IdP mehr als ein Signaturzertifikat in SAML-Metadaten enthält, stellt Ihr Benutzerpool bei der Anmeldung fest, dass die SAML-Assertion gültig ist, sofern sie mit einem Zertifikat in den SAML-Metadaten übereinstimmt. Jedes Signaturzertifikat darf nicht länger als 4.096 Zeichen sein.

**Behalten Sie den Relay-State-Parameter bei**  
Amazon Cognito und Ihr SAML-IdP verwalten Sitzungsinformationen mit einem `relayState`-Parameter.  

1. Amazon Cognito unterstützt `relayState`-Werte, die größer als 80 Byte sind. In SAML-Spezifikationen ist zwar angegeben, dass der Wert für `relayState` nicht größer als 80 Byte sein darf, aber in der Branche wird hiervon derzeit häufiger abgewichen. Die Folge ist, dass die Ablehnung von `relayState`-Werten mit mehr als 80 Byte dazu führt, dass für viele Standardintegrationen von SAML-Anbietern Fehler auftreten.

1. Das `relayState` Token ist ein undurchsichtiger Verweis auf Statusinformationen, die von Amazon Cognito verwaltet werden. Amazon Cognito übernimmt keine Garantie für den Inhalt des `relayState`-Parameters. Parsen Sie den Inhalt nicht so, dass Ihre App vom Ergebnis abhängig ist. Weitere Informationen finden Sie in der [Spezifikation zu SAML 2.0](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html).

**Identifizieren Sie den ACS-Endpunkt**  
Ihr SAML-Identitätsanbieter verlangt, dass Sie einen Assertions-Verbraucher-Endpunkt festlegen. Ihr IdP leitet Ihre Benutzer mit ihrer SAML-Assertion an diesen Endpunkt weiter. Konfigurieren Sie den folgenden Endpunkt in Ihrer Benutzerpool-Domäne für SAML-2.0-POST-Binding Ihres SAML-Identitätsanbieters.  

```
https://Your user pool domain/saml2/idpresponse
With an Amazon Cognito domain:
https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
With a custom domain:
https://auth.example.com/saml2/idpresponse
```
Weitere Informationen zum Erstellen von Benutzerpool-Domänen finden Sie unter [Konfigurieren einer Benutzerpool-Domäne](cognito-user-pools-assign-domain.md).

**Keine wiederholten Assertionen**  
Sie können eine SAML-Assertion nicht wiederholen und nicht erneut an Ihren Amazon-Cognito-`saml2/idpresponse`-Endpunkt *wiedergeben*. Eine erneut wiedergegebene SAML-Zusicherung hat eine Assertion-ID, die die ID einer früheren IdP-Antwort dupliziert.

**Die Benutzerpool-ID ist die SP-Entitäts-ID**  
Sie müssen Ihrem IdP Ihre Benutzerpool-ID im Service Provider (SP) mitteilen`urn`, die auch als *Zielgruppen-URI* oder *SP-Entitäts-ID* bezeichnet wird. Der Zielgruppen-URI für Ihren Benutzerpool hat das folgende Format.  

```
urn:amazon:cognito:sp:us-east-1_EXAMPLE
```
Sie finden Ihre Benutzerpool-ID unter **Benutzerpool-Übersicht** in der [Amazon Cognito Cognito-Konsole](https://console.aws.amazon.com/cognito/home).

**Ordnen Sie alle erforderlichen Attribute zu**  
Konfigurieren Sie Ihren SAML-IdP so, dass dieser Werte für alle in Ihrem Benutzerpool erforderlichen Attribute bereitstellt. Beispielsweise ist `email` ein typisches erforderliches Attribut für Benutzerpools. Bevor sich Ihre Benutzer anmelden können, müssen Ihre SAML-IdP-Assertions einen Anspruch enthalten, den Sie dem **Benutzerpool-Attribut** `email` zuordnen. Weitere Informationen zu Attributzuordnung finden Sie unter [Zuordnung von IdP-Attributen zu Profilen und Tokens](cognito-user-pools-specifying-attribute-mapping.md).

**Für das Assertion-Format gelten spezifische Anforderungen**  
Ihr SAML-IdP muss die folgenden Ansprüche in die SAML-Assertion aufnehmen.  
+ `NameID`Ein Anspruch. Amazon Cognito ordnet dem Zielbenutzer von eine SAML-Assertion zu. `NameID` Bei `NameID` Änderungen geht Amazon Cognito davon aus, dass die Assertion für einen neuen Benutzer gilt. Das Attribut, auf das Sie `NameID` in Ihrer IdP-Konfiguration festgelegt haben, muss einen dauerhaften Wert haben. Um SAML-Benutzer einem konsistenten Benutzerprofil in Ihrem Benutzerpool zuzuweisen, weisen Sie Ihren `NameID` Anspruch anhand eines Attributs mit einem Wert zu, der sich nicht ändert.

  ```
  <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent">
    carlos
  </saml2:NameID>
  ```

  Ein Wert `Format` in Ihrem `NameID` IdP-Anspruch von `urn:oasis:names:tc:SAML:1.1:nameid-format:persistent` bedeutet, dass Ihr IdP einen unveränderlichen Wert übergibt. Amazon Cognito benötigt diese Formatdeklaration nicht und weist ein Format von zu, `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified` falls Ihr IdP kein Format für den Anspruch angibt. `NameID` [Dieses Verhalten entspricht Abschnitt 2.2.2 *Complex Type Name der SAML IDType* 2.0-Spezifikation.](https://groups.oasis-open.org/higherlogic/ws/public/download/35711/sstc-saml-core-errata-2.0-wd-06-diff.pdf/latest)
+ Ein `AudienceRestriction`-Anspruch mit einem `Audience`-Wert, der die SP-Entitäts-ID Ihres Benutzerpools als Ziel der Antwort festlegt.

  ```
  <saml:AudienceRestriction>
    <saml:Audience> urn:amazon:cognito:sp:us-east-1_EXAMPLE
  </saml:AudienceRestriction>
  ```
+ Bei SP-initiiertem Single Sign-On ein `Response` Element mit einem `InResponseTo` Wert der ursprünglichen SAML-Anforderungs-ID.

  ```
  <saml2p:Response Destination="https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse" ID="id123" InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" IssueInstant="Date-time stamp" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  ```
**Anmerkung**  
IDP-initiierte SAML-Assertionen dürfen *keinen* Wert enthalten. `InResponseTo`
+ Ein `SubjectConfirmationData` Element mit dem `Recipient` Wert Ihres `saml2/idpresponse` Benutzerpool-Endpunkts und, bei SP-initiiertem SAML, einem `InResponseTo` Wert, der der ursprünglichen SAML-Anforderungs-ID entspricht.

  ```
  <saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="Date-time stamp" Recipient="https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse"/>
  ```

**Von SP initiierte Anmeldeanfragen**  
Wenn der [Autorisieren des Endpunkts](authorization-endpoint.md) Ihren Benutzer zur Anmeldeseite Ihres IDP umleitet, schließt Amazon Cognito eine *SAML-Anforderung* in einem URL-Parameter der `HTTP GET`-Anforderung ein. Eine SAML-Anfrage enthält Informationen über Ihren Benutzerpool, einschließlich Ihres ACS-Endpunkts. Sie können diese Anfragen optional mit einer kryptografischen Signatur versehen.

**Signieren Sie Anfragen und verschlüsseln Sie Antworten**  
Jeder Benutzerpool mit einem SAML-Anbieter generiert ein asymmetrisches key pair und ein *Signaturzertifikat* für eine digitale Signatur, die Amazon Cognito SAML-Anfragen zuweist. Jeder externe SAML-IdP, den Sie für die Unterstützung verschlüsselter SAML-Antworten konfigurieren, veranlasst Amazon Cognito, ein neues key pair und ein neues *Verschlüsselungszertifikat* für diesen Anbieter zu generieren. Um die Zertifikate mit dem öffentlichen Schlüssel anzusehen und herunterzuladen, wählen Sie in der Amazon Cognito Cognito-Konsole im Menü **Soziale Netzwerke und externe Anbieter** Ihren IdP aus.  
Um SAML-Anfragen aus Ihrem Benutzerpool vertrauenswürdig zu machen, stellen Sie Ihrem IdP eine Kopie Ihres SAML 2.0-Signaturzertifikats Ihres Benutzerpools zur Verfügung. Ihr IdP ignoriert möglicherweise SAML-Anfragen, die Ihr Benutzerpool signiert hat, wenn Sie den IdP nicht so konfigurieren, dass er signierte Anfragen akzeptiert.  

1. Amazon Cognito wendet eine digitale Signatur auf SAML-Anfragen an, die Ihr Benutzer an Ihren IdP weiterleitet. Ihr Benutzerpool signiert alle Single Logout (SLO) -Anfragen, und Sie können Ihren Benutzerpool so konfigurieren, dass Single Sign-On-Anfragen (SSO) für jeden externen SAML-IdP signiert werden. Wenn Sie eine Kopie des Zertifikats bereitstellen, kann Ihr IdP die Integrität der SAML-Anfragen Ihrer Benutzer überprüfen. 

1. Ihr SAML-IdP kann SAML-Antworten mit dem Verschlüsselungszertifikat verschlüsseln. Wenn Sie einen IdP mit SAML-Verschlüsselung konfigurieren, darf Ihr IdP nur verschlüsselte Antworten senden.

**Kodieren Sie nicht-alphanumerische Zeichen**  
Amazon Cognito akzeptiert keine 4-Byte-UTF-8-Zeichen wie 😐 oder 𠮷 die Ihr IdP als Attributwert weitergibt. Sie können das Zeichen mit Base64 codieren, um es als Text zu übergeben, und es dann in Ihrer App decodieren.  
Im folgenden Beispiel wird der Attributanspruch nicht akzeptiert:  

```
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">😐</saml2:AttributeValue>
</saml2:Attribute>
```
Im Gegenteil zum vorherigen Beispiel wird der Attributanspruch akzeptiert:  

```
<saml2:Attribute Name="Name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  <saml2:AttributeValue xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">8J+YkA==</saml2:AttributeValue>
</saml2:Attribute>
```

**Der Metadaten-Endpunkt muss über eine gültige Transportschichtsicherheit verfügen**  
Wenn Sie `InvalidParameterException` beim Erstellen eines SAML-IdP mit einer HTTPS-Metadatenendpunkt-URL beispielsweise „Fehler beim Abrufen von Metadaten von“ sehen*<metadata endpoint>*, stellen Sie sicher, dass für den Metadaten-Endpunkt SSL korrekt eingerichtet ist und dass ihm ein gültiges SSL-Zertifikat zugeordnet ist. Weitere Informationen zur Validierung von Zertifikaten finden Sie unter [Was ist](https://aws.amazon.com/what-is/ssl-certificate/) ein Zertifikat? SSL/TLS .

**Der Metadaten-Endpunkt muss sich auf dem Standard-TCP-Port für HTTP oder HTTPS befinden**  
Amazon Cognito akzeptiert nur Metadaten URLs für SAML-Anbieter auf den Standard-TCP-Ports 80 für HTTP und 443 für HTTPS. Aus Sicherheitsgründen empfiehlt es sich, SAML-Metadaten unter einer TLS-verschlüsselten URL mit dem Präfix zu hosten. `https://` Geben Sie Metadaten URLs im Format oder ein. *`http://www.example.com/saml2/metadata.xml`* *`https://www.example.com/saml2/metadata.xml`* Die Amazon Cognito Cognito-Konsole akzeptiert Metadaten URLs nur mit dem `https://` Präfix. Sie können IdP-Metadaten auch mit [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)und [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)konfigurieren.

**App-Clients mit IDP-initiierter SAML können sich nur mit SAML anmelden**  
Wenn Sie die Unterstützung für einen SAML 2.0-IdP aktivieren, der die vom IdP initiierte Anmeldung in einem App-Client unterstützt, können Sie diesem App-Client nur andere SAML IdPs 2.0-Dateien hinzufügen. Sie dürfen das Benutzerverzeichnis im Benutzerpool *und* alle externen Identitätsanbieter, die keine SAML sind, nicht zu einem auf diese Weise konfigurierten App-Client hinzufügen.

**Bei Abmeldeantworten muss die POST-Bindung verwendet werden**  
Der `/saml2/logout` Endpunkt akzeptiert `LogoutResponse` `HTTP POST` AS-Anfragen. Benutzerpools akzeptieren keine `HTTP GET` verbindlichen Abmeldeantworten.

**Rotation von Zertifikaten für die Signierung**  
Amazon Cognito speichert SAML-Metadaten für bis zu sechs Stunden im Cache, wenn Sie Metadaten mit einer URL angeben. Wenn Sie eine Zertifikatsrotation für die Signatur von Metadaten durchführen, konfigurieren Sie Ihre Metadatenquelle so, dass *sowohl* das ursprüngliche als auch das neue Zertifikat für mindestens sechs Stunden veröffentlicht werden. Wenn Amazon Cognito den Cache über die Metadaten-URL aktualisiert, behandelt es jedes Zertifikat als gültig und Ihr SAML-IdP kann beginnen, SAML-Assertionen mit dem neuen Zertifikat zu signieren. Nach Ablauf dieses Zeitraums können Sie das Originalzertifikat aus den veröffentlichten Metadaten entfernen.

## Groß- und Kleinschreibung von SAML-Benutzernamen
<a name="saml-nameid-case-sensitivity"></a>

Wenn ein Verbundbenutzer versucht, sich anzumelden, übergibt der SAML-Identitätsanbieter (IdP) in der SAML-Assertion des Benutzers einen eindeutigen `NameId` Wert für Amazon Cognito. Amazon Cognito identifiziert einen SAML-Verbundbenutzer anhand seines `NameId`-Anspruchs. Unabhängig von den Einstellungen für die Berücksichtigung von Groß- und Kleinschreibung in Ihrem Benutzerpool erkennt Amazon Cognito einen zurückkehrenden Verbundbenutzer von einem SAML-IdP, wenn er seinen eindeutigen Antrag unter Berücksichtigung der Groß- und Kleinschreibung weitergibt. `NameId` Wenn Sie ein Attribut wie `email` `NameId` zuordnen und Ihr Benutzer seine E-Mail-Adresse ändert, kann er sich nicht bei Ihrer App anmelden.

Ordnen Sie `NameId` in Ihren SAML-Assertionen von einem IDP-Attribut zu, das Werte enthält, die sich nicht ändern.

Carlos verfügt beispielsweise über ein Benutzerprofil in Ihrem Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung aus einer SAML-Assertion von Active Directory Federation Services (ADFS), die den `NameId`-Wert `Carlos@example.com` übergibt. Wenn Carlos das nächste Mal versucht, sich anzumelden, übergibt Ihr ADFS-IDP den `NameId`-Wert `carlos@example.com`. Da die Groß- und Kleinschreibung von `NameId` exakt übereinstimmen muss, ist die Anmeldung nicht erfolgreich.

Wenn Ihre Benutzer sich nicht anmelden können, nachdem sich ihre `NameID` geändert hat, löschen Sie ihre Benutzerprofile aus Ihrem Benutzerpool. Amazon Cognito erstellt bei der nächsten Anmeldung neue Benutzerprofile.

**Topics**
+ [Kurzreferenz für die IdP-Konfiguration](#cognito-user-pools-saml-idp-reference)
+ [Wissenswertes über SAML IdPs in Amazon Cognito Cognito-Benutzerpools](cognito-user-pools-saml-idp-things-to-know.md)
+ [Groß- und Kleinschreibung von SAML-Benutzernamen](#saml-nameid-case-sensitivity)
+ [Konfiguration Ihres externen SAML-Identitätsanbieters](cognito-user-pools-integrating-3rd-party-saml-providers.md)
+ [Hinzufügen und Verwalten von SAML-Identitätsanbietern in einem Benutzerpool](cognito-user-pools-managing-saml-idp.md)
+ [Initiierung der SAML-Sitzung in Amazon-Cognito-Benutzerpools](cognito-user-pools-SAML-session-initiation.md)
+ [SAML-Benutzer mit Single Sign-Out abmelden](cognito-user-pools-saml-idp-sign-out.md)
+ [SAML-Signatur und Verschlüsselung](cognito-user-pools-SAML-signing-encryption.md)
+ [Namen und Kennungen von SAML-Identitätsanbietern](cognito-user-pools-managing-saml-idp-naming.md)

# Konfiguration Ihres externen SAML-Identitätsanbieters
<a name="cognito-user-pools-integrating-3rd-party-saml-providers"></a>

Wenn Sie Ihrem Benutzerpool einen SAML-Identitätsanbieter (IdP) hinzufügen möchten, müssen Sie einige Konfigurationsaktualisierungen in der Verwaltungsoberfläche Ihres IdP vornehmen. In diesem Abschnitt wird beschrieben, wie Sie die Werte formatieren, die Sie Ihrem IdP zur Verfügung stellen müssen. Sie können auch erfahren, wie Sie das statische oder aktive URL-Metadatendokument abrufen, das den IdP und seine SAML-Ansprüche an Ihren Benutzerpool identifiziert.

Um SAML 2.0-Identitätsanbieter (IdP) -Lösungen von Drittanbietern so zu konfigurieren, dass sie mit dem Verbund für Amazon Cognito Cognito-Benutzerpools funktionieren, müssen Sie Ihren SAML-IdP so konfigurieren, dass er zur folgenden Assertion Consumer Service (ACS) -URL umleitet:. `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse` Wenn Ihr Benutzerpool über eine Amazon Cognito Cognito-Domain verfügt, finden Sie Ihren Benutzerpool-Domänenpfad im **Domain-Menü** Ihres Benutzerpools in der [Amazon Cognito Cognito-Konsole](https://console.aws.amazon.com/cognito/home).

Bei einigen IdPs SAMLs müssen Sie die auch als `urn` Zielgruppen-URI oder SP-Entitäts-ID bezeichnete ID im Formular angeben. `urn:amazon:cognito:sp:us-east-1_EXAMPLE` Sie finden Ihre Benutzerpool-ID unter **Benutzerpool-Übersicht** in der Amazon Cognito Cognito-Konsole.

Sie müssen Ihren SAML-IdP auch so konfigurieren, dass er Werte für alle Attribute bereitstellt, die Sie in Ihrem Benutzerpool als *erforderliche Attribute* festgelegt haben. In der Regel `email` ist dies ein erforderliches Attribut für Benutzerpools. In diesem Fall muss der SAML-IdP in seiner SAML-Assertion eine Form von `email` Anspruch angeben, und Sie müssen den Anspruch dem Attribut für diesen Anbieter zuordnen.

Die folgenden Konfigurationsinformationen für SAML 2.0-IdP-Lösungen von Drittanbietern sind ein guter Ausgangspunkt, um mit der Einrichtung eines Verbunds mit Amazon Cognito Cognito-Benutzerpools zu beginnen. Die aktuellsten Informationen finden Sie direkt in der Dokumentation Ihres Anbieters.

Um SAML-Anfragen zu signieren, müssen Sie Ihren IdP so konfigurieren, dass er Anfragen vertraut, die mit Ihrem Benutzerpool-Signaturzertifikat signiert wurden. Um verschlüsselte SAML-Antworten zu akzeptieren, müssen Sie Ihren IdP so konfigurieren, dass er *alle* SAML-Antworten an Ihren Benutzerpool verschlüsselt. Ihr Anbieter wird über eine Dokumentation zur Konfiguration dieser Funktionen verfügen. Ein Beispiel von Microsoft finden [Sie unter Microsoft Entra SAML-Tokenverschlüsselung konfigurieren](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/howto-saml-token-encryption).

**Anmerkung**  
Amazon Cognito benötigt nur das Metadatendokument Ihres Identitätsanbieters. Ihr Anbieter bietet möglicherweise auch benutzerdefinierte Konfigurationsinformationen für den SAML 2.0-Verbund mit IAM oder. AWS IAM Identity Center Um zu erfahren, wie Sie die Amazon Cognito Cognito-Integration einrichten, suchen Sie nach allgemeinen Anweisungen zum Abrufen des Metadatendokuments und verwalten Sie den Rest der Konfiguration in Ihrem Benutzerpool.


| Lösung | Weitere Informationen | 
| --- | --- | 
| Microsoft Entra ID | [Föderations-Metadaten](https://learn.microsoft.com/en-us/entra/identity-platform/federation-metadata) | 
| Okta | [So laden Sie die IdP-Metadaten und SAML-Signaturzertifikate für eine SAML-App-Integration herunter](https://support.okta.com/help/s/article/Location-to-download-Okta-IDP-XML-metadata-for-a-SAML-app-in-the-new-Admin-User-Interface) | 
| Auth0 | [Konfigurieren Sie Auth0 als SAML-Identitätsanbieter](https://auth0.com/docs/authenticate/protocols/saml/saml-sso-integrations/configure-auth0-saml-identity-provider) | 
| Ping-Identität () PingFederate | [Exportieren von SAML-Metadaten von PingFederate](https://docs.pingidentity.com/integrations/contentful/configuring_single_sign-on/pf_contentful_integration_exporting_saml_metadata_from_pf.html) | 
| JumpCloud | [Hinweise zur SAML-Konfiguration](https://jumpcloud.com/support/saml-configuration-notes) | 
| SecureAuth | [Integration von SAML-Anwendungen](https://docs.secureauth.com/2104/en/saml-application-integration.html) | 

# Hinzufügen und Verwalten von SAML-Identitätsanbietern in einem Benutzerpool
<a name="cognito-user-pools-managing-saml-idp"></a>

Nachdem Sie Ihren Identitätsanbieter für die Zusammenarbeit mit Amazon Cognito konfiguriert haben, können Sie ihn zu Ihren Benutzerpools und App-Clients hinzufügen. Die folgenden Verfahren zeigen, wie Sie SAML-Anbieter in einem Amazon Cognito Cognito-Benutzerpool erstellen, ändern und löschen.

------
#### [ AWS-Managementkonsole ]

Sie können den verwenden AWS-Managementkonsole , um SAML-Identitätsanbieter zu erstellen und zu löschen (). IdPs

Bevor Sie einen SAML-IdP erstellen, benötigen Sie das SAML-Metadatendokument, das Sie vom Drittanbieter-IdP erhalten. Anweisungen zum Abrufen oder Generieren des erforderlichen SAML-Metadaten-Dokuments finden Sie unter [Konfiguration Ihres externen SAML-Identitätsanbieters](cognito-user-pools-integrating-3rd-party-saml-providers.md).

**Konfigurieren Sie einen SAML-2.0-IdP in Ihrem Benutzerpool wie folgt**

1. Melden Sie sich bei der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an. Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Wählen Sie das Menü **Soziale Netzwerke und externe Anbieter** und wählen Sie dann Identitätsanbieter **hinzufügen** aus.

1. Wählen Sie einen **SAML**-IDP aus.

1. Geben Sie einen **Anbieternamen** ein. Sie können diesen benutzerfreundlichen Namen in einem `identity_provider` Anforderungsparameter an den übergeben[Autorisieren des Endpunkts](authorization-endpoint.md).

1. Geben Sie **IDs** durch Kommas getrennt ein. Eine ID teilt Amazon Cognito mit, dass die E-Mail-Adresse überprüft werden sollte, die ein Benutzer bei der Anmeldung eingibt. Anschließend werden Benutzer zu dem Anbieter weitergeleitet, der ihrer Domäne entspricht.

1. Wählen Sie **Add sign-out flow** (Abmeldeablauf hinzufügen) aus, wenn Amazon Cognito signierte Abmeldeanfragen an Ihren Anbieter senden soll, wenn sich ein Benutzer abmeldet. Sie müssen Ihren SAML 2.0-IdP so konfigurieren, dass er Abmeldeantworten an den `https://mydomain.auth.us-east-1.amazoncognito.com/saml2/logout` Endpunkt sendet, der bei der Konfiguration der verwalteten Anmeldung erstellt wird. Dieser `saml2/logout`-Endpunkt verwendet POST-Binding.
**Anmerkung**  
Wenn diese Option ausgewählt ist und Ihr SAML-IdP eine signierte Abmeldeanforderung erwartet, müssen Sie Ihrem SAML-IdP auch das Signaturzertifikat aus Ihrem Benutzerpool zur Verfügung stellen.  
Der SAML-IdP verarbeitet die signierte Abmeldeanforderung und meldet Ihren Benutzer von der Amazon-Cognito-Sitzung ab.

1. Wählen Sie Ihre **IDP-initiierte SAML-Anmeldekonfiguration.** Wählen Sie aus Sicherheitsgründen die Option Nur **SP-initiierte SAML-Assertionen akzeptieren**. Wenn Sie Ihre Umgebung so vorbereitet haben, dass sie unaufgeforderte SAML-Anmeldesitzungen sicher akzeptiert, wählen Sie **SP-initiierte und IdP-initiierte SAML-Assertionen akzeptieren**. Weitere Informationen finden Sie unter [Initiierung der SAML-Sitzung in Amazon-Cognito-Benutzerpools](cognito-user-pools-SAML-session-initiation.md).

1. Wählen Sie eine **Metadaten-Dokumentquelle** aus. Wenn Ihr IdP SAML-Metadaten unter einer öffentlichen URL anbietet, können Sie **Metadata document URL** (URL für Metadatendokumente) auswählen und die öffentliche URL eingeben. Wählen Sie andernfalls **Upload metadata document** (Hochladen eines Metadatendokuments) und anschließend eine Metadatendatei aus, die Sie zuvor von Ihrem Anbieter heruntergeladen haben.
**Anmerkung**  
Wir empfehlen, dass Sie eine URL für ein Metadaten-Dokument eingeben, wenn Ihr Anbieter über einen öffentlichen Endpunkt verfügt, anstatt eine Datei hochzuladen. Amazon Cognito aktualisiert automatisch Metadaten aus der Metadaten-URL. Normalerweise werden die Metadaten alle sechs Stunden oder bevor sie ablaufen aktualisiert, je nachdem, was zuerst eintritt.

1. **Ordnen Sie Attribute zwischen Ihrem SAML-Anbieter und Ihrem Benutzerpool** zu, um SAML-Anbieterattribute dem Benutzerprofil in Ihrem Benutzerpool zuzuordnen. Fügen Sie die erforderlichen Attribute Ihres Benutzerpools in Ihre Attributzuordnung ein. 

   Wenn Sie beispielsweise das **Benutzerpool-Attribut** `email` auswählen, geben Sie den SAML-Attributnamen so ein, wie dieser in der SAML-Assertion Ihres IdP angezeigt wird. Bietet Ihr IdP Beispiele für SAML-Assertionen, können Sie sich die Namensfindung erleichtern. Einige IdPs verwenden einfache Namen, z. B.`email`, während andere Namen wie die folgenden verwenden.

   ```
   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
   ```

1. Wählen Sie **Erstellen** aus.

------
#### [ API/CLI ]

Verwenden Sie die folgenden Befehle zum Erstellen und Verwalten eines SAML-Identitätsanbieters (IdP).

**Erstellen Sie einen IdP und laden Sie ein Metadaten-Dokument wie folgt hoch**
+ AWS CLI: `aws cognito-idp create-identity-provider`

  Beispiel mit Metadaten-Dokument: : `aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE --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:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**Anmerkung**  
Wenn das *<SAML metadata XML>* Zeichen vorkommt`"`, müssen Sie es `\` als Escape-Zeichen hinzufügen:`\"`.

  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/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API: [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)

**So laden Sie ein neues Metadatendokument für einen Identitätsanbieter hoch**
+ AWS CLI: `aws cognito-idp update-identity-provider`

  Beispiel mit Metadaten-Dokument: : `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details file:///details.json --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`

  Wo `details.json` enthält:

  ```
  "ProviderDetails": { 
        "MetadataFile": "<SAML metadata XML>",
        "IDPSignout" : "true",
        "RequestSigningAlgorithm" : "rsa-sha256",
        "EncryptedResponses" : "true",
        "IDPInit" : "true"
  }
  ```
**Anmerkung**  
Wenn das *<SAML metadata XML>* Zeichen vorkommt`"`, müssen Sie `\` als Escape-Zeichen Folgendes hinzufügen:`\"`.

  Beispiel mit Metadaten-URL: : `aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1 --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata --attribute-mapping email=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress`
+ AWS API: [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)

**Rufen Sie Informationen zu einem bestimmten IDP wie folgt auf**
+ AWS CLI: `aws cognito-idp describe-identity-provider`

  `aws cognito-idp describe-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API: [DescribeIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeIdentityProvider.html)

**Um Informationen über alle aufzulisten IdPs**
+ AWS CLI: `aws cognito-idp list-identity-providers`

  Beispiel: `aws cognito-idp list-identity-providers --user-pool-id us-east-1_EXAMPLE --max-results 3`
+ AWS API: [ListIdentityProviders](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListIdentityProviders.html)

**So löschen Sie einen Identitätsanbieter**
+ AWS CLI: `aws cognito-idp delete-identity-provider`

  `aws cognito-idp delete-identity-provider --user-pool-id us-east-1_EXAMPLE --provider-name=SAML_provider_1`
+ AWS API: [DeleteIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteIdentityProvider.html)

------

**So richten Sie den SAML-IdP zum Hinzufügen eines Benutzerpools als vertrauende Seite ein**
+ Der Benutzerpool-Serviceanbieter-URN lautet: `urn:amazon:cognito:sp:us-east-1_EXAMPLE`. Amazon Cognito erfordert einen Wert für die Zielgruppeneinschränkung, der dieser URN in der SAML-Antwort entspricht. Konfigurieren Sie Ihren IdP so, dass er den folgenden POST-Bindungsendpunkt für die IdP-to-SP Antwortnachricht verwendet.

  ```
  https://mydomain.auth.us-east-1.amazoncognito.com/saml2/idpresponse
  ```
+ Ihr SAML-IdP muss alle erforderlichen Attribute für Ihren Benutzerpool in der SAML-Assertion auffüllen`NameID`. `NameID`wird zur eindeutigen Identifizierung Ihres SAML-Verbundbenutzers im Benutzerpool verwendet. Ihr IdP muss die SAML-Namen-ID jedes Benutzers in einem konsistenten Format übergeben, bei dem Groß- und Kleinschreibung beachtet wird. Jede Änderung des Werts der Namen-ID eines Benutzers erstellt ein neues Benutzerprofil.

**So stellen Sie ein Signaturzertifikat für Ihren SAML-2.0-IdP bereit**
+ **Um eine Kopie des öffentlichen Schlüssels von Amazon Cognito herunterzuladen, mit dem Ihr IdP SAML-Abmeldeanfragen validieren kann, wählen Sie das Menü **Soziale Netzwerke und externe Anbieter** in Ihrem Benutzerpool, wählen Sie Ihren IdP aus und wählen Sie unter **Signaturzertifikat anzeigen** die Option Als .crt herunterladen aus.**

Sie können jeden SAML-Anbieter, den Sie in Ihrem Benutzerpool eingerichtet haben, mit der Amazon-Cognito-Konsole löschen.

**So löschen Sie einen SAML-Anbieter**

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an.

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

1. **Wählen Sie das Menü Soziale Netzwerke und externe Anbieter.**

1. Wählen Sie das Optionsfeld neben der SAML aus, die IdPs Sie löschen möchten.

1. Wenn Sie aufgefordert werden, den **Identitätsanbieter zu löschen**, geben Sie den Namen des SAML-Anbieters ein, um das Löschen zu bestätigen. Wählen Sie danach **Delete** (Löschen) aus.

# Initiierung der SAML-Sitzung in Amazon-Cognito-Benutzerpools
<a name="cognito-user-pools-SAML-session-initiation"></a>

Amazon Cognito unterstützt vom Service Provider initiiertes (SP-initiiertes) Single Sign-On (SSO) und IdP-initiiertes SSO. Als bewährte Sicherheitspraxis sollten Sie SP-initiiertes SSO in Ihrem Benutzerpool implementieren. Abschnitt 5.1.2 des [ SAML V2.0 Technical Overview](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html#5.1.2.SP-Initiated%20SSO:%20%20Redirect/POST%20Bindings|outline) beschreibt SP-initiiertes SSO. Amazon Cognito ist der Identitätsanbieter (IDP) für Ihre App. Die App ist der Serviceanbieter (SP), der Token für authentifizierte Benutzer abruft. Wenn Sie jedoch einen IdP eines Drittanbieters verwenden, um Benutzer zu authentifizieren, ist Amazon Cognito der SP. Wenn sich Ihre SAML 2.0-Benutzer mit einem vom SP initiierten Flow authentifizieren, müssen sie immer zuerst eine Anfrage an Amazon Cognito stellen und zur Authentifizierung an den IdP weiterleiten.

In einigen Anwendungsfällen für Unternehmen beginnt der Zugriff auf interne Anwendungen mit einem Lesezeichen in einem Dashboard, das vom Unternehmens-IDP gehostet wird. Wenn ein Benutzer ein Lesezeichen auswählt, generiert der IDP eine SAML-Antwort und sendet sie an den SP, um den Benutzer bei der Anwendung zu authentifizieren.

Sie können einen SAML-IdP in Ihrem Benutzerpool so konfigurieren, dass er IdP-initiiertes SSO unterstützt. Wenn Sie die IDP-initiierte Authentifizierung unterstützen, kann Amazon Cognito nicht überprüfen, ob es die empfangene SAML-Antwort angefordert hat, da Amazon Cognito die Authentifizierung nicht mit einer SAML-Anfrage initiiert. Bei SP-initiiertem SSO legt Amazon Cognito Zustandsparameter fest, die eine SAML-Antwort anhand der ursprünglichen Anfrage validieren. Mit der SP-initiierten Anmeldung können Sie sich auch vor Cross-Site Request Forgery (CSRF) schützen.

**Topics**
+ [Implementieren Sie die SP-initiierte SAML-Anmeldung](#cognito-user-pools-saml-idp-authentication)
+ [Implementieren Sie die IDP-initiierte SAML-Anmeldung](#cognito-user-pools-SAML-session-initiation-idp-initiation)

## Implementieren Sie die SP-initiierte SAML-Anmeldung
<a name="cognito-user-pools-saml-idp-authentication"></a>

Es hat sich bewährt, eine service-provider-initiated (vom SP initiierte) Anmeldung bei Ihrem Benutzerpool zu implementieren. Amazon Cognito initiiert die Sitzung Ihres Benutzers und leitet ihn an Ihren IdP weiter. Mit dieser Methode haben Sie die größte Kontrolle darüber, wer Anmeldeanfragen stellt. Unter bestimmten Bedingungen können Sie auch die vom IdP initiierte Anmeldung zulassen.

Der folgende Prozess zeigt, wie Benutzer die SP-initiierte Anmeldung bei Ihrem Benutzerpool über einen SAML-Anbieter abschließen.

![\[Authentifizierungsflussdiagramm der von Amazon Cognito SP initiierten SAML-Anmeldung.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/scenario-authentication-saml-stepbystep.png)


1. Ihr Benutzer gibt seine E-Mail-Adresse auf einer Anmeldeseite ein. Um die Weiterleitung Ihres Benutzers zu seinem IdP zu ermitteln, können Sie seine E-Mail-Adresse in einer benutzerdefinierten Anwendung erfassen oder die verwaltete Anmeldung in der Webansicht aufrufen.

   Sie können Ihre verwalteten Anmeldeseiten so konfigurieren, dass sie eine Liste von E-Mail-Adressen anzeigen IdPs oder zur Eingabe einer E-Mail-Adresse auffordern und diese mit der ID Ihres SAML-IdP abgleichen. Um nach einer E-Mail-Adresse zu fragen, bearbeiten Sie Ihren Branding-Stil für verwaltete Logins und suchen Sie in **Foundation** nach **Authentifizierungsverhalten** und legen Sie unter **Anbieteranzeige die Option **Anzeigestil**** auf **Domain-Sucheingabe** fest.

1. Ihre App ruft Ihren Benutzerpool-Weiterleitungsendpunkt auf und fordert eine Sitzung mit der Client-ID an, die der App entspricht, und der IdP-ID, die dem Benutzer entspricht.

1. Amazon Cognito leitet Ihren Benutzer mit einer SAML-Anfrage, [optional signiert](cognito-user-pools-SAML-signing-encryption.md#cognito-user-pools-SAML-signing.title), in einem Element an den IdP weiter. `AuthnRequest`

1. Der IdP authentifiziert den Benutzer interaktiv oder mit einer gespeicherten Sitzung in einem Browser-Cookie.

1. Der IdP leitet Ihren Benutzer mit der [optional verschlüsselten SAML-Assertion in seiner POST-Payload an den SAML-Antwortendpunkt](cognito-user-pools-SAML-signing-encryption.md#cognito-user-pools-SAML-signing-encryption.title) Ihres Benutzerpools weiter.
**Anmerkung**  
Amazon Cognito storniert Sitzungen, die innerhalb von 5 Minuten keine Antwort erhalten, und leitet den Benutzer zur verwalteten Anmeldung weiter. Wenn Ihr Benutzer dieses Ergebnis feststellt, erhält er eine `Something went wrong` Fehlermeldung.

1. Nachdem es die SAML-Assertion verifiziert und [Benutzerattribute](cognito-user-pools-specifying-attribute-mapping.md#cognito-user-pools-specifying-attribute-mapping.title) den Ansprüchen in der Antwort zugeordnet hat, erstellt oder aktualisiert Amazon Cognito intern das Benutzerprofil im Benutzerpool. In der Regel gibt Ihr Benutzerpool einen Autorisierungscode an die Browsersitzung Ihres Benutzers zurück.

1. Ihr Benutzer präsentiert seinen Autorisierungscode in Ihrer App, die den Code gegen JSON-Webtoken (JWTs) eintauscht.

1. Ihre App akzeptiert und verarbeitet das ID-Token Ihres Benutzers als Authentifizierung, generiert autorisierte Anfragen an Ressourcen mit seinem Zugriffstoken und speichert das Aktualisierungstoken.

Wenn sich ein Benutzer authentifiziert und einen Autorisierungscode erhält, gibt der Benutzerpool ID-, Zugriffs- und Aktualisierungstoken zurück. Das ID-Token ist ein Authentifizierungsobjekt für die OIDC-basierte Identitätsverwaltung. [Das Zugriffstoken ist ein Autorisierungsobjekt mit OAuth einem Gültigkeitsbereich von 2.0.](https://oauth.net/2/) Das Aktualisierungstoken ist ein Objekt, das neue ID- und Zugriffstoken generiert, wenn die aktuellen Token Ihres Benutzers abgelaufen sind. Sie können die Dauer der Benutzertoken in Ihrem Benutzerpool-App-Client konfigurieren.

Sie können auch die Dauer der Aktualisierungstoken wählen. Nachdem das Aktualisierungstoken eines Benutzers abgelaufen ist, muss er sich erneut anmelden. Wenn sie sich über einen SAML-IdP authentifiziert haben, wird die Sitzungsdauer Ihrer Benutzer durch den Ablauf ihrer Token festgelegt, nicht durch den Ablauf ihrer Sitzung mit ihrem IdP. Ihre App muss das Aktualisierungstoken jedes Benutzers speichern und seine Sitzung erneuern, wenn sie abläuft. Bei der verwalteten Anmeldung werden Benutzersitzungen in einem Browser-Cookie verwaltet, das 1 Stunde lang gültig ist.

## Implementieren Sie die IDP-initiierte SAML-Anmeldung
<a name="cognito-user-pools-SAML-session-initiation-idp-initiation"></a>

Wenn Sie Ihren Identitätsanbieter für die IDP-initiierte SAML 2.0-Anmeldung konfigurieren, können Sie SAML-Assertionen dem `saml2/idpresponse` Endpunkt in Ihrer Benutzerpool-Domäne präsentieren, ohne die Sitzung am starten zu müssen. [Autorisieren des Endpunkts](authorization-endpoint.md) Ein Benutzerpool mit dieser Konfiguration akzeptiert IDP-initiierte SAML-Assertionen von einem externen Identitätsanbieter für Benutzerpools, den der angeforderte App-Client unterstützt.

![\[Authentifizierungsflussdiagramm der Amazon Cognito IDP-initiierten SAML-Anmeldung.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/scenario-authentication-saml-idpinit.png)


1. Ein Benutzer fordert die SAML-Anmeldung mit Ihrer Anwendung an.

1. Ihre Anwendung ruft einen Browser auf oder leitet den Benutzer zur Anmeldeseite seines SAML-Anbieters weiter.

1. Der IdP authentifiziert den Benutzer interaktiv oder mit einer gespeicherten Sitzung in einem Browser-Cookie.

1. Der IdP leitet Ihren Benutzer mit der SAML-Assertion oder -Antwort in seinem POST-Text zu Ihrer Anwendung weiter.

1. Ihre Anwendung fügt die SAML-Assertion dem POST-Text einer Anfrage an Ihren Benutzerpool-Endpunkt hinzu. `saml2/idpresponse`

1. Amazon Cognito gibt Ihrem Benutzer einen Autorisierungscode aus.

1. Ihr Benutzer präsentiert seinen Autorisierungscode in Ihrer App, die den Code gegen JSON-Webtoken (JWTs) eintauscht.

1. Ihre Anwendung akzeptiert und verarbeitet das ID-Token Ihres Benutzers als Authentifizierung, generiert autorisierte Anfragen an Ressourcen mit seinem Zugriffstoken und speichert das Aktualisierungstoken.

In den folgenden Schritten wird der Gesamtprozess zur Konfiguration und Anmeldung bei einem vom IDP initiierten SAML 2.0-Anbieter beschrieben.

1. Erstellen oder bestimmen Sie einen Benutzerpool und einen App-Client.

1. Erstellen Sie einen SAML 2.0-IdP in Ihrem Benutzerpool.

1. Konfigurieren Sie Ihren IdP so, dass er die IdP-Initiierung unterstützt. Von IDP initiiertes SAML führt zu Sicherheitsüberlegungen, denen andere SSO-Anbieter nicht unterliegen. Aus diesem Grund können Sie keinem App-Client IdPs, der einen SAML-Anbieter mit IDP-initiierter Anmeldung verwendet, Nicht-SAML, einschließlich des Benutzerpools selbst, hinzufügen.

1. Ordnen Sie Ihren IDP-initiierten SAML-Anbieter einem App-Client in Ihrem Benutzerpool zu.

1. Leiten Sie Ihren Benutzer zur Anmeldeseite für Ihren SAML-IdP IdP und rufen Sie eine SAML-Assertion ab.

1. Leiten Sie Ihren Benutzer mit seiner SAML-Assertion zu Ihrem `saml2/idpresponse` Benutzerpool-Endpunkt weiter.

1. Empfangen Sie JSON-Webtoken ()JWTs.

Um unaufgeforderte SAML-Assertions in Ihrem Benutzerpool zu akzeptieren, müssen Sie die Auswirkungen auf die Sicherheit Ihrer App berücksichtigen. Wenn Sie vom IdP initiierte Anfragen annehmen, sind Anforderungs-Spoofing und CSRF-Versuche wahrscheinlich. Obwohl Ihr Benutzerpool eine vom IdP initiierte Anmeldesitzung nicht verifizieren kann, validiert Amazon Cognito Ihre Anforderungsparameter und SAML-Assertionen.

Darüber hinaus darf Ihre SAML-Assertion keinen `InResponseTo` Anspruch enthalten und muss innerhalb der letzten 6 Minuten ausgestellt worden sein.

Sie müssen Anfragen mit IDP-initiierter SAML an Ihren senden. `/saml2/idpresponse` Für SP-initiierte und verwaltete Anmeldeautorisierungsanfragen müssen Sie Parameter angeben, die Ihren angeforderten App-Client, Bereiche, Umleitungs-URI und andere Details als Abfragezeichenfolgenparameter in Anfragen identifizieren. `HTTP GET` Bei IDP-initiierten SAML-Assertionen müssen die Details Ihrer Anfrage jedoch als `RelayState` Parameter im Hauptteil einer Anfrage formatiert werden. `HTTP POST` Der Anfragetext muss auch Ihre SAML-Assertion als Parameter enthalten. `SAMLResponse`

Im Folgenden finden Sie ein Beispiel für eine Anfrage und Antwort für einen vom IDP initiierten SAML-Anbieter.

```
POST /saml2/idpresponse HTTP/1.1
User-Agent: USER_AGENT
Accept: */*
Host: example.auth.us-east-1.amazoncognito.com
Content-Type: application/x-www-form-urlencoded

SAMLResponse=[Base64-encoded SAML assertion]&RelayState=identity_provider%3DMySAMLIdP%26client_id%3D1example23456789%26redirect_uri%3Dhttps%3A%2F%2Fwww.example.com%26response_type%3Dcode%26scope%3Demail%2Bopenid%2Bphone

HTTP/1.1 302 Found
Date: Wed, 06 Dec 2023 00:15:29 GMT
Content-Length: 0
x-amz-cognito-request-id: 8aba6eb5-fb54-4bc6-9368-c3878434f0fb
Location: https://www.example.com?code=[Authorization code]
```

------
#### [ AWS-Managementkonsole ]

**So konfigurieren Sie einen IdP für IdP-initiiertes SAML**

1. Erstellen Sie einen [Benutzerpool, einen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) und einen SAML-Identitätsanbieter.

1. Trennen Sie alle Social Media- und OIDC-Identitätsanbieter von Ihrem App-Client, falls welche verknüpft sind.

1. Navigieren Sie in Ihrem Benutzerpool zum Menü **Soziale Dienste und externe Anbieter**.

1. Bearbeiten oder fügen Sie einen SAML-Anbieter hinzu.

1. Wählen Sie unter **IDP-initiierte SAML-Anmeldung** die Option SP-initiierte und **IDP-initiierte SAML-Assertionen akzeptieren** aus.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ API/CLI ]

**So konfigurieren Sie einen IdP für IdP-initiiertes SAML**

Konfigurieren Sie IDP-initiiertes SAML mit dem `IDPInit` Parameter in einer [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)oder [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API-Anfrage. Im Folgenden finden Sie ein Beispiel für einen IdP, `ProviderDetails` der IdP-initiiertes SAML unterstützt.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

------

# SAML-Benutzer mit Single Sign-Out abmelden
<a name="cognito-user-pools-saml-idp-sign-out"></a>

Amazon Cognito unterstützt SAML 2.0 [Single Logout](http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0-cd-02.html#5.3.Single%20Logout%20Profile|outline) (SLO). Mit SLO kann Ihre Anwendung Benutzer von ihren SAML-Identitätsanbietern (IdPs) abmelden, wenn sie sich aus Ihrem Benutzerpool abmelden. Auf diese Weise müssen sich Benutzer, wenn sie sich erneut bei Ihrer Anwendung anmelden möchten, mit ihrem SAML-IdP authentifizieren. Andernfalls verfügen sie möglicherweise über IdP- oder Benutzerpool-Browser-Cookies, die sie an Ihre Anwendung weiterleiten, ohne dass sie Anmeldeinformationen angeben müssen.

Wenn Sie Ihren SAML-IdP so konfigurieren, dass **er den Abmeldefluss** unterstützt, leitet Amazon Cognito Ihren Benutzer mit einer signierten SAML-Abmeldeanfrage an Ihren IdP weiter. Amazon Cognito bestimmt den Ort der Weiterleitung anhand der `SingleLogoutService` URL in Ihren IdP-Metadaten. Amazon Cognito signiert die Abmeldeanforderung mit Ihrem Benutzerpool-Signaturzertifikat.

![\[Authentifizierungsflussdiagramm der Amazon Cognito SAML-Abmeldung. Der Benutzer fordert die Abmeldung an und Amazon Cognito leitet ihn mit einer SAML-Abmeldeanfrage an seinen Anbieter weiter.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/scenario-authentication-saml-sign-out.png)


Wenn Sie einen Benutzer mit einer SAML-Sitzung an Ihren `/logout` Benutzerpool-Endpunkt weiterleiten, leitet Amazon Cognito Ihren SAML-Benutzer mit der folgenden Anfrage an den SLO-Endpunkt weiter, der in den IdP-Metadaten angegeben ist.

```
https://[SingleLogoutService endpoint]?
SAMLRequest=[encoded SAML request]&
RelayState=[RelayState]&
SigAlg=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256&
Signature=[User pool RSA signature]
```

Ihr Benutzer kehrt dann mit einem `LogoutResponse` von seinem IdP zu Ihrem `saml2/logout` Endpunkt zurück. Ihr IdP muss eine `HTTP POST` Anfrage einreichen. `LogoutResponse` Amazon Cognito leitet sie dann von ihrer ursprünglichen Abmeldeanfrage an das Weiterleitungsziel weiter.

Ihr SAML-Anbieter sendet möglicherweise eine `LogoutResponse` mit mehr als einer`AuthnStatement`. Das `sessionIndex` in der ersten Antwort dieses Typs muss mit dem `AuthnStatement` `sessionIndex` in der SAML-Antwort, mit der der Benutzer ursprünglich authentifiziert wurde, übereinstimmen. Wenn `sessionIndex` sich das in einem anderen befindet`AuthnStatement`, erkennt Amazon Cognito die Sitzung nicht und Ihr Benutzer wird nicht abgemeldet.

------
#### [ AWS-Managementkonsole ]

**Um die SAML-Abmeldung zu konfigurieren**

1. Erstellen Sie einen [Benutzerpool, einen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) und einen SAML-IdP.

1. Wenn Sie Ihren SAML-Identitätsanbieter erstellen oder bearbeiten, aktivieren Sie unter **Informationen zum Identitätsanbieter** das Kästchen mit dem Titel Abmeldefluss **hinzufügen**.

1. Wählen Sie im Menü **Soziale Netzwerke und externe Anbieter** Ihres Benutzerpools Ihren IdP aus und suchen Sie das **Signaturzertifikat**.

1. Wählen Sie **Als .crt herunterladen**.

1. Konfigurieren Sie Ihren SAML-Anbieter so, dass er SAML Single Logout und Request Signing unterstützt, und laden Sie das Benutzerpool-Signaturzertifikat hoch. Ihr IdP muss zu `/saml2/logout` Ihrer Benutzerpool-Domain weiterleiten.

------
#### [ API/CLI ]

**Um die SAML-Abmeldung zu konfigurieren**

Konfigurieren Sie Single Logout mit dem `IDPSignout` Parameter einer [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)oder [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API-Anfrage. Im Folgenden finden Sie ein Beispiel für einen IdP, `ProviderDetails` der SAML Single Logout unterstützt.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",,
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

------

# SAML-Signatur und Verschlüsselung
<a name="cognito-user-pools-SAML-signing-encryption"></a>

Bei der SAML 2.0-Anmeldung steht der Benutzer einer Anwendung als Träger von Anfragen und Antworten in seinem Authentifizierungsablauf im Mittelpunkt. Möglicherweise möchten Sie sicherstellen, dass Benutzer diese SAML-Dokumente während der Übertragung nicht lesen oder ändern. Um dies zu erreichen, fügen Sie den SAML-Identitätsanbietern (IdPs) in Ihrem Benutzerpool SAML-Signatur und Verschlüsselung hinzu. Mit der SAML-Signatur fügen Ihre Benutzerpools SAML-Anmelde- und Abmeldeanfragen eine Signatur hinzu. Mit dem öffentlichen Schlüssel Ihres Benutzerpools kann Ihr IdP überprüfen, ob er unveränderte SAML-Anfragen empfängt. Wenn Ihr IdP dann antwortet und SAML-Assertionen an die Browsersitzungen der Benutzer weiterleitet, kann der IdP diese Antwort verschlüsseln, sodass der Benutzer seine eigenen Attribute und Berechtigungen nicht überprüfen kann.

Bei der SAML-Signatur und -Verschlüsselung müssen alle kryptografischen Operationen während SAML-Vorgängen im Benutzerpool Signaturen und Chiffretext mit user-pool-provided Schlüsseln generieren, die Amazon Cognito generiert. Derzeit können Sie einen Benutzerpool nicht so konfigurieren, dass er Anfragen signiert oder verschlüsselte Assertionen mit einem externen Schlüssel akzeptiert.

**Anmerkung**  
Ihre Benutzerpoolzertifikate sind 10 Jahre gültig. Einmal pro Jahr generiert Amazon Cognito neue Signatur- und Verschlüsselungszertifikate für Ihren Benutzerpool. Amazon Cognito gibt das neueste Zertifikat zurück, wenn Sie das Signaturzertifikat anfordern, und signiert Anfragen mit dem neuesten Signaturzertifikat. Ihr IdP kann SAML-Assertionen mit jedem Benutzerpool-Verschlüsselungszertifikat verschlüsseln, das nicht abgelaufen ist. Ihre vorherigen Zertifikate sind weiterhin für ihre gesamte Dauer gültig und der öffentliche Schlüssel ändert sich nicht zwischen den Zertifikaten. Es hat sich bewährt, das Zertifikat in Ihrer Anbieterkonfiguration jährlich zu aktualisieren.

**Topics**
+ [Verschlüsselte SAML-Antworten von Ihrem IdP akzeptieren](#cognito-user-pools-SAML-encryption)
+ [SAML-Anfragen signieren](#cognito-user-pools-SAML-signing)

## Verschlüsselte SAML-Antworten von Ihrem IdP akzeptieren
<a name="cognito-user-pools-SAML-encryption"></a>

Amazon Cognito und Ihr IdP können SAML-Antworten vertraulich behandeln, wenn sich Benutzer an- und abmelden. Amazon Cognito weist jedem externen SAML-Anbieter, den Sie in Ihrem Benutzerpool konfigurieren, ein öffentlich-privates RSA-Schlüsselpaar und ein Zertifikat zu. Wenn Sie die Antwortverschlüsselung für Ihren SAML-Anbieter für Ihren Benutzerpool aktivieren, müssen Sie Ihr Zertifikat auf einen IdP hochladen, der verschlüsselte SAML-Antworten unterstützt. Ihre Benutzerpool-Verbindung zu Ihrem SAML-IdP funktioniert nicht, bevor Ihr IdP beginnt, alle SAML-Assertionen mit dem bereitgestellten Schlüssel zu verschlüsseln.

Im Folgenden finden Sie einen Überblick über den Ablauf einer verschlüsselten SAML-Anmeldung.

1. Ihr Benutzer beginnt mit der Anmeldung und wählt seinen SAML-IdP aus.

1. Ihr Benutzerpool [Autorisieren des Endpunkts](authorization-endpoint.md) leitet Ihren Benutzer mit einer SAML-Anmeldeanfrage zu seinem SAML-IdP weiter. Ihr Benutzerpool kann dieser Anfrage optional eine Signatur beifügen, die eine Integritätsprüfung durch den IdP ermöglicht. Wenn Sie SAML-Anfragen signieren möchten, müssen Sie Ihren IdP so konfigurieren, dass er Anfragen akzeptiert, die Ihr Benutzerpool mit dem öffentlichen Schlüssel im Signaturzertifikat signiert hat.

1. Der SAML-IdP meldet Ihren Benutzer an und generiert eine SAML-Antwort. Der IdP verschlüsselt die Antwort mit dem öffentlichen Schlüssel und leitet Ihren Benutzer zu Ihrem `/saml2/idpresponse` Benutzerpool-Endpunkt weiter. Der IdP muss die Antwort gemäß der SAML 2.0-Spezifikation verschlüsseln. Weitere Informationen finden Sie unter `Element <EncryptedAssertion>` [Assertionen und Protokolle für die OASIS Security Assertion Markup](https://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf) Language (SAML) V2.0.

1. Ihr Benutzerpool entschlüsselt den Chiffretext in der SAML-Antwort mit dem privaten Schlüssel und meldet Ihren Benutzer an.

**Wichtig**  
Wenn Sie die Antwortverschlüsselung für einen SAML-IdP in Ihrem Benutzerpool aktivieren, muss Ihr IdP alle Antworten mit einem öffentlichen Schlüssel verschlüsseln, der für den Anbieter spezifisch ist. Amazon Cognito akzeptiert keine unverschlüsselten SAML-Antworten von einem externen SAML-IdP, den Sie für die Unterstützung von Verschlüsselung konfigurieren. 

Jeder externe SAML-IdP in Ihrem Benutzerpool kann die Antwortverschlüsselung unterstützen, und jeder IdP erhält sein eigenes key pair.

------
#### [ AWS-Managementkonsole ]

**Um die SAML-Antwortverschlüsselung zu konfigurieren**

1. Erstellen Sie einen [Benutzerpool, einen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) und einen SAML-IdP.

1. Wenn Sie Ihren SAML-Identitätsanbieter erstellen oder bearbeiten, aktivieren Sie unter **Anfragen signieren und Antworten verschlüsseln** das Kästchen mit dem Titel **Verschlüsselte SAML-Assertionen von diesem Anbieter anfordern**.

1. Wählen Sie im Menü **Soziale Netzwerke und externe Anbieter** Ihres Benutzerpools Ihren SAML-IdP aus und wählen Sie **Verschlüsselungszertifikat anzeigen** aus.

1. Wählen Sie **Als .crt herunterladen** und stellen Sie die heruntergeladene Datei Ihrem SAML-IdP zur Verfügung. Konfigurieren Sie Ihren SAML-IdP so, dass SAML-Antworten mit dem Schlüssel im Zertifikat verschlüsselt werden.

------
#### [ API/CLI ]

**Um die SAML-Antwortverschlüsselung zu konfigurieren**

Konfigurieren Sie die Antwortverschlüsselung mit dem `EncryptedResponses` Parameter einer [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)oder [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API-Anfrage. Im Folgenden finden Sie ein Beispiel für einen IdP, `ProviderDetails` der das Signieren von Anfragen unterstützt.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

Um das Verschlüsselungszertifikat aus Ihrem Benutzerpool abzurufen, stellen Sie eine [DescribeIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeIdentityProvider.html)API-Anfrage und rufen Sie den Wert von `ActiveEncryptionCertificate` im Antwortparameter `ProviderDetails` ab. Speichern Sie dieses Zertifikat und stellen Sie es Ihrem IdP als Verschlüsselungszertifikat für Anmeldeanfragen aus Ihrem Benutzerpool zur Verfügung.

------

## SAML-Anfragen signieren
<a name="cognito-user-pools-SAML-signing"></a>

Die Fähigkeit, die Integrität von SAML 2.0-Anfragen an Ihren IdP nachzuweisen, ist ein Sicherheitsvorteil der von Amazon Cognito SP initiierten SAML-Anmeldung. Jeder Benutzerpool mit einer Domain erhält ein X.509-Signaturzertifikat für den Benutzerpool. Mit dem öffentlichen Schlüssel in diesem Zertifikat wenden Benutzerpools eine kryptografische Signatur auf die *Abmeldeanfragen* an, die Ihr Benutzerpool generiert, wenn Ihre Benutzer einen SAML-IdP auswählen. *Sie können Ihren App-Client optional so konfigurieren, dass er SAML-Anmeldeanfragen signiert.* Wenn Sie Ihre SAML-Anfragen signieren, kann Ihr IdP überprüfen, ob die Signatur in den XML-Metadaten Ihrer Anfragen mit dem öffentlichen Schlüssel in dem von Ihnen bereitgestellten Benutzerpoolzertifikat übereinstimmt.

------
#### [ AWS-Managementkonsole ]

**Um das Signieren von SAML-Anfragen zu konfigurieren**

1. Erstellen Sie einen [Benutzerpool, einen](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html) [App-Client](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-configuring-app-integration.html) und einen SAML-IdP.

1. Wenn Sie Ihren SAML-Identitätsanbieter erstellen oder bearbeiten, aktivieren Sie unter **Anfragen signieren und Antworten verschlüsseln** das Kästchen mit dem Titel **SAML-Anfragen an diesen Anbieter signieren**.

1. Wählen Sie im Menü **Soziale Netzwerke und externe Anbieter** Ihres Benutzerpools die Option Signaturzertifikat **anzeigen** aus.

1. Wählen Sie **Als .crt herunterladen** und stellen Sie die heruntergeladene Datei Ihrem SAML-IdP zur Verfügung. Konfigurieren Sie Ihren SAML-IdP, um die Signatur eingehender SAML-Anfragen zu überprüfen.

------
#### [ API/CLI ]

**So konfigurieren Sie das Signieren von SAML-Anfragen**

Konfigurieren Sie die Anforderungssignatur mit dem `RequestSigningAlgorithm` Parameter einer [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html)oder [UpdateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateIdentityProvider.html)API-Anfrage. Im Folgenden finden Sie ein Beispiel für einen IdP, `ProviderDetails` der das Signieren von Anfragen unterstützt.

```
"ProviderDetails": { 
      "MetadataURL" : "https://myidp.example.com/saml/metadata",
      "IDPSignout" : "true",
      "RequestSigningAlgorithm" : "rsa-sha256",
      "EncryptedResponses" : "true",
      "IDPInit" : "true"
}
```

------

# Namen und Kennungen von SAML-Identitätsanbietern
<a name="cognito-user-pools-managing-saml-idp-naming"></a>

Wenn Sie Ihre SAML-Identitätsanbieter (IdPs) benennen und IdP-Identifikatoren zuweisen, können Sie den Fluss von SP-initiierten An- und Abmeldeanfragen an diesen Anbieter automatisieren. Informationen zu Zeichenketteneinschränkungen für den Anbieternamen finden Sie in der Eigenschaft von. `ProviderName` [CreateIdentityProvider](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateIdentityProvider.html#CognitoUserPools-CreateIdentityProvider-request-ProviderName)

![\[Authentifizierungsflussdiagramm der von Amazon Cognito SP initiierten SAML-Anmeldung mit einer IdP-ID und verwalteter Anmeldung. Der Benutzer gibt eine E-Mail-Adresse für die verwaltete Anmeldung an und Amazon Cognito leitet ihn automatisch an seinen Anbieter weiter.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/scenario-authentication-saml-identifier.png)


Sie können auch bis zu 50 Identifikatoren für Ihre SAML-Anbieter auswählen. Ein Identifier ist ein benutzerfreundlicher Name für einen IdP in Ihrem Benutzerpool und muss innerhalb des Benutzerpools eindeutig sein. Wenn Ihre SAML-Identifikatoren mit den E-Mail-Domains Ihrer Benutzer übereinstimmen, fordert die verwaltete Anmeldung die E-Mail-Adresse jedes Benutzers an, bewertet die Domain in seiner E-Mail-Adresse und leitet sie an den IdP weiter, der seiner Domain entspricht. Da dieselbe Organisation mehrere Domains besitzen kann, kann ein einzelner IdP mehrere Identifikatoren haben.

Unabhängig davon, ob Sie E-Mail-Domain-IDs verwenden oder nicht, können Sie Identifikatoren in einer Mehrmandanten-App verwenden, um Benutzer zum richtigen IdP weiterzuleiten. Wenn Sie die verwaltete Anmeldung vollständig umgehen möchten, können Sie die Links, die Sie Benutzern präsentieren, so anpassen, dass sie [Autorisieren des Endpunkts](authorization-endpoint.md) direkt zu ihrem IdP weiterleiten. Um Ihre Benutzer mit einer Kennung anzumelden und zu ihrem IdP weiterzuleiten, fügen Sie die Kennung in das Format `idp_identifier=myidp.example.com` in die Anforderungsparameter ihrer ersten Autorisierungsanfrage ein.

Eine andere Methode, um einen Benutzer an Ihren IdP weiterzuleiten, besteht darin, den Parameter `identity_provider` mit dem Namen Ihres IdP im folgenden URL-Format zu füllen.

```
https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?
response_type=code&
identity_provider=MySAMLIdP&
client_id=1example23456789&
redirect_uri=https://www.example.com
```

Nachdem sich ein Benutzer mit Ihrem SAML-IdP angemeldet hat, leitet Ihr IdP ihn mit einer SAML-Antwort im `HTTP POST` Text an Ihren Endpunkt weiter. `/saml2/idpresponse` Amazon Cognito verarbeitet die SAML-Assertion und leitet, wenn die Ansprüche in der Antwort den Erwartungen entsprechen, zu Ihrer App-Client-Callback-URL weiter. Nachdem Ihr Benutzer die Authentifizierung auf diese Weise abgeschlossen hat, hat er nur mit Webseiten für Ihren IdP und Ihre App interagiert.

Bei IdP-Identifikatoren in einem Domänenformat fordert die verwaltete Anmeldung bei der Anmeldung E-Mail-Adressen an und leitet die Benutzer dann, wenn die E-Mail-Domain mit einer IdP-ID übereinstimmt, auf die Anmeldeseite für ihren IdP weiter. Sie erstellen beispielsweise eine App, für die sich Mitarbeiter zweier verschiedener Unternehmen anmelden müssen. Das erste Unternehmen, AnyCompany A, besitzt `exampleA.com` und`exampleA.co.uk`. Das zweite Unternehmen, AnyCompany B, besitzt`exampleB.com`. Für dieses Beispiel haben Sie zwei eingerichtet IdPs, eine für jedes Unternehmen, wie folgt: 
+ Für IdP A definieren Sie die IDs `exampleA.com` und `exampleA.co.uk`.
+ Für IdP-B definieren Sie die ID `exampleB.com`.

Rufen Sie in Ihrer App die verwaltete Anmeldung für Ihren App-Client auf, um jeden Benutzer zur Eingabe seiner E-Mail-Adresse aufzufordern. Amazon Cognito leitet die Domain von der E-Mail-Adresse ab, korreliert die Domain mit einem IdP mit einer Domain-ID und leitet Ihren Benutzer mit einer Anfrage an den, die einen Anforderungsparameter enthält[Autorisieren des Endpunkts](authorization-endpoint.md), an den richtigen IdP weiter. `idp_identifier` Wenn ein Benutzer beispielsweise eintritt, ist die nächste Seite`bob@exampleA.co.uk`, mit der er interagiert, die IdP-Anmeldeseite unter. `https://auth.exampleA.co.uk/sso/saml`

Sie können dieselbe Logik auch unabhängig implementieren. In Ihrer App können Sie ein benutzerdefiniertes Formular erstellen, das Benutzereingaben sammelt und sie gemäß Ihrer eigenen Logik mit dem richtigen IdP korreliert. Sie können benutzerdefinierte Portale für jeden Ihrer App-Mandanten generieren, wobei jedes Portal mit der ID des Mandanten in den Anforderungsparametern auf den Autorisierungsendpunkt verweist.

Um eine E-Mail-Adresse zu erfassen und die Domain bei der verwalteten Anmeldung zu analysieren, weisen Sie jedem SAML-IdP, den Sie Ihrem App-Client zugewiesen haben, mindestens eine Kennung zu. Standardmäßig zeigt der Anmeldebildschirm für die verwaltete Anmeldung eine Schaltfläche für jedes Element an IdPs, das Sie Ihrem App-Client zugewiesen haben. Wenn Sie jedoch erfolgreich Kennungen zugewiesen haben, sieht Ihre klassische Hosted UI-Anmeldeseite wie in der folgenden Abbildung aus.

![\[Eine von Amazon Cognito verwaltete Anmeldeseite, auf der die lokale Benutzeranmeldung und die Aufforderung eines Verbundbenutzers zur Eingabe einer E-Mail-Adresse angezeigt werden.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-saml-identifiers.png)


**Anmerkung**  
In der klassischen gehosteten Benutzeroberfläche werden Sie auf der Anmeldeseite für Ihren App-Client automatisch zur Eingabe einer E-Mail-Adresse aufgefordert, wenn Sie Ihrer E-Mail-Adresse Kennungen zuweisen. IdPs Bei der verwalteten Anmeldung müssen Sie dieses Verhalten im Branding-Editor aktivieren. Wählen Sie in der Kategorie Einstellungen für **das Authentifizierungsverhalten** unter der Überschrift **Anbieteranzeige** die Option **Domain-Sucheingabe** aus.

Die Domainanalyse bei verwalteter Anmeldung erfordert, dass Sie Domains als Ihre IdP-Identifikatoren verwenden. Wenn Sie jeder SAML IdPs für einen App-Client eine Kennung beliebigen Typs zuweisen, zeigt die verwaltete Anmeldung für diese App keine IDP-Auswahlschaltflächen mehr an. Fügen Sie IdP-Identifikatoren für SAML hinzu, wenn Sie E-Mail-Parsing oder benutzerdefinierte Logik zum Generieren von Weiterleitungen verwenden möchten. Wenn Sie unbeaufsichtigte Weiterleitungen generieren möchten und auch möchten, dass auf Ihren verwalteten Anmeldeseiten eine Liste von angezeigt wird IdPs, weisen Sie keine Kennungen zu und verwenden Sie den `identity_provider` Anforderungsparameter in Ihren Autorisierungsanfragen.
+ Wenn Sie Ihrem App-Client nur einen SAML-IdP zuweisen, wird auf der verwalteten Anmeldeseite eine Schaltfläche angezeigt, mit der Sie sich mit diesem IdP anmelden können.
+ Wenn Sie jedem SAML-IdP, den Sie für Ihren App-Client aktivieren, eine Kennung zuweisen, wird auf der verwalteten Anmeldeseite eine Benutzereingabeaufforderung für eine E-Mail-Adresse angezeigt.
+ Wenn Sie mehrere haben IdPs und nicht allen eine Kennung zuweisen, wird auf der Anmeldeseite für verwaltete Anmeldung eine Schaltfläche angezeigt, mit der Sie sich bei jedem zugewiesenen IdP anmelden können.
+ Wenn Sie Ihren Kennungen zugewiesen haben IdPs und Sie möchten, dass auf Ihren verwalteten Anmeldeseiten eine Auswahl von IdP-Schaltflächen angezeigt wird, fügen Sie Ihrem App-Client einen neuen IdP hinzu, der keine ID hat, oder erstellen Sie einen neuen App-Client. Sie können auch einen vorhandenen IdP löschen und ihn ohne ID erneut hinzufügen. Wenn Sie einen neuen IdP erstellen, erstellen Ihre SAML-Benutzer neue Benutzerprofile. Diese doppelte Anzahl aktiver Benutzer kann sich in dem Monat, in dem Sie Ihre IdP-Konfiguration ändern, auf die Abrechnung auswirken.

Weitere Informationen zur IdP-Einrichtung finden Sie unter [Konfigurieren von Identitätsanbietern für Ihren Benutzerpool.](cognito-user-pools-identity-provider.md).