Quiero utilizar Servicios de federación de Active Directory (AD FS) como proveedor de identidades (IdP) de SAML 2.0 con un grupo de usuarios de Amazon Cognito.
Solución
Requisito previo: Debes poseer un dominio para configurar un AD FS con un grupo de usuarios de Amazon Cognito. Si no tienes un dominio, puedes registrar uno nuevo con Amazon Route 53 u otro servicio DNS.
Creación de un grupo de usuarios de Amazon Cognito con un inicio de sesión administrado
Crea un grupo de usuarios de Amazon Cognito y, a continuación, configura un inicio de sesión administrado.
Configuración de una instancia de Windows de Amazon EC2
Sigue estos pasos:
- Inicia una instancia de Windows de Amazon Elastic Compute Cloud (Amazon EC2).
- Configura un servidor AD FS y un controlador de dominio en la instancia de Windows de Amazon EC2.
Para obtener instrucciones, consulta ¿Cómo configuro AD FS en una instancia de Windows de Amazon EC2 para que funcione con la federación de un grupo de usuarios de Amazon Cognito?
Configuración de AD FS como un IdP SAML en Amazon Cognito
Sigue estos pasos:
- Configura un IdP SAML 2.0 en tu grupo de usuarios. Puedes pegar la URL del punto de enlace del documento de metadatos o cargar el archivo de metadatos .xml.
- Asigna los atributos de IdP SAML al perfil de usuario de tu grupo de usuarios. Asegúrate de incluir todos los atributos necesarios en tu asignación de atributos.
Actualización de la configuración del cliente de aplicación
Sigue estos pasos:
- Abre la consola de Amazon Cognito.
- En Aplicaciones, elige Clientes de aplicaciones. Luego, ve a la lista y elige el cliente de aplicación que generó el proceso de configuración del grupo de usuarios.
- Ve a la pestaña Páginas de inicio de sesión, elige Editar y, a continuación, selecciona las siguientes opciones:
En Direcciones URL de devolución de llamadas, indica la URL a la que quieras redirigir a tus usuarios cuando inicien sesión.
En Direcciones URL de cierre de sesión, introduce la URL a la que quieras redirigir a tus usuarios cuando cierren sesión.
En Proveedores de identidad, elige tu IdP SAML en la lista desplegable.
En los tipos de concesión de OAuth 2.0, selecciona las casillas Concesión de código de autorización y Concesión implícita.
En los ámbitos de OpenID Connect, selecciona todos los ámbitos de OIDC en la lista desplegable.
En los ámbitos personalizados, selecciona los ámbitos personalizados que configuraste.
- Selecciona Guardar cambios.
Para obtener información sobre la terminología del cliente de aplicación, consulta los términos de configuración del cliente de aplicación.
Prueba de configuración
Sigue estos pasos:
- Introduce esta URL en tu navegador web: https://domainNamePrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=appClientId&redirect_uri=https://www.example.com
- Abre la consola de Amazon Cognito.
- En el panel de navegación, elige Marca y, a continuación, elige tu dominio.
- Copia la URL del dominio.
Nota: Sustituye domainNamePrefix.auth.region.amazoncognito.com por la URL de tu dominio.
- En el panel de navegación, en Aplicaciones, elige Clientes de aplicaciones. A continuación, copia el ID de cliente de aplicación.
Nota: Sustituye AppClientID por el ID de cliente de aplicación.
- Selecciona tu cliente de aplicación y, a continuación, elige la pestaña Páginas de inicio de sesión.
- Copia la URL de devolución de llamadas que aparece en la pestaña Páginas de inicio de sesión.
Nota: Sustituye https://www.example.com por la URL de devolución de llamadas.
- Introduce la URL modificada en tu navegador. Amazon Cognito te redirigirá a la página de autenticación de Cognito.
- En la página de inicio de sesión, elige tu IdP SAML.
- En Iniciar sesión con la cuenta de tu organización, introduce el nombre de usuario y la contraseña de tu usuario de Active Directory.
- Selecciona Iniciar sesión.
Nota: Cuando inicias sesión correctamente, AD FS envía una respuesta SAML a Amazon Cognito. Amazon Cognito valida la respuesta de SAML. Si la respuesta de SAML es válida, Amazon Cognito te redirigirá a la página de la aplicación con tokens. Si la respuesta de SAML no es válida, Amazon Cognito te redirigirá a la página de la aplicación con un mensaje de error en la URL. La respuesta de SAML debe incluir el atributo NameID. Si la respuesta de SAML no incluye este atributo, se produce un error en la federación. Para obtener información sobre las respuestas de SAML, consulta Visualización de una respuesta de SAML en tu navegador.
Información relacionada
Creación de una federación de ADFS para tu aplicación web mediante grupos de usuarios de Amazon Cognito
Configuración de tu proveedor de identidades SAML de terceros
Inicio de sesión de SAML en grupos de usuarios de Amazon Cognito
¿Cómo configuro un proveedor de identidades SAML externo con un grupo de usuarios de Amazon Cognito?
Descripción de los tokens web JSON de grupos de usuarios (JWTs)