

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
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a Amazon Cognito, obtenga información sobre qué características de IAM se pueden utilizar con Amazon Cognito.






**Características de IAM que puede utilizar con Amazon Cognito**  

| Característica de IAM | Soporte de Amazon Cognito | 
| --- | --- | 
|  [Políticas basadas en identidades](#security_iam_service-with-iam-id-based-policies)  |   Sí  | 
|  [Políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)  |   No   | 
|  [Acciones de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sí  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sí  | 
|  [Claves de condición de política](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sí  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (etiquetas en políticas)](#security_iam_service-with-iam-tags)  |   Parcial  | 
|  [Credenciales temporales](#security_iam_service-with-iam-roles-tempcreds)  |   Sí  | 
|  [Permisos de entidades principales](#security_iam_service-with-iam-principal-permissions)  |   No   | 
|  [Roles de servicio](#security_iam_service-with-iam-roles-service)  |   Sí  | 
|  [Roles vinculados al servicio](#security_iam_service-with-iam-roles-service-linked)  |   Sí  | 

*Para obtener una visión general de cómo funcionan Amazon Cognito y otros AWS servicios con la mayoría de las funciones de IAM, consulte los [AWS servicios que funcionan con IAM en la Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

## Políticas de Amazon Cognito basadas en identidades
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, 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 más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

### Ejemplos de políticas basadas en identidades de Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte [Ejemplos de políticas basadas en identidades de Amazon Cognito](security_iam_id-based-policy-examples.md).

## Políticas basadas en recursos de Amazon Cognito
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Admite políticas basadas en recursos:** no 

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las *políticas de confianza de roles* de IAM 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos. Los principales pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Acciones de política de Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON 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 `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. 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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions) 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
<a name="security_amazon-cognito-signed-versus-unsigned-apis"></a>

Al firmar las solicitudes de la API de Amazon Cognito con AWS credenciales, puede restringirlas mediante una política AWS Identity and Access Management (IAM). Las solicitudes de API con las que debe firmar las credenciales de AWS incluyen el inicio de sesión en el lado del servidor con `AdminInitiateAuth` y acciones que crean, ven o modifican recursos de Amazon Cognito, como `UpdateUserPool`. Para obtener más información sobre las solicitudes de API firmadas, consulte [Firmar solicitudes de AWS API](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html).

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 La aplicación realiza estas solicitudes de API para los usuarios y los 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 configuración de MFA para un usuario que ya tiene una sesión autenticada. Una API de grupo de usuarios de Amazon Cognito no firmada y autorizada admite un parámetro `Session` o `AccessToken` en la sintaxis de la solicitud, tal como se muestra en la [Referencia de la API de Amazon](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html). Una API de identidad de Amazon Cognito no firmada admite un parámetro `IdentityId` tal y como se muestra en la [Referencia de la API de identidades federadas de Amazon Cognito](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/Welcome.html).

Para obtener más información acerca de los modelos de autorización y roles de las operaciones de la API de grupos de usuarios de Amazon Cognito, consulte [Lista de operaciones de API agrupadas por modelo de autorización](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth).

**Operaciones de la API de los grupos de identidades de Amazon Cognito**
+ `GetId`
+ `GetOpenIdToken`
+ `GetCredentialsForIdentity`
+ `UnlinkIdentity`

**Operaciones de la API de los grupos de usuarios de Amazon Cognito**
+ `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](security_iam_id-based-policy-examples.md).

## Recursos de políticas de Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON 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` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

### Nombres de recursos de Amazon (ARNs)
<a name="security_amazon-cognito-amazon-resource-names"></a>

**ARNs para identidades federadas de Amazon Cognito**

En los grupos de identidades de Amazon Cognito (identidades federadas), es posible restringir el acceso de un usuario de IAM a un grupo de identidades específico mediante el formato de nombre de recurso de Amazon (ARN), como se muestra en el ejemplo siguiente. Para obtener más información ARNs, consulte los identificadores de [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html).

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

**ARNs para 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 formato ARN del grupo de identidades es el mismo que para las identidades federadas de Amazon Cognito, excepto que el nombre del servicio es, en lugar de: `cognito-sync` `cognito-identity`

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

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

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

Para APIs ello, opere en conjuntos de datos, como `UpdateRecords` y`ListRecords`, puede hacer referencia al conjunto de datos individual mediante el siguiente formato ARN:

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

**ARNs para grupos de usuarios de Amazon Cognito**

En el caso de la característica Sus grupos de usuarios de Amazon Cognito, se puede restringir el acceso de un usuario a un grupo de usuarios específico mediante el formato de ARN siguiente:

```
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 ARNs, consulte [Recursos definidos por Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-resources-for-iam-policies) Cognito en *la* Referencia de autorización de servicios. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte [Acciones definidas por Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).





Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte [Ejemplos de políticas basadas en identidades de Amazon Cognito](security_iam_id-based-policy-examples.md).

## Claves de condición de políticas de Amazon Cognito
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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

Los administradores pueden usar las políticas de AWS JSON 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` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Para ver una lista de las claves de condición de Amazon Cognito, consulte [Claves de condición para Amazon Cognito](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-policy-keys) 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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncognitoidentity.html#amazoncognitoidentity-actions-as-permissions).

Para ver ejemplos de políticas basadas en identidad de Amazon Cognito, consulte [Ejemplos de políticas basadas en identidades de Amazon Cognito](security_iam_id-based-policy-examples.md).

## Listas de control de acceso (ACLs) en Amazon Cognito
<a name="security_iam_service-with-iam-acls"></a>

**Soporta ACLs: 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. ACLs son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

## Control de acceso basado en atributos (ABAC) con Amazon Cognito
<a name="security_iam_service-with-iam-tags"></a>

**Compatibilidad con ABAC (etiquetas en las políticas):** parcial

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede adjuntar etiquetas a las entidades y AWS los recursos de IAM y, a continuación, diseñar políticas de ABAC para permitir las operaciones cuando la etiqueta del director coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 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 **Sí** 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ón sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

## Uso de credenciales temporales con Amazon Cognito
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a AWS los recursos a corto plazo y se crean automáticamente cuando se utiliza la federación o se cambia de rol. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Permisos de entidades principales entre servicios de Amazon Cognito
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidad con sesiones de acceso directo (FAS):** no 

 Las sesiones de acceso directo (FAS) utilizan los permisos del principal que llama y los que solicitan Servicio de AWS para realizar solicitudes a los servicios descendentes. Servicio de AWS Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte [Sesiones de acceso directo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Roles de servicio de Amazon Cognito
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatible con roles de servicio:** sí

 Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

Para obtener detalles acerca de los roles de servicio de Amazon Cognito, consulte [Activar sincronización mediante inserción](identity-pools.md#enable-push-synchronization) y [Implementación de la sincronización mediante inserción](push-sync.md).

**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
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatible con roles vinculados al servicio:** sí

 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 administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

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](using-service-linked-roles.md).