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 saber sobre SAML IdPs en los grupos de usuarios de Amazon Cognito
- Amazon Cognito procesa las aserciones de SAML por usted
-
Los grupos de usuarios de Amazon Cognito admiten la federación SAML 2.0 con puntos de conexión POST-binding. De esta forma, se suprime la necesidad de que la aplicación recupere o analice las respuestas de aserciones SAML, ya que el grupo de usuarios recibe directamente la respuesta SAML del 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 SAML V2.0.
- Proporcione un certificado de firma de IdP válido
-
El certificado de firma de los metadatos de su proveedor de SAML no debe caducar al configurar el IdP de SAML en su grupo de usuarios.
- Los grupos de usuarios admiten varios certificados de firma
-
Cuando el IdP de SAML incluye más de un certificado de firma en los metadatos de SAML, al iniciar sesión, el grupo de usuarios determina que la afirmación de SAML es válida si coincide con algún certificado de los metadatos de SAML. Cada certificado de firma no debe tener más de 4096 caracteres.
- Mantenga el parámetro de estado del relé
-
Amazon Cognito y el IdP SAML mantienen la información de la sesión con un parámetro
relayState
.-
Amazon Cognito admite valores de
relayState
superiores a 80 bytes. Aunque en las especificaciones de SAML se establece que el valor derelayState
“no debe superar los 80 bytes de tamaño”, la práctica actual del sector se desvía con frecuencia de este comportamiento. Como consecuencia, rechazar valores derelayState
de más de 80 bytes interrumpirá muchas integraciones de proveedores SAML estándar. -
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 de SAML 2.0.
-
- Identifique el punto final de ACS
-
El proveedor de identidades SAML requiere que establezca un punto de conexión del consumidor de aserción. El IdP redirige a los usuarios a este punto de conexión con la aserción de SAML. Configure el siguiente punto de conexión en el dominio de su grupo de usuarios para enlace POST de SAML 2.0 en su proveedor de identidades SAML.
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 aserción de SAML en el punto de conexión
saml2/idpresponse
de Amazon Cognito. Una aserción de SAML reproducida tiene un ID de aserció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 su ID de grupo de usuarios en el proveedor de servicios (SP)
urn
, también denominado URI de audiencia o ID de entidad SP. El URI de destino del 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 el IdP SAML para proporcionar valores para los atributos que establezca como necesarios en el 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 aserciones del IdP SAML deben incluir una afirmación que asigne alemail
del atributo de grupo de usuarios. Para obtener más información acerca de la asignación de atributos, consulte Especificación de asignaciones de atributos del proveedor de identidad para su grupo de usuarios. - El formato de aserción tiene requisitos específicos
-
Su IdP de SAML debe incluir las siguientes afirmaciones en la afirmación de SAML.
-
NameID
Una reclamación. Amazon Cognito asocia una afirmación de SAML 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.<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:persistent"> carlos </saml2:NameID>
-
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 un SP, un
Response
elemento con elInResponseTo
valor del identificador de solicitud de SAML original.<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
Las aserciones SAML 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 del SAML iniciado por SP, unInResponseTo
valor que coincida con el ID de solicitud de SAML original.<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 el Autorizar punto de conexión redirige a su usuario a la página de inicio de sesión de su IdP, Amazon Cognito incluye una solicitud SAML en un parámetro URL de la solicitud
HTTP GET
. Una solicitud de SAML contiene información sobre su grupo de usuarios, incluido su punto final 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 proveedor de SAML genera un key pair asimétrico y un certificado de firma para una firma digital que Amazon Cognito asigna a las solicitudes de SAML. Cada IDP de SAML externo que configure para admitir una respuesta SAML 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 las solicitudes de SAML de su grupo de usuarios, proporcione a su IdP una copia del certificado de firma SAML 2.0 de su grupo de usuarios. Si no configura el IdP para que acepte solicitudes firmadas por su grupo de usuarios, su IdP podría ignorar las solicitudes de SAML firmadas.
-
Amazon Cognito aplica una firma digital a las solicitudes de SAML que el usuario pasa a su IdP. Su grupo de usuarios firma todas las solicitudes de cierre 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 externo de SAML. Al proporcionar una copia del certificado, el IdP puede comprobar la integridad de las solicitudes de SAML de los usuarios.
-
Su IdP de SAML puede cifrar las respuestas de SAML con el certificado de cifrado. Cuando configura un IdP con cifrado SAML, su IdP solo debe enviar respuestas cifradas.
-
- Codifique caracteres no alfanuméricos
-
Amazon Cognito no acepta caracteres UTF-8 de 4 bytes, como 😐 o, que su IdP pase como 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 aparece
InvalidParameterException
al crear un IdP SAML con una URL de punto de enlace de metadatos HTTPS (por ejemplo, "Error al recuperar los metadatos del<punto de enlace de metadatos>
)", asegúrese de que el punto de enlace de los metadatos tenga SSL correctamente configurado y de que haya un certificado SSL válido asociado. Para obtener más información sobre la validación de certificados, consulte ¿Qué es uncertificado SSL/TLS? . - Los clientes de aplicaciones con SAML iniciado por el IdP solo pueden iniciar sesión con SAML
-
Cuando activas la compatibilidad con un IdP de 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 IdPs 2.0 a ese cliente de aplicación. No puedes añadir el directorio de usuarios del grupo de usuarios ni todos los proveedores de identidad externos que no sean de SAML a un cliente de aplicaciones configurado de esta manera.
- Las respuestas de cierre de sesión deben utilizar el enlace 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.