Quiero vincular los usuarios que se federan a través de un proveedor de identidades (IdP) externo con los perfiles de usuario nativos de Amazon Cognito de mi grupo de usuarios. O bien, quiero desvincular los usuarios federados de los perfiles de usuario de Amazon Cognito de mi grupo de usuarios.
Solución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Vinculación de un usuario federado externo
Puedes vincular hasta cinco usuarios federados a cada perfil de usuario nativo.
Para vincular los usuarios federados, ejecuta el siguiente comando admin-link-provider-for-user de la AWS CLI:
aws cognito-idp admin-link-provider-for-user \
--user-pool-id User_Pool_ID \
--destination-user ProviderAttributeValue=Username,ProviderName=Cognito \
--source-user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value
Nota: Sustituye User_Pool_ID por el ID de tu grupo de usuarios de Amazon Cognito, Username por el nombre de usuario nativo de Amazon Cognito y Provider_Name por el proveedor de identidades (IdP) externo. Sustituye Attribute por el atributo de usuario que está asignado al IdP y Attribute_Value por el atributo del usuario federado.
Si el comando se ejecuta correctamente, el resultado muestra un estado HTTP 200 con un cuerpo vacío.
Nota: No puedes usar la detección de amenazas de Amazon Cognito con proveedores de inicio de sesión federados. Los registros de actividad de los usuarios de Amazon Cognito no registran la actividad de inicio de sesión federada. Para obtener más información, consulta Linking federated users to an existing user profile (Vinculación de usuarios federados a un perfil de usuario existente).
Desvinculación de un usuario federado externo
Para desvincular el usuario federado, ejecuta el siguiente comando admin-disable-provider-for-user:
aws cognito-idp admin-disable-provider-for-user \
--user-pool-id User_Pool_ID \
--user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value
Nota: Sustituye User_Pool_ID por el ID de tu grupo de usuarios de Amazon Cognito y Provider_Name por tu IdP. Sustituye Attribute por el atributo de usuario que está asignado al IdP federado y Attribute_Value por el atributo del usuario federado.
Si el comando se ejecuta correctamente, el resultado muestra un estado HTTP 200 con un cuerpo vacío.
Para confirmar que el atributo del usuario ya no muestra el usuario desvinculado, ejecuta el comando admin-get-user.
Tras desvincular el usuario federado, el usuario no podrá usar el IdP para iniciar sesión en la cuenta de usuario de Amazon Cognito.
Información relacionada
Inicio de sesión en grupos de usuarios con proveedores de identidad de terceros
Managed login and federation error responses (Respuestas de error de inicio de sesión y federación administradas)