Hinzufügen und Verwalten von SAML Identitätsanbietern in einem Benutzerpool - 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.

Hinzufügen und Verwalten von SAML Identitätsanbietern in einem Benutzerpool

Die folgenden Verfahren zeigen, wie Sie SAML Anbieter in einem Amazon Cognito Cognito-Benutzerpool erstellen, ändern und löschen.

AWS Management Console

Sie können den verwenden AWS Management Console , 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 Metadatendokuments finden Sie unter. Konfiguration Ihres externen Identitätsanbieters SAML

So konfigurieren Sie einen SAML 2.0-IdP in Ihrem Benutzerpool
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Geben Sie bei Aufforderung Ihre AWS -Anmeldeinformationen ein.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder erstellen Sie einen neuen Benutzerpool.

  4. Wählen Sie die Registerkarte Sign-in experience (Anmeldeerlebnis) aus. Suchen Sie nach Federated sign-in (Verbundanmeldung) und wählen Sie Add an identity provider (Identitätsanbieter hinzufügen) aus.

  5. Wählen Sie einen SAMLIdP.

  6. Geben Sie einen Anbieternamen ein. Sie können diesen benutzerfreundlichen Namen in einem identity_provider Anforderungsparameter an den übergebenAutorisieren des Endpunkts.

  7. 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.

  8. 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.us-east-1.amazoncognito.com/saml2/logout Endpunkt sendet, der bei der Konfiguration der gehosteten Benutzeroberfläche erstellt wird. Der saml2/logout Endpunkt verwendet BindungPOST.

    Anmerkung

    Wenn diese Option ausgewählt ist und Ihr SAML IdP eine signierte Abmeldeanfrage erwartet, müssen Sie Ihrem SAML IdP auch das Signaturzertifikat aus Ihrem Benutzerpool zur Verfügung stellen.

    Der SAML IdP verarbeitet die signierte Abmeldeanfrage und meldet Ihren Benutzer von der Amazon Cognito-Sitzung ab.

  9. Wählen Sie Ihre IDP-initiierte SAML Anmeldekonfiguration. Wählen Sie aus Sicherheitsgründen die Option Nur SAMLSP-initiierte Assertionen akzeptieren aus. Wenn Sie Ihre Umgebung so vorbereitet haben, dass sie unaufgeforderte SAML Anmeldesitzungen sicher akzeptiert, wählen Sie SP-initiierte und IdP-initiierte Assertionen akzeptieren. SAML Weitere Informationen finden Sie unter SAMLSitzungsinitiierung in Amazon Cognito Cognito-Benutzerpools.

  10. Wählen Sie eine Metadaten-Dokumentquelle aus. Wenn Ihr IdP SAML Metadaten öffentlich anbietetURL, können Sie Metadaten-Dokument auswählen URL und dieses öffentlich 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 ein Metadatendokument eingeben, URL wenn Ihr Anbieter über einen öffentlichen Endpunkt verfügt, anstatt eine Datei hochzuladen. Amazon Cognito aktualisiert automatisch Metadaten aus den Metadaten. URL Normalerweise werden die Metadaten alle sechs Stunden oder bevor sie ablaufen aktualisiert, je nachdem, was zuerst eintritt.

  11. 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 Benutzerpool-Attribut wählenemail, geben Sie den SAML Attributnamen so ein, wie er in der SAML Assertion Ihres IdP erscheint. Wenn Ihr IdP SAML Beispiel-Assertions anbietet, können Sie diese Beispiel-Assertions verwenden, um den Namen zu finden. Einige IdPs verwenden einfache Namen, wie z. B.email, während andere Namen wie die folgenden verwenden.

    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  12. Wählen Sie Create (Erstellen) aus.

API/CLI

Verwenden Sie die folgenden Befehle, um einen SAML Identitätsanbieter (IdP) zu erstellen und zu verwalten.

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 Symbol <SAML metadata XML> enthält alle Vorkommen des Zeichens", das Sie \ als Escape-Zeichen hinzufügen müssen:\".

    Beispiel mit MetadatenURL: 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

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 Symbol <SAML metadata XML> enthält alle Instanzen des Zeichens", das Sie \ als Escape-Zeichen hinzufügen müssen:\".

    Beispiel mit MetadatenURL: 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

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

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

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

So richten Sie den SAML IdP so ein, dass er einen Benutzerpool als vertrauende Partei hinzufügt
  • Der Dienstanbieter für Benutzerpools URN ist:urn:amazon:cognito:sp:us-east-1_EXAMPLE. Amazon Cognito benötigt einen Wert für die Zielgruppeneinschränkung, der diesem Wert URN in der SAML Antwort entspricht. Konfigurieren Sie Ihren IdP so, dass er den folgenden POST Bindungsendpunkt für die IdP-zu-SP-Antwortnachricht verwendet.

    https://mydomain.us-east-1.amazoncognito.com/saml2/idpresponse
  • Ihr SAML IdP muss alle erforderlichen Attribute für Ihren Benutzerpool in der SAML Assertion auffüllenNameID. NameIDwird verwendet, um Ihren SAML Verbundbenutzer im Benutzerpool eindeutig zu identifizieren. 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.

Um ein Signaturzertifikat für Ihr SAML 2.0 bereitzustellen IDP
  • Um eine Kopie des öffentlichen Schlüssels von Amazon Cognito herunterzuladen, den Ihr IdP zur Validierung von SAML Abmeldeanfragen verwenden kann, wählen Sie in Ihrem Benutzerpool die Registerkarte Anmeldeerfahrung, 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 Cognito-Konsole löschen.

Um einen Anbieter zu löschen SAML
  1. Melden Sie sich bei der Amazon Cognito-Konsole an.

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

  3. Wählen Sie die Registerkarte Anmeldeerfahrung und suchen Sie nach der Anmeldung mit dem Federated Identity Provider.

  4. Wählen Sie das Optionsfeld neben dem aus, das SAML IdPs Sie löschen möchten.

  5. 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, und wählen Sie dann Löschen.