Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Información que debe conocer sobre los SAML IdPs grupos de usuarios de Amazon Cognito
La implementación de un IdP SAML 2.0 viene con algunos requisitos y restricciones. Consulte esta sección cuando implemente su IdP. También encontrarás información útil para solucionar errores durante la SAML federación con un grupo de usuarios.
- Amazon Cognito procesa las SAML afirmaciones por usted
-
Los grupos de usuarios de Amazon Cognito admiten la federación SAML 2.0 con puntos de enlace vinculantesPOST. Esto elimina la necesidad de que la aplicación recupere o analice las respuestas a las SAML aserciones, ya que el grupo de usuarios recibe directamente la SAML respuesta de su IdP a través de un agente de usuario. El grupo de usuarios actúa como proveedor de servicios (SP) en nombre de la aplicación. Amazon Cognito admite el inicio de sesión único (SSO) iniciado por SP e IdP, tal como se describe en las secciones 5.1.2 y 5.1.4 de la descripción técnica de la versión 2.0. SAML
- Proporcione un certificado de firma de IdP válido
-
El certificado de firma de los metadatos de su SAML proveedor no debe caducar al configurar el SAML IdP en su grupo de usuarios.
- Los grupos de usuarios admiten varios certificados de firma
-
Cuando su SAML IdP incluye más de un certificado de firma en SAML los metadatos, al iniciar sesión, su grupo de usuarios determina que la SAML afirmación es válida si coincide con algún certificado de los metadatos. SAML Cada certificado de firma no debe tener más de 4096 caracteres.
- Mantenga el parámetro de estado del relé
-
Amazon Cognito y su SAML IdP mantienen la información de la sesión con un parámetro.
relayState
-
Amazon Cognito admite valores de
relayState
superiores a 80 bytes. Si bien SAML las especificaciones indican que elrelayState
valor «no debe superar los 80 bytes de longitud», la práctica actual del sector a menudo se aparta de este comportamiento. En consecuencia, si se rechazanrelayState
valores superiores a 80 bytes, se romperán muchas integraciones estándar de SAML proveedores. -
El
relayState
token es una referencia opaca a la información estatal mantenida por Amazon Cognito. Amazon Cognito no garantiza el contenido del parámetrorelayState
. No analice el contenido de forma que la aplicación dependa del resultado. Para obtener más información, consulte la especificación SAML 2.0.
-
- Identifique el ACS punto final
-
Su proveedor de SAML identidad requiere que establezca un punto final para el consumidor de la aserción. Su IdP redirige a los usuarios a este punto final con su afirmación. SAML Configure el siguiente punto final en el dominio de su grupo de usuarios para el POST enlace SAML 2.0 en su SAML proveedor de identidad.
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/idpresponsePara obtener más información sobre los dominios del grupo de usuarios, consulte Configuración de un dominio del grupo de usuarios.
- No se han reproducido afirmaciones
-
No puede repetir ni reproducir una SAML afirmación en su punto de conexión de Amazon
saml2/idpresponse
Cognito. Una SAML afirmación reproducida tiene un ID de afirmación que duplica el ID de una respuesta de IdP anterior. - El ID del grupo de usuarios es el ID de la entidad SP
-
Debe proporcionar su IdP con el ID de su grupo de usuarios en el proveedor de servicios (SP)
urn
, también denominado ID de audiencia URI o entidad SP. La audiencia URI de su grupo de usuarios tiene el siguiente formato.urn:amazon:cognito:sp:
us-east-1_EXAMPLE
Encontrará el ID de su grupo de usuarios en la descripción general del grupo de usuarios de la consola de Amazon Cognito
. - Mapee todos los atributos necesarios
-
Configure su SAML IdP para que proporcione valores para cualquier atributo que establezca según sea necesario en su grupo de usuarios. Por ejemplo,
email
es un atributo obligatorio y común para grupos de usuarios. Antes de que los usuarios puedan iniciar sesión, las afirmaciones de SAML IdP deben incluir una afirmación que se asigne al atributo User pool.email
Para obtener más información acerca de la asignación de atributos, consulte Asignación de atributos de IdP a perfiles y tokens. - El formato de aserción tiene requisitos específicos
-
Su SAML IdP debe incluir las siguientes afirmaciones en la SAML afirmación.
-
Una
NameID
reclamación. Amazon Cognito asocia una SAML afirmación con el usuario de destino mediante.NameID
SiNameID
cambia, Amazon Cognito considerará que la afirmación es para un usuario nuevo. El atributo que definaNameID
en la configuración de su IdP debe tener un valor persistente. Para asignar SAML usuarios a un perfil de usuario coherente en su grupo de usuarios, asigne suNameID
reclamación a partir de un atributo con un valor que no cambie.<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent"> carlos </saml2:NameID>
Una figura
Format
en suNameID
declaración de IdPurn:oasis:names:tc:SAML:1.1:nameid-format:persistent
indica que su IdP está transfiriendo un valor inmutable. Amazon Cognito no requiere esta declaración de formato y asigna un formato siurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
su IDP no especifica ningún formato de la reclamación.NameID
Este comportamiento cumple con la sección 2.2.2 de tipo complejo N ameIDType, de la especificación 2.0. SAML -
Una reclamación
AudienceRestriction
con un valorAudience
que establece el ID de la entidad SP del grupo de usuarios como el objetivo de la respuesta.<saml:AudienceRestriction> <saml:Audience> urn:amazon:cognito:sp:
us-east-1_EXAMPLE
</saml:AudienceRestriction> -
En el caso del inicio de sesión único iniciado por SP,
Response
elemento con elInResponseTo
valor del identificador de solicitud original. SAML<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">nota
SAMLLas aserciones iniciadas por el IdP no deben contener ningún valor.
InResponseTo
-
Un
SubjectConfirmationData
elemento con unRecipient
valor delsaml2/idpresponse
punto final del grupo de usuarios y, en el caso de las iniciadas por SPSAML, unInResponseTo
valor que coincida con el identificador de solicitud original. SAML<saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="
Date-time stamp
" Recipient="https://mydomain.us-east-1.amazoncognito.com
/saml2/idpresponse"/>
-
- Solicitudes de inicio de sesión iniciadas por SP
-
Cuando Autorizar punto de conexión redirige al usuario a la página de inicio de sesión de su IDP, Amazon Cognito incluye SAMLuna solicitud en URL un parámetro de la solicitud.
HTTP GET
La SAML solicitud contiene información sobre su grupo de usuarios, incluido su punto de enlace. ACS Si lo desea, puede aplicar una firma criptográfica a estas solicitudes. - Firme las solicitudes y cifre las respuestas
-
Cada grupo de usuarios con un SAML proveedor genera un key pair asimétrico y un certificado de firma para una firma digital que Amazon Cognito asigna SAML a las solicitudes. Cada SAML IDP externo que configure para admitir la SAML respuesta cifrada hace que Amazon Cognito genere un nuevo key pair y un certificado de cifrado para ese proveedor. Para ver y descargar los certificados con la clave pública, elija su IDP en la pestaña Experiencia de inicio de sesión de la consola de Amazon Cognito.
Para establecer la confianza con SAML las solicitudes de su grupo de usuarios, proporcione a su IdP una copia del certificado de firma de su grupo de usuarios SAML 2.0. El IdP puede ignorar SAML las solicitudes firmadas por el grupo de usuarios si no configura el IdP para que acepte las solicitudes firmadas.
-
Amazon Cognito aplica una firma digital a SAML las solicitudes que el usuario pasa a su IdP. Su grupo de usuarios firma todas las solicitudes de inicio de sesión único (SLO) y puede configurar su grupo de usuarios para que firme las solicitudes de inicio de sesión único (SSO) para cualquier IdP externoSAML. Al proporcionar una copia del certificado, el IdP puede comprobar la integridad de las solicitudes de los usuariosSAML.
-
Su SAML IdP puede cifrar SAML las respuestas con el certificado de cifrado. Cuando configura un IdP con SAML cifrado, su IdP solo debe enviar respuestas cifradas.
-
- Codifique caracteres no alfanuméricos
-
Amazon Cognito no acepta 8 caracteres de 4 bytes UTF como 😐 o 𠮷 que su IdP pasa como un valor de atributo. Puede codificar el carácter en Base64 para enviarlo como texto y, después, descodificarlo en la aplicación.
En el siguiente ejemplo, no se aceptará la notificación de atributo:
<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>
Al contrario que en el ejemplo anterior, no se aceptará la notificación de atributo siguiente:
<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>
- El punto final de los metadatos debe tener una seguridad de capa de transporte válida
-
Si,
InvalidParameterException
al crear un SAML IdP con un punto final de HTTPS metadatos, apareceURL, por ejemplo, «Error al recuperar los metadatos de<metadata endpoint>
», asegúrese de que el punto final de los metadatos se haya configurado SSL correctamente y de que tenga asociado un SSL certificado válido. Para obtener más información sobre la validación de certificados, consulte ¿Qué es un TLS certificadoSSL/? . - Los clientes de aplicaciones iniciados por IdP solo SAML pueden iniciar sesión con SAML
-
Cuando activas la compatibilidad con un IdP SAML 2.0 que admite el inicio de sesión iniciado por el IdP en un cliente de aplicaciones, solo puedes añadir otro SAML 2.0 IdPs a ese cliente de aplicación. No puedes añadir el directorio de usuarios al grupo de usuarios ni a todos los proveedores de identidad no SAML externos a un cliente de aplicaciones configurado de esta manera.
- Las respuestas de cierre de sesión deben ser vinculantes POST
-
El
/saml2/logout
punto final aceptaLogoutResponse
comoHTTP POST
solicitudes. Los grupos de usuarios no aceptan respuestas de cierre de sesión conHTTP GET
carácter vinculante.