Verwenden der vom IDP initiierten Anmeldung SAML - 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.

Verwenden der vom IDP initiierten Anmeldung SAML

Wenn Sie Ihren Identitätsanbieter für die IDP-initiierte SAML 2.0-Anmeldung konfigurieren, können Sie dem saml2/idpresponse Endpunkt in Ihrer Benutzerpool-Domäne SAML Assertionen präsentieren, ohne die Sitzung am starten zu müssen. Autorisieren des Endpunkts 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. In den folgenden Schritten wird der Gesamtprozess zur Konfiguration und Anmeldung bei einem von IDP initiierten SAML 2.0-Anbieter beschrieben.

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

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

  3. Konfigurieren Sie Ihren IdP so, dass er die IdP-Initiierung unterstützt. IDP-initiiert SAML führt Sicherheitsaspekte ein, denen andere SSO Anbieter nicht unterliegen. Aus diesem Grund können Sie keinem App-Client SAML IdPs, der einen SAML Anbieter mit vom IdP initiierter Anmeldung verwendet, non-⸺-, einschließlich des Benutzerpools selbst, hinzufügen.

  4. Ordnen Sie Ihren von IdP initiierten SAML Anbieter einem App-Client in Ihrem Benutzerpool zu.

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

  6. Leiten Sie Ihren Benutzer mit seiner Assertion an Ihren saml2/idpresponse Benutzerpool-Endpunkt weiter. SAML

  7. Empfangen Sie JSON Web-Tokens (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, ist es wahrscheinlich, dass Anfragen gefälscht und CSRF versucht werden. Obwohl Ihr Benutzerpool eine vom IdP initiierte Anmeldesitzung nicht verifizieren kann, validiert Amazon Cognito Ihre Anforderungsparameter und Assertionen. SAML

Darüber hinaus darf Ihre SAML Behauptung keinen InResponseTo Anspruch enthalten und muss innerhalb der letzten 6 Minuten eingereicht worden sein.

Sie müssen Anfragen mit vom IdP initiierten Anfragen SAML an Ihren senden. /saml2/idpresponse Für SP-initiierte und gehostete UI-Autorisierungsanfragen müssen Sie Parameter angeben, die den angeforderten App-Client, die Bereiche, die Weiterleitung 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 eine Beispielanforderung für einen vom IDP initiierten AnbieterSAML.

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 Management Console
So konfigurieren Sie einen IdP für IdP-initiierte SAML
  1. Erstellen Sie einen Benutzerpool, einen App-Client und SAML einen Identitätsanbieter.

  2. Trennen Sie alle sozialen Anbieter und OIDC Identitätsanbieter von Ihrem App-Client, falls welche verknüpft sind.

  3. Navigieren Sie in Ihrem Benutzerpool zum Tab „Anmeldeerfahrung“.

  4. Bearbeiten Sie unter Anmeldung mit einem Federated Identity Provider einen Anbieter oder fügen Sie ihn hinzu. SAML

  5. Wählen Sie unter IdP-initiierte SAML Anmeldung die Option SP-initiierte und IdP-initiierte Assertionen akzeptieren aus. SAML

  6. Wählen Sie Änderungen speichern aus.

API/CLI

So konfigurieren Sie einen IdP für IdP-initiierte SAML

Konfigurieren Sie IDP-initiiert SAML mit dem IDPInit Parameter in einer CreateIdentityProviderUpdateIdentityProviderAPIOR-Anfrage. Im Folgenden finden Sie ein Beispiel für einen IdP, ProviderDetails der IdP-Initiated unterstützt. SAML

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