Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Informations à connaître sur les groupes SAML IdPs d'utilisateurs Amazon Cognito
La mise en œuvre d'un IdP SAML 2.0 s'accompagne de certaines exigences et restrictions. Reportez-vous à cette section lorsque vous implémentez votre IdP. Vous trouverez également des informations utiles pour résoudre les erreurs lors de la SAML fédération avec un groupe d'utilisateurs.
- Amazon Cognito traite les SAML assertions pour vous
-
Les groupes d'utilisateurs Amazon Cognito prennent en charge la fédération SAML 2.0 avec des points de terminaison à POST liaison. Votre application n'a donc plus besoin de récupérer ou d'analyser les réponses aux SAML assertions, car le groupe d'utilisateurs reçoit directement la SAML réponse de votre IdP par le biais d'un agent utilisateur. Votre groupe d'utilisateurs agit en tant que fournisseur de services pour le compte de votre application. Amazon Cognito prend en charge l'authentification unique initiée par le SP et l'IdP (SSO), comme décrit dans les sections 5.1.2 et 5.1.4 de la présentation technique de la version 2.0. SAML
- Fournir un certificat de signature IdP valide
-
Le certificat de signature figurant dans les métadonnées de votre SAML fournisseur ne doit pas être expiré lorsque vous configurez l'SAMLIdP dans votre groupe d'utilisateurs.
- Les groupes d'utilisateurs prennent en charge plusieurs certificats de signature
-
Lorsque votre SAML IdP inclut plusieurs certificats de signature dans les SAML métadonnées, lors de la connexion, votre groupe d'utilisateurs détermine que l'SAMLassertion est valide si elle correspond à un certificat des métadonnées. SAML Chaque certificat de signature ne doit pas comporter plus de 4 096 caractères.
- Maintenir le paramètre d'état du relais
-
Amazon Cognito et votre SAML IdP gèrent les informations de session à l'aide d'un paramètre.
relayState
-
Amazon Cognito prend en charge
relayState
les valeurs supérieures à 80 octets. Bien que les SAML spécifications indiquent que larelayState
valeur « ne doit pas dépasser 80 octets », les pratiques actuelles du secteur s'écartent souvent de ce comportement. Par conséquent, le rejet derelayState
valeurs supérieures à 80 octets interrompra de nombreuses intégrations de SAML fournisseurs standard. -
Le
relayState
jeton est une référence opaque aux informations d'état gérées par Amazon Cognito. Amazon Cognito ne garantit pas le contenu du paramètrerelayState
. N'analysez pas son contenu de telle sorte que votre application dépende du résultat. Pour plus d'informations, consultez la spécification SAML 2.0.
-
- Identifier le ACS point de terminaison
-
Votre fournisseur SAML d'identité exige que vous définissiez un point de terminaison client d'assertions. Votre IdP redirige vos utilisateurs vers ce point de terminaison avec leur assertion. SAML Configurez le point de terminaison suivant dans le domaine de votre groupe d'utilisateurs pour une POST liaison SAML 2.0 dans votre fournisseur SAML d'identité.
https://
Your user pool domain
/saml2/idpresponse With an Amazon Cognito domain: https://mydomain.us-east-1.amazoncognito.com
/saml2/idpresponse With a custom domain: https://auth.example.com
/saml2/idpresponsePour plus d'informations sur les domaines de groupes d’utilisateurs, consultez Configuration d'un domaine de groupe d'utilisateurs.
- Aucune assertion rejouée
-
Vous ne pouvez pas répéter ou rejouer une SAML assertion sur votre point de terminaison Amazon
saml2/idpresponse
Cognito. Une SAML assertion rejouée possède un ID d'assertion qui duplique l'ID d'une réponse IdP antérieure. - L'ID du groupe d'utilisateurs est l'ID de l'entité SP
-
Vous devez fournir à votre IdP l'ID de votre groupe d'utilisateurs dans le fournisseur de services (SP)
urn
, également appelé identifiant d'audience URI ou d'entité SP. L'audience URI de votre groupe d'utilisateurs se présente sous le format suivant.urn:amazon:cognito:sp:
us-east-1_EXAMPLE
Vous trouverez l'ID de votre groupe d'utilisateurs dans la section Vue d'ensemble du groupe d'utilisateurs dans la console Amazon Cognito
. - Cartographier tous les attributs requis
-
Configurez votre SAML IdP pour fournir des valeurs pour tous les attributs que vous définissez comme requis dans votre groupe d'utilisateurs. Par exemple,
email
est un attribut courant requis pour les groupes d'utilisateurs. Avant que vos utilisateurs puissent se connecter, vos assertions d'SAMLIdP doivent inclure une revendication que vous mappez à l'attribut User pool.email
Pour plus d'informations sur le mappage d'attributs, consultez Mappage des attributs d'IdP aux profils et aux jetons. - Le format d'assertion a des exigences spécifiques
-
Votre SAML IdP doit inclure les affirmations suivantes dans l'SAMLassertion.
-
Une
NameID
réclamation. Amazon Cognito associe une SAML assertion à l'utilisateur de destination par.NameID
En cas deNameID
modification, Amazon Cognito considère que l'assertion est destinée à un nouvel utilisateur. L'attribut que vous avez définiNameID
dans votre configuration IdP doit avoir une valeur persistante. Pour attribuer SAML aux utilisateurs un profil utilisateur cohérent dans votre groupe d'utilisateurs, attribuez votreNameID
réclamation à partir d'un attribut dont la valeur ne change pas.<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent"> carlos </saml2:NameID>
Un
Format
dans votreNameID
réclamation IdP deurn:oasis:names:tc:SAML:1.1:nameid-format:persistent
indique que votre IdP transmet une valeur immuable. Amazon Cognito n'exige pas cette déclaration de format et attribue un format de siurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
votre IdP ne spécifie pas de format pour la réclamation.NameID
Ce comportement est conforme à la section 2.2.2 Type N ameIDType complexe de la spécification SAML 2.0. -
Un champ standard
AudienceRestriction
avec une valeurAudience
qui définit l'ID d'entité SP de votre groupe d'utilisateurs comme cible de la réponse.<saml:AudienceRestriction> <saml:Audience> urn:amazon:cognito:sp:
us-east-1_EXAMPLE
</saml:AudienceRestriction> -
Pour l'authentification unique initiée par le SP,
Response
élément dontInResponseTo
la valeur est l'ID de SAML demande d'origine.<saml2p:Response Destination="https://
mydomain.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">Note
Les SAML assertions initiées par l'IdP ne doivent pas contenir de valeur.
InResponseTo
-
Un
SubjectConfirmationData
élément dontRecipient
la valeur correspond au point desaml2/idpresponse
terminaison de votre groupe d'utilisateurs et, pour les applications initiées par le SPSAML, uneInResponseTo
valeur correspondant à l'ID de SAML demande d'origine.<saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="
Date-time stamp
" Recipient="https://mydomain.us-east-1.amazoncognito.com
/saml2/idpresponse"/>
-
- Demandes de connexion initiées par le SP
-
Lorsque l'utilisateur est Point de terminaison d’autorisation redirigé vers la page de connexion de votre IdP, Amazon Cognito inclut SAMLune demande dans URL un paramètre de la demande.
HTTP GET
Une SAML demande contient des informations sur votre groupe d'utilisateurs, y compris votre ACS point de terminaison. Vous pouvez éventuellement appliquer une signature cryptographique à ces demandes. - Signer les demandes et chiffrer les réponses
-
Chaque groupe d'utilisateurs disposant d'un SAML fournisseur génère une paire de clés asymétriques et un certificat de signature pour une signature numérique qu'Amazon Cognito attribue SAML aux demandes. Chaque SAML IdP externe que vous configurez pour prendre en charge les SAML réponses chiffrées amène Amazon Cognito à générer une nouvelle paire de clés et un nouveau certificat de chiffrement pour ce fournisseur. Pour consulter et télécharger les certificats avec la clé publique, choisissez votre IdP dans l'onglet Expérience de connexion de la console Amazon Cognito.
Pour établir la confiance avec les SAML demandes de votre groupe d'utilisateurs, fournissez à votre IdP une copie du certificat de signature de votre groupe d'utilisateurs SAML 2.0. Votre IdP peut ignorer les SAML demandes signées par votre groupe d'utilisateurs si vous ne configurez pas l'IdP pour accepter les demandes signées.
-
Amazon Cognito applique une signature numérique aux SAML demandes que votre utilisateur transmet à votre IdP. Votre groupe d'utilisateurs signe toutes les demandes de déconnexion unique (SLO), et vous pouvez configurer votre groupe d'utilisateurs pour qu'il signe les demandes d'authentification unique (SSO) pour n'importe quel SAML IdP externe. Lorsque vous fournissez une copie du certificat, votre IdP peut vérifier l'intégrité des demandes de vos utilisateursSAML.
-
Votre SAML IdP peut chiffrer les SAML réponses à l'aide du certificat de chiffrement. Lorsque vous configurez un IdP avec SAML chiffrement, celui-ci ne doit envoyer que des réponses chiffrées.
-
- Coder des caractères non alphanumériques
-
Amazon Cognito n'accepte pas les caractères de 4 à 8 octets tels UTF que 😐 or 𠮷 que votre IdP transmet en tant que valeur d'attribut. Vous pouvez coder le caractère en Base64, le transmettre sous forme de texte, puis le décoder dans votre application.
Dans l'exemple suivant, la revendication d'attribut ne sera pas acceptée :
<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>
Contrairement à l'exemple précédent, la revendication d'attribut suivante sera acceptée :
<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>
- Le point de terminaison des métadonnées doit disposer d'une sécurité de couche de transport valide
-
Si vous voyez,
InvalidParameterException
lors de la création d'un SAML IdP avec un point de terminaison de HTTPS métadonnées, par exempleURL, « Erreur lors de la récupération des métadonnées depuis<metadata endpoint>
», assurez-vous que le point de terminaison des métadonnées est SSL correctement configuré et qu'un SSL certificat valide lui est associé. Pour plus d'informations sur la validation des certificats, voir Qu'est-ce qu'un TLS certificatSSL/?. - Les clients de l'application initiés par un IdP ne SAML peuvent se connecter qu'avec SAML
-
Lorsque vous activez la prise en charge d'un IdP SAML 2.0 qui prend en charge la connexion initiée par l'IdP à un client d'application, vous ne pouvez ajouter qu'un autre identifiant SAML 2.0 IdPs à ce client d'application. Il vous est interdit d'ajouter l'annuaire des utilisateurs dans le groupe d'utilisateurs et tous les fournisseurs d'identité non SAML externes à un client d'application configuré de cette manière.
- Les réponses de déconnexion doivent utiliser POST une liaison
-
Le
/saml2/logout
point de terminaison accepte lesHTTP POST
demandesLogoutResponse
en tant que telles. Les groupes d'utilisateurs n'acceptent pas les réponses de déconnexionHTTP GET
contraignantes.