Cómo funciona Amazon Cognito con IAM - 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.

Cómo funciona Amazon Cognito con IAM

Antes de administrar el acceso IAM a Amazon Cognito, infórmese sobre IAM las funciones disponibles para su uso con Amazon Cognito.

Para obtener una visión general de cómo funcionan Amazon Cognito y otros AWS servicios con la mayoría de las IAM funciones, consulte los AWS servicios con los que funcionan IAM en la Guía del IAMusuario.

Políticas de Amazon Cognito basadas en identidades

Compatibilidad con las políticas basadas en identidad:

Las políticas basadas en la identidad son documentos de política de JSON permisos que puede adjuntar a una identidad, como un IAM usuario, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener información sobre cómo crear una política basada en la identidad, consulte Definir IAM permisos personalizados con políticas administradas por el cliente en la Guía del usuario. IAM

Con las políticas IAM basadas en la identidad, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. No es posible especificar la entidad principal en una política basada en identidad porque se aplica al usuario o rol al que está adjunto. Para obtener más información sobre todos los elementos que puede utilizar en una JSON política, consulte la referencia sobre los elementos de la IAM JSON política en la Guía del IAMusuario.

Ejemplos de políticas basadas en identidades de Amazon Cognito

Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte Ejemplos de políticas basadas en identidades de Amazon Cognito.

Políticas basadas en recursos de Amazon Cognito

Admite políticas basadas en recursos: no

Las políticas basadas en recursos son documentos JSON de política que se adjuntan a un recurso. Algunos ejemplos de políticas basadas en recursos son las políticas de confianza de IAM roles y las políticas de bucket de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe especificar una entidad principal en una política en función de recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Para habilitar el acceso entre cuentas, puede especificar una cuenta completa o IAM entidades de otra cuenta como principales en una política basada en recursos. Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Cuando el principal y el recurso son diferentes Cuentas de AWS, el IAM administrador de la cuenta de confianza también debe conceder permiso a la entidad principal (usuario o rol) para acceder al recurso. Para conceder el permiso, adjunte la entidad a una política basada en identidad. Sin embargo, si la política en función de recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para obtener más información, consulte el tema Acceso a recursos entre cuentas IAM en la Guía del IAM usuario.

Acciones de política de Amazon Cognito

Compatibilidad con las acciones de política:

Los administradores pueden usar AWS JSON políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El Action elemento de una JSON política describe las acciones que puede utilizar para permitir o denegar el acceso en una política. Las acciones de política suelen tener el mismo nombre que la AWS API operación asociada. Hay algunas excepciones, como las acciones que solo permiten permisos y que no tienen una operación coincidente. API También hay algunas operaciones que requieren varias acciones en una política. Estas acciones adicionales se denominan acciones dependientes.

Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Para ver una lista de las acciones de Amazon Cognito, consulte Acciones definidas por Amazon Cognito en la Referencia de autorizaciones de servicio.

En las acciones de políticas de Amazon Cognito, se utiliza el siguiente prefijo antes de la acción:

cognito-identity

Para especificar varias acciones en una única instrucción, sepárelas con comas.

"Action": [ "cognito-identity:action1", "cognito-identity:action2" ]

¿Firmado o no firmado? APIs

Al firmar las API solicitudes de Amazon Cognito con AWS credenciales, puede restringirlas mediante una política AWS Identity and Access Management (IAM). APIlas solicitudes que debe firmar con AWS credenciales incluyen el inicio de sesión del lado del servidor y las acciones que creanAdminInitiateAuth, visualizan o modifican sus recursos de Amazon Cognito, como. UpdateUserPool Para obtener más información sobre las API solicitudes firmadas, consulte Firmar solicitudes. AWS API

Dado que Amazon Cognito es un producto de identidad de consumidor para las aplicaciones que desea poner a disposición del público, tiene acceso a lo siguiente sin firmar. APIs Su aplicación realiza estas API solicitudes para sus usuarios y posibles usuarios. Algunas no APIs requieren autorización previa, como InitiateAuth iniciar una nueva sesión de autenticación. Algunos APIs utilizan tokens de acceso o claves de sesión para la autorización, por ejemplo, VerifySoftwareToken para completar la MFA configuración de un usuario que ya tiene una sesión autenticada. Un grupo de usuarios API de Amazon Cognito autorizado y sin firmar admite Session un parámetro AccessToken o en la sintaxis de la solicitud, tal como se muestra en la referencia de Amazon Cognito. API Una API identidad de Amazon Cognito sin firmar admite IdentityId un parámetro tal como se muestra en la Referencia de identidades federadas de Amazon Cognito. API

Para obtener más información sobre los modelos de autorización y las funciones de las API operaciones de los grupos de usuarios de Amazon Cognito, consulte. Grupos de usuarios de Amazon Cognito: operaciones autenticadas y no autenticadas API

Operaciones de agrupaciones de identidades de Amazon Cognito API
  • GetId

  • GetOpenIdToken

  • GetCredentialsForIdentity

  • UnlinkIdentity

Operaciones de grupos de usuarios de Amazon Cognito API
  • AssociateSoftwareToken

  • ChangePassword

  • ConfirmDevice

  • ConfirmForgotPassword

  • ConfirmSignUp

  • DeleteUser

  • DeleteUserAttributes

  • ForgetDevice

  • ForgotPassword

  • GetDevice

  • GetUser

  • GetUserAttributeVerificationCode

  • GlobalSignOut

  • InitiateAuth

  • ListDevices

  • ResendConfirmationCode

  • RespondToAuthChallenge

  • RevokeToken

  • SetUserMFAPreference

  • SetUserSettings

  • SignUp

  • UpdateAuthEventFeedback

  • UpdateDeviceStatus

  • UpdateUserAttributes

  • VerifySoftwareToken

  • VerifyUserAttribute

Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte Ejemplos de políticas basadas en identidades de Amazon Cognito.

Recursos de políticas de Amazon Cognito

Compatibilidad con los recursos de políticas:

Los administradores pueden usar AWS JSON políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Resource JSON de política especifica el objeto o los objetos a los que se aplica la acción. Las instrucciones deben contener un elemento Resource o NotResource. Como práctica recomendada, especifique un recurso mediante su nombre de recurso de Amazon (ARN). Puede hacerlo para acciones que admitan un tipo de recurso específico, conocido como permisos de nivel de recurso.

Para las acciones que no admiten permisos de nivel de recurso, como las operaciones de descripción, utilice un carácter comodín (*) para indicar que la instrucción se aplica a todos los recursos.

"Resource": "*"

Nombres de recursos de Amazon (ARNs)

ARNspara identidades federadas de Amazon Cognito

En los grupos de identidades de Amazon Cognito (identidades federadas), es posible restringir el acceso de un IAM usuario a un grupo de identidades específico mediante el formato Amazon Resource Name (ARN), como en el siguiente ejemplo. Para obtener más información al respectoARNs, consulte IAM los identificadores.

arn:aws:cognito-identity:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

ARNspara Amazon Cognito Sync

En Amazon Cognito Sync, los clientes también pueden restringir el acceso en función del ID del grupo de identidades, el ID de identidad y el nombre del conjunto de datos.

Para APIs esa operación en un grupo de identidades, el ARN formato del grupo de identidades es el mismo que para las identidades federadas de Amazon Cognito, excepto que el nombre del servicio escognito-sync, en lugar de: cognito-identity

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID

Para APIs ello, opere con una sola identidad, por ejemploRegisterDevice, puede hacer referencia a la identidad individual mediante el siguiente formato: ARN

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID

Para APIs ello, opera en conjuntos de datos, como UpdateRecords yListRecords, puedes hacer referencia al conjunto de datos individual utilizando el siguiente ARN formato:

arn:aws:cognito-sync:REGION:ACCOUNT_ID:identitypool/IDENTITY_POOL_ID/identity/IDENTITY_ID/dataset/DATASET_NAME

ARNspara grupos de usuarios de Amazon Cognito

En el caso de Amazon Cognito Your User Pools, es posible restringir el acceso de un usuario a un grupo de usuarios específico mediante el siguiente formato: ARN

arn:aws:cognito-idp:REGION:ACCOUNT_ID:userpool/USER_POOL_ID

Para ver una lista de los tipos de recursos de Amazon Cognito y sus tipos de recursosARNs, consulte Recursos definidos por Amazon Cognito en la Referencia de autorización de servicios. Para saber con qué acciones puede especificar cada recurso, consulte Acciones definidas por Amazon Cognito. ARN

Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte Ejemplos de políticas basadas en identidades de Amazon Cognito.

Claves de condición de políticas de Amazon Cognito

Compatibilidad con claves de condición de políticas específicas del servicio:

Los administradores pueden usar AWS JSON políticas para especificar quién tiene acceso a qué. Es decir, qué entidad principal puede realizar acciones en qué recursos y en qué condiciones.

El elemento Condition (o bloque de Condition) permite especificar condiciones en las que entra en vigor una instrucción. El elemento Condition es opcional. Puede crear expresiones condicionales que utilicen operadores de condición, tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud.

Si especifica varios elementos de Condition en una instrucción o varias claves en un único elemento de Condition, AWS las evalúa mediante una operación AND lógica. Si especifica varios valores para una única clave de condición, AWS evalúa la condición mediante una OR operación lógica. Se deben cumplir todas las condiciones antes de que se concedan los permisos de la instrucción.

También puede utilizar variables de marcador de posición al especificar condiciones. Por ejemplo, puede conceder a un IAM usuario permiso para acceder a un recurso solo si está etiquetado con su nombre de IAM usuario. Para obtener más información, consulte los elementos de IAM política: variables y etiquetas en la Guía del IAM usuario.

AWS admite claves de condición globales y claves de condición específicas del servicio. Para ver todas las claves de condición AWS globales, consulte las claves de contexto de condición AWS globales en la Guía del IAMusuario.

Para ver una lista de las claves de condición de Amazon Cognito, consulte Claves de condición para Amazon Cognito en la Referencia de autorizaciones de servicio. Para obtener más información sobre las acciones y los recursos con los que puede utilizar una clave de condición, consulte Acciones definidas por Amazon Cognito.

Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte Ejemplos de políticas basadas en identidades de Amazon Cognito.

Listas de control de acceso (ACLs) en Amazon Cognito

SoportaACLs: No

Las listas de control de acceso (ACLs) controlan qué directores (miembros de la cuenta, usuarios o roles) tienen permisos para acceder a un recurso. ACLsson similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de JSON políticas.

Control de acceso basado en atributos (ABAC) con Amazon Cognito

Soportes ABAC (etiquetas en las políticas): parciales

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define los permisos en función de los atributos. En AWS, estos atributos se denominan etiquetas. Puede adjuntar etiquetas a IAM entidades (usuarios o roles) y a muchos AWS recursos. Etiquetar entidades y recursos es el primer paso deABAC. Luego, diseñe ABAC políticas para permitir las operaciones cuando la etiqueta del principal coincida con la etiqueta del recurso al que está intentando acceder.

ABACes útil en entornos de rápido crecimiento y ayuda en situaciones en las que la administración de políticas se vuelve engorrosa.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el elemento de condición de una política utilizando las claves de condición aws:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es Parcial.

Para obtener más informaciónABAC, consulte Definir permisos con ABAC autorización en la Guía del IAM usuario. Para ver un tutorial con los pasos de configuraciónABAC, consulte Usar el control de acceso basado en atributos (ABAC) en la Guía del IAMusuario.

Uso de credenciales temporales con Amazon Cognito

Compatibilidad con credenciales temporales:

Algunas Servicios de AWS no funcionan cuando inicias sesión con credenciales temporales. Para obtener información adicional, incluida la información sobre cuáles Servicios de AWS funcionan con credenciales temporales, consulta la sección Servicios de AWS Cómo trabajar con credenciales temporales IAM en la Guía del IAM usuario.

Está utilizando credenciales temporales si inicia sesión AWS Management Console con cualquier método excepto un nombre de usuario y una contraseña. Por ejemplo, cuando accedes AWS mediante el enlace de inicio de sesión único (SSO) de tu empresa, ese proceso crea automáticamente credenciales temporales. También crea credenciales temporales de forma automática cuando inicia sesión en la consola como usuario y luego cambia de rol. Para obtener más información sobre el cambio de rol, consulte Cambiar de un rol de usuario a un IAM rol (consola) en la Guía del IAMusuario.

Puede crear credenciales temporales manualmente con la tecla AWS CLI o AWS API. A continuación, puede utilizar esas credenciales temporales para acceder AWS. AWS recomienda generar credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte Credenciales de seguridad temporales en IAM.

Permisos de entidades principales entre servicios de Amazon Cognito

Admite sesiones de acceso directo (FAS): No

Cuando utilizas un IAM usuario o un rol para realizar acciones en AWSél, se te considera director. Cuando utiliza algunos servicios, es posible que realice una acción que desencadene otra acción en un servicio diferente. FASutiliza los permisos del principal que llama a una Servicio de AWS y los solicita Servicio de AWS para realizar solicitudes a los servicios descendentes. FASlas solicitudes solo se realizan cuando un servicio recibe una solicitud que requiere interacciones con otros Servicios de AWS recursos para completarse. En este caso, debe tener permisos para realizar ambas acciones. Para obtener información detallada sobre la política a la hora de realizar FAS solicitudes, consulte Reenviar las sesiones de acceso.

Roles de servicio de Amazon Cognito

Compatibilidad con roles de servicio:

Una función de servicio es una IAMfunción que un servicio asume para realizar acciones en su nombre. Un IAM administrador puede crear, modificar y eliminar un rol de servicio desde dentroIAM. Para obtener más información, consulte Crear un rol para delegar permisos Servicio de AWS en un rol en el IAMManual del usuario.

Para obtener detalles acerca de los roles de servicio de Amazon Cognito, consulte Activar sincronización mediante inserción y Implementación de la sincronización push.

aviso

Es posible que cambiar los permisos de un rol de servicio interrumpa la funcionalidad de Amazon Cognito. Edite los roles de servicio solo cuando Amazon Cognito proporcione orientación para hacerlo.

Roles vinculados a servicios para Amazon Cognito

Admite roles vinculados al servicio:

Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un IAM administrador puede ver los permisos de los roles vinculados al servicio, pero no editarlos.

Para obtener más información sobre cómo crear o administrar roles vinculados a servicios de Amazon Cognito, consulte Uso de roles vinculados a servicios para Amazon Cognito.