Información que debe conocer sobre los SAML IdPs grupos de usuarios de Amazon Cognito - Amazon Cognito

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

  1. Amazon Cognito admite valores de relayState superiores a 80 bytes. Si bien SAML las especificaciones indican que el relayState 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 rechazan relayState valores superiores a 80 bytes, se romperán muchas integraciones estándar de SAML proveedores.

  2. El relayState token es una referencia opaca a la información estatal mantenida por Amazon Cognito. Amazon Cognito no garantiza el contenido del parámetro relayState. 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/idpresponse

Para 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 Si NameID cambia, Amazon Cognito considerará que la afirmación es para un usuario nuevo. El atributo que defina NameID 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 su NameID 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 su NameID declaración de IdP urn: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 si urn: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 valor Audience 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 el InResponseTo 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 un Recipient valor del saml2/idpresponse punto final del grupo de usuarios y, en el caso de las iniciadas por SPSAML, un InResponseTo 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.

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

  2. 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 acepta LogoutResponse como HTTP POST solicitudes. Los grupos de usuarios no aceptan respuestas de cierre de sesión con HTTP GET carácter vinculante.