Saltar al contenido

Diferencia del servicio AWS entre el grupo de usuarios cognito y la identidad federada

Solución:

Grupo de usuarios de Cognito:

El grupo de usuarios de Amazon Cognito facilita a los desarrolladores agregar funciones de registro e inicio de sesión a aplicaciones web y móviles. Sirve como su propio proveedor de identidad para mantener un directorio de usuarios. Admite el registro y el inicio de sesión de los usuarios, así como el suministro de tokens de identidad para los usuarios que han iniciado sesión.

Identidades federadas de Cognito o grupo de identidades:

Cognito Identity Pool (o Cognito Federated Identities), por otro lado, es una forma de autorizar a sus usuarios a utilizar los distintos servicios de AWS. Supongamos que desea permitir que un usuario tenga acceso a su depósito de S3 para que pueda cargar un archivo; podría especificar eso al crear un grupo de identidades. Y para crear estos niveles de acceso, Identity Pool tiene su propio concepto de identidad (o usuario). La fuente de estas identidades (o usuarios) podría ser un grupo de usuarios de Cognito o incluso Facebook o Google.

Relación entre el grupo de usuarios y el grupo de identidades:

Cognito Identity Pool simplemente toma todos los proveedores de identidad y los junta (los federa). Y con todo esto, ahora puede brindarles a sus usuarios acceso seguro a sus servicios de AWS, independientemente de su procedencia.

Relación entre el grupo de usuarios y el grupo de identidades

Entonces, en resumen, el grupo de usuarios de Cognito almacena todos los usuarios que luego se conectan al grupo de identidades de Cognito, que puede darles acceso a los servicios de AWS.

fuente

Puede pensar en los grupos de usuarios como una especie de directorio que contiene atributos de usuario como nombre, correo electrónico, número de teléfono, etc. Esto también proporciona la capacidad de registrarse y registrarse. Puede federar usuarios en grupos de usuarios. Actualmente, puede utilizar Facebook, Google y SAML como proveedores de identidad para grupos de usuarios.

Las identidades federadas de Cognito le permiten federar usuarios en AWS y vende credenciales de AWS que se pueden usar para acceder a los recursos permitidos en su política. Para las identidades federadas de Cognito, también tiene una variedad de proveedores de identidad que puede configurar, como Facebook, Google, y también los grupos de usuarios de Cognito pueden ser proveedores de identidad.

Lo que use depende de su caso de uso. Si no necesita recursos de AWS para su aplicación, probablemente los grupos de usuarios sean todo lo que necesite.

Creo que AWS debería separar el grupo de usuarios y el grupo de identidades y cambiar los nombres. Porque mezclar diferentes servicios con el mismo nombre genera confusiones y los nombres no dan ninguna pista sobre los servicios.

  • Grupo de usuarios -> Servicio de venta de tokens y autenticación de AWS, similar a Auth0. Puede usar Auth0 en lugar de un grupo de usuarios innecesariamente complicado
  • Grupo de identidades -> Servicio de autorización de AWS IAM para los tokens de autenticación, como el token Auth0 o el token AWS JWT (del grupo de usuarios)

Mejor enfoque en Identity Pool. Porque User Pool es solo otro servicio de proveedor de identidad como MSAD, Google, Facebook, Auth0, etc. Un proveedor de identidad autentica y proporciona un token, por ejemplo, un token Kerberos para usuarios de MS AD, o un token de Cognito Userpool JWT para un usuario de AWS Cognito Userpool. Luego, Identity Pool puede utilizar el token para autorizar el acceso a los recursos de AWS.

AWS ha estado mezclando este servicio de autenticación / proveedor de identidades con el servicio de autorización / grupo de identidades, además de su nombre extraño, lo que ha provocado confusiones masivas y ha generado preguntas.

El nombre “Identity Pool” no tiene ningún sentido, ya que no indica lo que hace el servicio. Una palabra debe navegar pensando que conduce a la comprensión, no a la confusión. AWS hace exactamente lo contrario.

Preparación

Antes de saltar a lo que hace o es Identity Pool, es mejor comprender algunas cosas.

Token de AWS STS

Dicho ingenuamente, AWS STS Token nos permite crear, usar, actualizar y eliminar recursos de AWS mediante programación.

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN

Si tiene una cuenta de usuario de AWS, puede obtener AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY para el usuario, y luego obtener un token de STS usando, por ejemplo, MFA.

Rol de IAM

En realidad, un rol de IAM define qué acciones permitidas en qué recursos de AWS para un token de STS. Puede no permitir Eliminar pero crear. Por tanto, depende del rol de IAM lo que nos permita hacer un token de STS.

Sin embargo, el punto a tener en cuenta es que hay una asociación entre un rol de IAM y un token de STS obtiene, y alguien debe definir la asociación por usted.

Qué le ofrece Identity Pool

Da un Token STS, con el que puede manipular los recursos de AWS en una cuenta de AWS.


Situación en la que el grupo de identidades es útil

Otro problema de AWS para mí es que su documentación no declara Aquí es cuando necesitas Identity Pool, sino que sigue repitiendo la palabra Federación que no apunta a lo que hace Identity Pool, le permite manipular los recursos de AWS con un token de STS.

Si se encuentra en la situación en la que:

  • Quiero manipular los recursos de AWS en una cuenta de AWS y
  • No tengo un usuario de AWS IAM (o no quiero usarlo), pero
  • Tengo una cuenta en Corporate AD, o en Google, o en Facebook, o en Auth0, o …, o en Cognito User Pool.

Luego, puede usar Identity Pool para obtener un token de STS para la cuenta, por ejemplo, Google en la que inició sesión, y puede manipular el recurso de AWS.

Por ejemplo, si tiene más de 1000 usuarios en su AD corporativo y desea permitirles usar los recursos de AWS de alguna manera. ¿Crearía más de 1000 usuarios de AWS IAM? ¿O encuentra una manera de asignarlos a algunos roles de IAM, como “Administrador”, “Contabilidad”, “Finanzas”, “TI”?


Qué hace Identity Pool

Identity Pool mapea un Token de proveedor de identidad (por ejemplo, token de Google) a un Rol de IAM en una cuenta de AWS y otorga un token de STS.

AWS llama a este “mapeo” como Federación, en mi entendimiento.

Recomendaría olvidarse por completo de User Pool cuando se habla de Identity Pool. El grupo de usuarios es solo otro proveedor de identidad que puede que no necesite en absoluto.

Del mismo modo, al hablar de User Pool, recomendaría olvidar por completo Identity Pool.

Espero que AWS separe el servicio de proveedor de identidad (grupo de usuarios) del servicio de asignación de tokens (grupo de identidades) para dejar de causar confusiones.

ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *