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.
Acceda Servicios de AWS desde unASP. NETAplicación principal que utiliza grupos de identidades de Amazon Cognito
Creada por Bibhuti Sahu () y Marcelo Barbosa () AWS AWS
Entorno: PoC o piloto | Tecnologías: seguridad, identidad, cumplimiento; aplicaciones web y móviles | AWSservicios: Amazon Cognito |
Resumen
Este patrón explica cómo puede configurar los grupos de usuarios y grupos de identidades de Amazon Cognito y, a continuación, habilitar un. ASP NETAplicación básica para acceder a AWS los recursos tras una autenticación correcta.
Amazon Cognito ofrece autenticación, autorización y administración de usuarios para sus aplicaciones móviles y web. Los dos componentes principales de Amazon Cognito son los grupos de usuarios y los grupos de identidades.
Un grupo de usuarios es un directorio de usuarios en Amazon Cognito. Con un grupo de usuarios, los usuarios pueden iniciar sesión en su aplicación web o móvil mediante Amazon Cognito. Los usuarios también pueden iniciar sesión a través de proveedores de identidad social como Google, Facebook, Amazon o Apple, y a través de proveedores de SAML identidad.
Con los grupos de identidades de Amazon Cognito (identidades federadas), se pueden crear identidades únicas para los usuarios y federarlas con proveedores de identidad. Con un grupo de identidades, puedes obtener AWS credenciales temporales con privilegios limitados para acceder a otros. Servicios de AWS Antes de empezar a usar su nuevo grupo de identidades de Amazon Cognito, debe asignar una o más funciones AWS Identity and Access Management (IAM) para determinar el nivel de acceso que desea que los usuarios de la aplicación tengan a sus AWS recursos. Los grupos de identidades definen dos tipos de identidades: autenticadas y sin autenticar. A cada tipo de identidad se le puede asignar su propia función. IAM Las identidades autenticadas pertenecen a los usuarios autenticados por un proveedor de inicio de sesión público (grupos de usuarios de Amazon Cognito, FacebookSAML, Google o cualquier proveedor de OpenID Connect) o un proveedor de desarrolladores (su propio proceso de autenticación de back-end), mientras que las identidades no autenticadas suelen pertenecer a los usuarios invitados. Cuando Amazon Cognito reciba una solicitud de usuario, el servicio determina si la solicitud está autenticada o no autenticada, determina qué rol está asociado a qué tipo de autenticación y, a continuación, usa la política adjunta a ese rol para responder a la solicitud.
Requisitos previos y limitaciones
Requisitos previos
Y Cuenta de AWS con Amazon Cognito y permisos IAM
Acceda a los AWS recursos que desee utilizar
ASP. NETCore 2.0.0 o posterior
Arquitectura
Pila de tecnología
Amazon Cognito
ASP. NETNúcleo
Arquitectura de destino
![Cómo acceder a AWS los servicios desde unASP. NETAplicación principal que utiliza grupos de identidades de Amazon Cognito.](images/pattern-img/0152c4af-3e42-4ab0-9f03-3350cdb09e69/images/bd12b499-e6de-454e-a2ef-175a8b5ab9c8.png)
Herramientas
Herramientas SDKs y Servicios de AWS
Visual Studio o Visual Studio Code
Código
El archivo .zip adjunto incluye archivos de muestra que ilustran lo siguiente:
Cómo recuperar un token de acceso para el usuario que ha iniciado sesión
¿Cómo intercambiar un token de acceso por credenciales AWS
Cómo acceder al servicio Amazon Simple Storage Service (Amazon S3) con credenciales AWS
IAMfunción para las identidades autenticadas
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "mobileanalytics:PutEvents", "cognito-sync:*", "cognito-identity:*", "s3:ListAllMyBuckets*" ], "Resource": [ "*" ] } ] }
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un grupo de usuarios. |
| Desarrollador |
Agregar un cliente de aplicación. | Puede crear una aplicación para utilizar las páginas web integradas para que sus usuarios se inscriban e inicien sesión.
| Desarrollador |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear un grupo de identidades de . |
| Desarrollador |
Asigne IAM funciones al grupo de identidades. | Puede editar los IAM roles de los usuarios autenticados y no autenticados o mantener los valores predeterminados y, a continuación, elegir Permitir. Para este patrón, editaremos el IAM rol autenticado y proporcionaremos acceso al mismo. | Desarrollador |
Copie el ID del grupo de identidades. | Si selecciona Permitir en el paso anterior, se muestra la página Introducción a Amazon Cognito. En esta página, puede copiar el ID del grupo de identidades de la sección Obtener AWS credenciales o elegir Editar grupo de identidades en la esquina superior derecha y copiar el ID del grupo de identidades de la pantalla que aparece. | Desarrollador |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Clona la muestraASP. NETAplicación web básica. |
| Desarrollador |
Agregar dependencias. | Agregue una NuGet dependencia para su. | Desarrollador |
Añada las claves y valores de configuración a | Incluya el código del archivo | Desarrollador |
Cree un nuevo usuario e inicie sesión. | Cree un nuevo usuario en el grupo de usuarios de Amazon Cognito y verifique que el usuario existe en Usuarios y grupos en el grupo de usuarios. | Desarrollador |
Crea una nueva Razor Page llamada | Agrega un nuevoASP. NETCrea Razor Page en tu aplicación de ejemplo y reemplaza el contenido por | Desarrollador |
Resolución de problemas
Problema | Solución |
---|---|
Tras abrir la aplicación de ejemplo desde el GitHub repositorio, aparece un error al intentar añadir el NuGet paquete al proyecto de Samples. | En la carpeta |
Recursos relacionados
Conexiones
Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip