

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.

# Descripción general de la administración de los permisos de acceso a sus ElastiCache recursos
<a name="IAM.Overview"></a>

Cada AWS recurso es propiedad de una AWS cuenta y los permisos para crear un recurso o acceder a él se rigen por las políticas de permisos. Un administrador de cuentas puede asociar políticas de permisos a identidades de IAM (es decir, usuarios, grupos y funciones). Además, Amazon ElastiCache también admite adjuntar políticas de permisos a los recursos. 

**nota**  
Un *administrador de cuentas* (o usuario administrador) es un usuario que tiene privilegios de administrador. Para obtener más información, consulte [Prácticas recomendadas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

Para dar acceso, agregue permisos a los usuarios, grupos o roles:
+ Usuarios y grupos en AWS IAM Identity Center:

  Cree un conjunto de permisos. Siga las instrucciones de [Creación de un conjunto de permisos](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) en la *Guía del usuario de AWS IAM Identity Center*.
+ Usuarios gestionados en IAM a través de un proveedor de identidades:

  Cree un rol para la federación de identidades. Siga las instrucciones descritas en [Creación de un rol para un proveedor de identidad de terceros (federación)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) en la *Guía del usuario de IAM*.
+ Usuarios de IAM:
  + Cree un rol que el usuario pueda aceptar. Siga las instrucciones descritas en [Creación de un rol para un usuario de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) en la *Guía del usuario de IAM*.
  + (No recomendado) Adjunte una política directamente a un usuario o agregue un usuario a un grupo de usuarios. Siga las instrucciones descritas en [Adición de permisos a un usuario (consola)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) de la *Guía del usuario de IAM*.

**Topics**
+ [ElastiCache Recursos y operaciones de Amazon](#IAM.Overview.ResourcesAndOperations)
+ [Titularidad de los recursos](#access-control-resource-ownership)
+ [Administración del acceso a los recursos](#IAM.Overview.ManagingAccess)
+ [AWS políticas gestionadas para Amazon ElastiCache](IAM.IdentityBasedPolicies.PredefinedPolicies.md)
+ [Uso de políticas basadas en la identidad (políticas de IAM) para Amazon ElastiCache](IAM.IdentityBasedPolicies.md)
+ [Permisos de nivel de recursos](IAM.ResourceLevelPermissions.md)
+ [Uso de claves de condición](IAM.ConditionKeys.md)
+ [Uso de roles vinculados a servicios para Amazon ElastiCache](using-service-linked-roles.md)
+ [Permisos de la API de ElastiCache: referencia de condiciones, acciones y recursos](IAM.APIReference.md)

## ElastiCache Recursos y operaciones de Amazon
<a name="IAM.Overview.ResourcesAndOperations"></a>

Para ver una lista de los tipos de ElastiCache recursos y sus respectivos tipos ARNs, consulta [Recursos definidos por Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-resources-for-iam-policies) en la *Referencia de autorización de servicio*. Para saber con qué acciones puede especificar el ARN de cada recurso, consulte [Actions Defined by Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions). ElastiCache

## Titularidad de los recursos
<a name="access-control-resource-ownership"></a>

*El propietario de un recurso* es la AWS cuenta que creó el recurso. Es decir, el propietario del recurso es la AWS cuenta de la entidad principal que autentica la solicitud que crea el recurso. Una *entidad principal* puede ser la cuenta raíz, un usuario de IAM o un rol de IAM. Los siguientes ejemplos ilustran cómo funciona:
+ Supongamos que utiliza las credenciales de la cuenta raíz de su AWS cuenta para crear un clúster de caché. En este caso, tu AWS cuenta es la propietaria del recurso. En ElastiCache, el recurso es el clúster.
+ Supongamos que crea un usuario de IAM en su AWS cuenta y concede permisos para crear un clúster a ese usuario. En este caso, el usuario puede crear un clúster. Sin embargo, su AWS cuenta, a la que pertenece el usuario, es propietaria del recurso del clúster.
+ Supongamos que crea un rol de IAM en su AWS cuenta con permisos para crear un clúster. En este caso, cualquiera que pueda asumir el rol puede crear un clúster. Su AWS cuenta, a la que pertenece el rol, es propietaria del recurso del clúster de caché. 

## Administración del acceso a los recursos
<a name="IAM.Overview.ManagingAccess"></a>

Una *política de permisos* describe quién tiene acceso a qué. En la siguiente sección se explican las opciones disponibles para crear políticas de permisos.

**nota**  
En esta sección se analiza el uso de IAM en el contexto de Amazon ElastiCache. No se proporciona información detallada sobre el servicio de IAM. Para ver la documentación completa de IAM, consulte [¿Qué es IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) en la *Guía del usuario de IAM*. Para obtener más información acerca de la sintaxis y las descripciones de las políticas del IAM, consulte [Referencia de políticas de IAM de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) en la *Guía del usuario de IAM*.

Las políticas que se asocian a una identidad de IAM se denominan *políticas basadas en identidades* (o políticas de IAM). Las políticas que se adjuntan a un recurso se denominan *políticas basadas en recursos*. 

**Topics**
+ [Políticas basadas en identidades (políticas de IAM)](#IAM.Overview.ManagingAccess.IdentityBasedPolicies)
+ [Especificación de elementos de política: acciones, efectos, recursos y entidades principales](#IAM.Overview.PolicyElements)
+ [Especificación de las condiciones de una política](#IAM.Overview.Conditions)

### Políticas basadas en identidades (políticas de IAM)
<a name="IAM.Overview.ManagingAccess.IdentityBasedPolicies"></a>

Puede asociar políticas a identidades de IAM. Por ejemplo, puede hacer lo siguiente:
+ **Asociar una política de permisos a un usuario o grupo de la cuenta**: un administrador de la cuenta puede utilizar una política de permisos asociada a un usuario determinado para concederle permisos. En este caso, los permisos son para que el usuario cree un ElastiCache recurso, como un clúster, un grupo de parámetros o un grupo de seguridad.
+ **Adjuntar una política de permisos a un rol (conceder permisos para cuentas cruzadas)**: puede adjuntar una política de permisos basada en identidades a un rol de IAM para conceder permisos para cuentas cruzadas. Por ejemplo, el administrador de la cuenta A puede crear un rol para conceder permisos entre cuentas a otra AWS cuenta (por ejemplo, la cuenta B) o a un AWS servicio de la siguiente manera:

  1. El administrador de la CuentaA crea un rol de IAM y asocia una política de permisos a dicho rol, que concede permisos sobre los recursos de la CuentaA.

  1. El administrador de la CuentaA asocia una política de confianza al rol que identifica la Cuenta B como la entidad principal que puede asumir el rol. 

  1. A continuación, el administrador de la cuenta B puede delegar los permisos para asumir el rol en cualquier usuario de la cuenta B. De este modo, los usuarios de la cuenta B pueden crear o acceder a los recursos de la cuenta A. En algunos casos, es posible que desee conceder permisos a un AWS servicio para que asuma el rol. Para respaldar este enfoque, la entidad principal de la política de confianza también puede ser la entidad principal de un servicio de AWS. 

  Para obtener más información sobre el uso de IAM para delegar permisos, consulte [Administración de accesos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la *Guía del usuario de IAM*.

El siguiente es un ejemplo de política que permite a un usuario realizar la `DescribeCacheClusters` acción en su AWS cuenta. ElastiCache también permite identificar recursos específicos mediante el uso del recurso ARNs para las acciones de la API. Este enfoque también se conoce como "permisos a nivel de recursos". 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeCacheClusters",
            "Effect": "Allow",
            "Action": [
                "elasticache:DescribeCacheClusters"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}
```

------

Para obtener más información sobre el uso de políticas basadas en la identidad con ElastiCache, consulte. [Uso de políticas basadas en la identidad (políticas de IAM) para Amazon ElastiCache](IAM.IdentityBasedPolicies.md) Para obtener más información sobre usuarios, grupos, roles y permisos, consulte [Identidades (usuarios, grupos y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) en la *Guía del usuario de IAM*.

### Especificación de elementos de política: acciones, efectos, recursos y entidades principales
<a name="IAM.Overview.PolicyElements"></a>

Para cada ElastiCache recurso de Amazon (consulte[ElastiCache Recursos y operaciones de Amazon](#IAM.Overview.ResourcesAndOperations)), el servicio define un conjunto de operaciones de API (consulte [Acciones](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_Operations.html)). Para conceder permisos para estas operaciones de la API, ElastiCache define un conjunto de acciones que puedes especificar en una política. Por ejemplo, para el recurso de ElastiCache clúster, se definen las siguientes acciones: `CreateCacheCluster``DeleteCacheCluster`, y`DescribeCacheCluster`. Para realizar una operación API pueden ser necesarios permisos para más de una acción.

A continuación se indican los elementos más básicos de la política:
+ **Recurso**: en una política, se usa un nombre de recurso de Amazon (ARN) para identificar el recurso al que se aplica la política. Para obtener más información, consulte [ElastiCache Recursos y operaciones de Amazon](#IAM.Overview.ResourcesAndOperations).
+ **Acción**: utilice palabras clave de acción para identificar las operaciones del recurso que desea permitir o denegar. Por ejemplo, según lo especificado`Effect`, el `elasticache:CreateCacheCluster` permiso permite o deniega al usuario los permisos para realizar la ElastiCache `CreateCacheCluster` operación de Amazon.
+ **Efecto**: especifique el efecto que se producirá cuando el usuario solicite la acción específica; puede ser permitir o denegar. Si no concede acceso de forma explícita (permitir) a un recurso, el acceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso. Por ejemplo, esto puede servir para asegurarse de que un usuario no pueda tener acceso al recurso, aunque otra política le conceda acceso.
+ **Entidad principal**: en las políticas basadas en identidades (políticas de IAM), el usuario al que se asocia esta política es la entidad principal implícita. Para las políticas basadas en recursos, debe especificar el usuario, la cuenta, el servicio u otra entidad que desee que reciba permisos (se aplica solo a las políticas basadas en recursos). 

Para obtener más información sobre la sintaxis y descripciones de las políticas de IAM, consulte [Referencia de la política de IAM de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) en la *Guía del usuario de IAM*.

Para ver una tabla que muestra todas las acciones de la ElastiCache API de Amazon, consulte[Permisos de la API de ElastiCache: referencia de condiciones, acciones y recursos](IAM.APIReference.md).

### Especificación de las condiciones de una política
<a name="IAM.Overview.Conditions"></a>

Al conceder permisos, puede utilizar el lenguaje de la política de IAM para especificar las condiciones en la que se debe aplicar una política. Por ejemplo, es posible que desee que solo se aplique una política después de una fecha específica. Para obtener más información sobre cómo especificar condiciones en un lenguaje de política, consulte [Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition) en la *Guía del usuario de IAM*. 

Para expresar condiciones, se usan claves de condición predefinidas. Para usar claves ElastiCache de condición específicas, consulte[Uso de claves de condición](IAM.ConditionKeys.md). Hay claves AWS de condición amplias que puede utilizar según convenga. Para obtener una lista completa de las claves AWS de ancho, consulte las [claves disponibles para las condiciones](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) en la Guía del usuario de *IAM*. 



# AWS políticas gestionadas para Amazon ElastiCache
<a name="IAM.IdentityBasedPolicies.PredefinedPolicies"></a>





Una política AWS administrada es una política independiente creada y administrada por AWS.AWS Las políticas administradas están diseñadas para proporcionar permisos para muchos casos de uso comunes, de modo que pueda empezar a asignar permisos a usuarios, grupos y funciones.

Ten en cuenta que es posible que las políticas AWS administradas no otorguen permisos con privilegios mínimos para tus casos de uso específicos, ya que están disponibles para que los usen todos los AWS clientes. Se recomienda definir [políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) específicas para sus casos de uso a fin de reducir aún más los permisos.

No puedes cambiar los permisos definidos en AWS las políticas administradas. Si AWS actualiza los permisos definidos en una política AWS administrada, la actualización afecta a todas las identidades principales (usuarios, grupos y roles) a las que está asociada la política.AWS es más probable que actualice una política AWS administrada cuando Servicio de AWS se lance una nueva o cuando estén disponibles nuevas operaciones de API para los servicios existentes.

Para obtener más información, consulte [Políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la *Guía del usuario de IAM*.













## AWS política gestionada: ElastiCacheServiceRolePolicy
<a name="security-iam-awsmanpol-ElastiCacheServiceRolePolicy"></a>

No puede adjuntarse ElastiCacheServiceRolePolicy a sus entidades de IAM. Esta política está asociada a un rol vinculado al servicio que te permite ElastiCache realizar acciones en tu nombre.

Esta política le permite ElastiCache administrar AWS los recursos en su nombre según sea necesario para administrar la memoria caché:
+ `ec2`— Administre los recursos de EC2 red para conectarlos a los nodos de caché, incluidos los puntos finales de la VPC (para las cachés sin servidor), las interfaces de red elásticas () (para los clústeres basados en nodosENIs) y los grupos de seguridad.
+ `cloudwatch`— Emite datos métricos del servicio a. CloudWatch
+ `outposts`— Permitir la creación de nodos de caché en AWS Outposts.

Puede encontrar la [ElastiCacheServiceRolePolicy](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/ElastiCacheServiceRolePolicy)política en la consola de IAM y [ElastiCacheServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ElastiCacheServiceRolePolicy.html)en la Guía de *referencia de políticas AWS gestionadas*.

## AWS política gestionada: AmazonElastiCacheFullAccess
<a name="security-iam-awsmanpol-AmazonElastiCacheFullAccess"></a>

Puede asociar la política `AmazonElastiCacheFullAccess` a las identidades de IAM.

Esta política permite a los directores tener acceso total al ElastiCache uso de la consola AWS de administración:
+ `elasticache`— Acceder a todos APIs.
+ `iam`: cree el rol vinculado al servicio necesario para el funcionamiento del servicio.
+ `ec2`— Describa EC2 los recursos dependientes necesarios para la creación de caché (VPC, subred, grupo de seguridad) y permita la creación de puntos finales de VPC (para cachés sin servidor).
+ `kms`— Permitir el uso de formularios gestionados por el cliente. CMKs encryption-at-rest
+ `cloudwatch`— Permita el acceso a las métricas para mostrarlas ElastiCache en la consola.
+ `application-autoscaling`: permita el acceso para describir las políticas de escalado automático de las cachés.
+ `logs`: se utiliza para rellenar los flujos de registros para la funcionalidad de entrega de registros en la consola.
+ `firehose`: se utiliza para rellenar los flujos para la funcionalidad de entrega de registros en la consola.
+ `s3`: se utiliza a fin de rellenar los buckets S3 para la funcionalidad de restauración de instantáneas en la consola.
+ `outposts`— Se utiliza para rellenar AWS Outposts para la creación de caché en la consola.
+ `sns`: se utiliza para rellenar los temas de SNS para la funcionalidad de notificación en la consola.

Puedes encontrar la [AmazonElastiCacheFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElastiCacheFullAccess)política en la consola de IAM y [AmazonElastiCacheFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElastiCacheFullAccess.html)en la Guía de referencia de *políticas AWS gestionadas*.

## AWS política gestionada: AmazonElastiCacheReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonElastiCacheReadOnlyAccess"></a>

Puede asociar la política `AmazonElastiCacheReadOnlyAccess` a las identidades de IAM.

Esta política permite a los directores acceder de solo lectura al ElastiCache uso de la AWS consola de administración:
+ `elasticache`— Acceso de solo lectura. `Describe` APIs

Puede encontrar la [AmazonElastiCacheReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonElastiCacheReadOnlyAccess)política en la consola de IAM y [AmazonElastiCacheReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElastiCacheReadOnlyAccess.html)en la Guía de referencia de *políticas AWS gestionadas*.

## ElastiCache actualizaciones de las políticas AWS gestionadas
<a name="security-iam-awsmanpol-updates"></a>

Consulte los detalles sobre las actualizaciones de las políticas AWS administradas ElastiCache desde que este servicio comenzó a rastrear estos cambios. Para recibir alertas automáticas sobre los cambios en esta página, suscríbase a la fuente RSS de la página del historial del ElastiCache documento.




| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
|  [AmazonElastiCacheFullAccess](#security-iam-awsmanpol-AmazonElastiCacheFullAccess): actualización de una política actual  |  ElastiCache agregó nuevos permisos para permitir el escalado vertical de la acción`elasticache:ModifyCacheCluster`. MemCached  | 27 de marzo de 2025 | 
|  [AmazonElastiCacheFullAccess](#security-iam-awsmanpol-AmazonElastiCacheFullAccess): actualización de una política actual  |  ElastiCache se agregaron nuevos permisos para permitir la administración de las cachés sin servidor y para permitir el uso de todas las funciones del servicio a través de la consola.  | 27 de noviembre de 2023 | 
|  [ElastiCacheServiceRolePolicy](#security-iam-awsmanpol-ElastiCacheServiceRolePolicy): actualización de una política actual  |  ElastiCache se agregaron nuevos permisos para permitir la administración de los puntos finales de la VPC para los recursos de caché sin servidor.  | 27 de noviembre de 2023 | 
|  ElastiCache comenzó a rastrear los cambios  |  ElastiCache comenzó a realizar un seguimiento de los cambios de sus políticas AWS gestionadas.  | 7 de febrero de 2020 | 

# Uso de políticas basadas en la identidad (políticas de IAM) para Amazon ElastiCache
<a name="IAM.IdentityBasedPolicies"></a>

Este tema contiene ejemplos de políticas basadas en identidades, donde los administradores de cuentas pueden asociar políticas de permisos a identidades de IAM (es decir, a usuarios, grupos y funciones). 

**importante**  
Le recomendamos que lea primero los temas que explican los conceptos básicos y las opciones para administrar el acceso a ElastiCache los recursos de Amazon. Para obtener más información, consulte [Descripción general de la administración de los permisos de acceso a sus ElastiCache recursos](IAM.Overview.md). 

En las secciones de este tema se explica lo siguiente:
+ [AWS políticas gestionadas para Amazon ElastiCache](IAM.IdentityBasedPolicies.PredefinedPolicies.md)
+ [Ejemplos de políticas administradas por los clientes](#IAM.IdentityBasedPolicies.CustomerManagedPolicies)

A continuación, se incluye un ejemplo de una política de permisos cuando se utiliza Redis OSS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowClusterPermissions",
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateServerlessCache",
                "elasticache:CreateCacheCluster",
                "elasticache:DescribeServerlessCaches",
                "elasticache:DescribeReplicationGroups",
                "elasticache:DescribeCacheClusters",
                "elasticache:ModifyServerlessCache",
                "elasticache:ModifyReplicationGroup",
                "elasticache:ModifyCacheCluster"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToPassRole",
            "Effect": "Allow",
            "Action": [ "iam:PassRole" ],
            "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster"
        }
    ]
}
```

------

A continuación, se muestra un ejemplo de una política de permisos cuando se utiliza Memcached.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "AllowClusterPermissions",
        "Effect": "Allow",
        "Action": [
            "elasticache:CreateServerlessCache",
            "elasticache:CreateCacheCluster",
            "elasticache:DescribeServerlessCaches",
            "elasticache:DescribeCacheClusters",
            "elasticache:ModifyServerlessCache",
            "elasticache:ModifyCacheCluster"
        ],
        "Resource": "*"
    },
    {
        "Sid": "AllowUserToPassRole",
        "Effect": "Allow",
        "Action": [ "iam:PassRole" ],
        "Resource": "arn:aws:iam::123456789012:role/EC2-roles-for-cluster"
    }
    ]
}
```

------

La política tiene dos instrucciones:
+ La primera sentencia concede permisos para las ElastiCache acciones de Amazon (`elasticache:Create*`,`elasticache:Describe*`,`elasticache:Modify*`) 
+ La segunda declaración concede permisos para la acción de IAM (`iam:PassRole`) en el nombre de rol de IAM especificado al final del valor `Resource`.

La política no especifica el elemento `Principal`, ya que en una política basada en la identidad no se especifica el elemento principal que obtiene el permiso. Al asociar una política a un usuario, el usuario es la entidad principal implícita. Cuando asocia una política de permisos a un rol de IAM, el elemento principal identificado en la política de confianza de rol obtiene los permisos. 

Para ver una tabla que muestra todas las acciones de la ElastiCache API de Amazon y los recursos a los que se aplican, consulte[Permisos de la API de ElastiCache: referencia de condiciones, acciones y recursos](IAM.APIReference.md). 

## Ejemplos de políticas administradas por los clientes
<a name="IAM.IdentityBasedPolicies.CustomerManagedPolicies"></a>

Si no está utilizando una política predeterminada y elige utilizar una política administrada de forma personalizada, asegúrese de una de las dos cosas. Debería tener permisos para llamar a `iam:createServiceLinkedRole` (para obtener más información, consulte [Ejemplo 4: Permitir que un usuario llame a la API de IAM CreateServiceLinkedRole](#create-service-linked-role-policy)). O deberías haber creado un rol ElastiCache vinculado a un servicio. 

Cuando se combinan con los permisos mínimos necesarios para usar la ElastiCache consola de Amazon, las políticas de ejemplo de esta sección otorgan permisos adicionales. Los ejemplos también son relevantes para el AWS SDKs y el AWS CLI.

Para obtener instrucciones sobre la configuración de grupos y usuarios de IAM, consulte [Creación del primer grupo y usuario administrador de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) en la *Guía del usuario de IAM*. 

**importante**  
Pruebe siempre sus políticas de IAM antes de utilizarlas en entornos de producción. Algunas ElastiCache acciones que parecen sencillas pueden requerir otras acciones que las respalden cuando se utiliza la ElastiCache consola. Por ejemplo, `elasticache:CreateCacheCluster` concede permisos para crear ElastiCache clústeres. Sin embargo, para realizar esta operación, la ElastiCache consola utiliza una serie de `List` acciones `Describe` y acciones para rellenar las listas de consolas.

**Topics**
+ [Ejemplo 1: Permitir a un usuario el acceso de solo lectura a los recursos ElastiCache](#example-allow-list-current-elasticache-resources)
+ [Ejemplo 2: Permitir a un usuario realizar tareas comunes de administrador del ElastiCache sistema](#example-allow-specific-elasticache-actions)
+ [Ejemplo 3: permitir que un usuario acceda a todas las acciones de ElastiCache la API](#allow-unrestricted-access)
+ [Ejemplo 4: Permitir que un usuario llame a la API de IAM CreateServiceLinkedRole](#create-service-linked-role-policy)
+ [Ejemplo 5: permitir que un usuario se conecte a una caché sin servidor mediante la autenticación de IAM](#iam-connect-policy)

### Ejemplo 1: Permitir a un usuario el acceso de solo lectura a los recursos ElastiCache
<a name="example-allow-list-current-elasticache-resources"></a>

La siguiente política otorga permisos a ElastiCache las acciones que permiten al usuario enumerar los recursos. Normalmente, este tipo de política de permisos se adjunta a un grupo de administradores.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECReadOnly",
      "Effect":"Allow",
      "Action": [
          "elasticache:Describe*",
          "elasticache:List*"],
      "Resource":"*"
      }
   ]
}
```

------

### Ejemplo 2: Permitir a un usuario realizar tareas comunes de administrador del ElastiCache sistema
<a name="example-allow-specific-elasticache-actions"></a>

Las tareas comunes del administrador del sistema incluyen la modificación de los recursos. También es posible que el administrador del sistema necesite obtener información acerca de los eventos de ElastiCache . La siguiente política concede a un usuario permisos para realizar ElastiCache acciones relacionadas con estas tareas comunes del administrador del sistema. Normalmente, este tipo de política de permisos se adjunta al grupo de administradores del sistema.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECAllowMutations",
      "Effect":"Allow",
      "Action":[
          "elasticache:Modify*",
          "elasticache:Describe*",
          "elasticache:ResetCacheParameterGroup"
      ],
      "Resource":"*"
      }
   ]
}
```

------

### Ejemplo 3: permitir que un usuario acceda a todas las acciones de ElastiCache la API
<a name="allow-unrestricted-access"></a>

La siguiente política permite al usuario acceder a todas ElastiCache las acciones. Recomendamos que conceda este tipo de política de permisos solo a un usuario administrador. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[{
      "Sid": "ECAllowAll",
      "Effect":"Allow",
      "Action":[
          "elasticache:*" 
      ],
      "Resource":"*"
      }
   ]
}
```

------

### Ejemplo 4: Permitir que un usuario llame a la API de IAM CreateServiceLinkedRole
<a name="create-service-linked-role-policy"></a>

La siguiente política permite al usuario llamar a la API `CreateServiceLinkedRole` de IAM. Se recomienda conceder este tipo de política de permisos al usuario que invoca operaciones ElastiCache mutativas.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement":[
    {
      "Sid":"CreateSLRAllows",
      "Effect":"Allow",
      "Action":[
        "iam:CreateServiceLinkedRole"
      ],
      "Resource":"*",
      "Condition":{
        "StringLike":{
        "iam:AWSServiceName":"elasticache.amazonaws.com"
        }
      }
    }
  ]
}
```

------

### Ejemplo 5: permitir que un usuario se conecte a una caché sin servidor mediante la autenticación de IAM
<a name="iam-connect-policy"></a>

La siguiente política permite que cualquier usuario se conecte a cualquier caché sin servidor mediante la autenticación de IAM entre el 1 de abril de 2023 y el 30 de junio de 2023.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" :
  [
    {
      "Effect" : "Allow",
      "Action" : ["elasticache:Connect"],
      "Resource" : [
        "arn:aws:elasticache:us-east-1:123456789012:serverlesscache:*"
      ],
      "Condition": {
        "DateGreaterThan": {"aws:CurrentTime": "2023-04-01T00:00:00Z"},
        "DateLessThan": {"aws:CurrentTime": "2023-06-30T23:59:59Z"}
      }
    },
    {
      "Effect" : "Allow",
      "Action" : ["elasticache:Connect"],
      "Resource" : [
        "arn:aws:elasticache:us-east-1:123456789012:user:*"
      ]
    }
  ]
}
```

------

# Permisos de nivel de recursos
<a name="IAM.ResourceLevelPermissions"></a>

Puede restringir el alcance de los permisos de un usuario mediante la especificación de recursos en una política de IAM. Muchas acciones de la API de ElastiCache admiten un tipo de recurso que varía en función del comportamiento de la acción. Cada instrucción de una política de IAM concede permiso para realizar una acción en un recurso. Cuando la acción no actúa sobre un recurso nombrado, o cuando se concede permiso para realizar la acción sobre todos los recursos, el valor del recurso en la política es un comodín (\$1). Para muchas acciones de API, puede restringir los recursos que un usuario puede modificar si especifica el nombre de recurso de Amazon (ARN) de un recurso o un patrón de ARN que coincida con varios recursos. Para restringir los permisos por recurso, especifique el recurso por ARN.

Para ver una lista de tipos de recursos y ARN de ElastiCache, consulte [Tipos de recurso definidos por Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-resources-for-iam-policies), en la *Referencia de autorizaciones de servicio*. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte [Acciones definidas por Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions).

**Topics**
+ [Ejemplo 1: permitir a un usuario acceso completo a tipos de recursos específicos de ElastiCache](#example-allow-list-current-elasticache-resources-resource)
+ [Ejemplo 2: denegarle a un usuario el acceso a una memoria caché sin servidor.](#example-allow-specific-elasticache-actions-resource)

## Ejemplo 1: permitir a un usuario acceso completo a tipos de recursos específicos de ElastiCache
<a name="example-allow-list-current-elasticache-resources-resource"></a>

La siguiente política permite de forma explícita todos los recursos del tipo caché sin servidor.

```
{
        "Sid": "Example1",
        "Effect": "Allow",
        "Action": "elasticache:*",
        "Resource": [
             "arn:aws:elasticache:us-east-1:account-id:serverlesscache:*"
        ]
}
```

## Ejemplo 2: denegarle a un usuario el acceso a una memoria caché sin servidor.
<a name="example-allow-specific-elasticache-actions-resource"></a>

En el siguiente ejemplo, se deniega de forma explícita el acceso a una determinada caché sin servidor.

```
{
        "Sid": "Example2",
        "Effect": "Deny",
        "Action": "elasticache:*",
        "Resource": [
            "arn:aws:elasticache:us-east-1:account-id:serverlesscache:name"
        ]
}
```

# Uso de claves de condición
<a name="IAM.ConditionKeys"></a>

Puede especificar condiciones que determinan cómo se aplica una política de IAM. En ElastiCache, puede utilizar el `Condition` elemento de una política de JSON para comparar las claves del contexto de la solicitud con los valores clave que especifique en la política. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).

Para ver una lista de claves de ElastiCache estado, consulta [Claves de estado de Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-policy-keys) en la *Referencia de autorización de servicio*.

Para obtener una lista de todas las claves de condición globales, consulte [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).

**Utilización ElastiCache con claves de condición AWS globales**

Cuando utilice [claves de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) que requieran ElastiCache el [principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), utilice una `OR` condición con *ambos* principios: `elasticache.amazonaws.com` y`ec.amazonaws.com`.

**nota**  
Si no agregas ambos principios ElastiCache, la acción prevista de «Permitir» o «Denegar» no se aplicará correctamente a ninguno de los recursos incluidos en tu política.

 Ejemplo de política con una clave de condición global de `aws:CalledVia`:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*", 
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringLike": {
          "aws:CalledVia": [
            "ec.amazonaws.com",
            "elasticache.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## Especificación de condiciones: uso de claves de condición
<a name="IAM.SpecifyingConditions"></a>

Para implementar el control detallado, hay que escribir una política de permisos de IAM que especifique las condiciones a fin de controlar un conjunto de parámetros individuales en determinadas solicitudes. A continuación, se aplica la política de IAM a los usuarios, los grupos o los roles creados con la consola de IAM. 

Para aplicar una condición, agregue la información de condición a la declaración de la política de IAM. En el siguiente ejemplo, se especifica la condición de que cualquier clúster basado en nodos que se cree será del tipo de nodo `cache.r5.large`. 

**nota**  
Para construir elementos `Condition` utilizando claves de condición del tipo `String`, utilice los operadores de condición que no distinguen mayúsculas de minúsculas `StringEqualsIgnoreCase` o `StringNotEqualsIgnoreCase` para comparar una clave con un valor de cadena.
ElastiCache procesa los argumentos de entrada a favor `CacheNodeType` y sin distinguir `CacheParameterGroupName` entre mayúsculas y minúsculas. Por este motivo, los operadores de condición de cadena `StringEqualsIgnoreCase` y `StringNotEqualsIgnoreCase` deben usarse en las políticas de permisos que hacen referencia a ellos.

A continuación, se incluye un ejemplo de esta política de permisos cuando se utiliza Valkey o Redis OSS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster",
                "elasticache:CreateReplicationGroup"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:parametergroup:*",
                "arn:aws:elasticache:*:*:subnetgroup:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster",
                "elasticache:CreateReplicationGroup"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:cluster:*",
                "arn:aws:elasticache:*:*:replicationgroup:*"
            ],
            "Condition": {
                "StringEquals": {
                    "elasticache:CacheNodeType": [
                        "cache.r5.large"
                    ]
                }
            }
        }
    ]
}
```

------

A continuación, se muestra un ejemplo de esta política de permisos cuando se utiliza Memcached.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:parametergroup:*",
                "arn:aws:elasticache:*:*:subnetgroup:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:CreateCacheCluster"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:cluster:*"
            ],
            "Condition": {
                "StringEquals": {
                    "elasticache:CacheNodeType": [
                        "cache.r5.large"
                    ]
                }
            }
        }
    ]
}
```

------

Para obtener más información, consulte [Etiquetar sus recursos ElastiCache](Tagging-Resources.md). 

Para obtener más información sobre el uso de operadores de condición de política, consulte [Permisos de la API de ElastiCache: referencia de condiciones, acciones y recursos](IAM.APIReference.md).

## Ejemplos de políticas: uso de condiciones para el control de parámetros de precisión
<a name="IAM.ExamplePolicies"></a>

En esta sección se muestran ejemplos de políticas para implementar un control de acceso detallado en los parámetros enumerados anteriormente. ElastiCache 

1. **elasticache:MaximumDataStorage:** Especifique el almacenamiento máximo de datos de una caché sin servidor. Mediante las condiciones proporcionadas, el cliente no puede crear cachés que puedan almacenar más de una cantidad específica de datos.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowDependentResources",
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
                   "arn:aws:elasticache:*:*:snapshot:*",
                   "arn:aws:elasticache:*:*:usergroup:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:MaximumDataStorage": "30"
                   },
                   "StringEquals": {
                       "elasticache:DataStorageUnit": "GB"
                   }
               }
           }
       ]
   }
   ```

------

1. **ElastiCache:máximo de ECPUPer segundos: especifique el valor máximo de ECPU por segundo** de una caché sin servidor. Con las condiciones proporcionadas, el cliente no puede crear cachés que puedan ejecutar más de un número específico por segundo. ECPUs 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowDependentResources",
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
                   "arn:aws:elasticache:*:*:snapshot:*",
                   "arn:aws:elasticache:*:*:usergroup:*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:MaximumECPUPerSecond": "100000"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticacheCacheNodeType:** especifique cuáles NodeType puede crear un usuario. Mediante las condiciones proporcionadas, el cliente puede especificar un valor único o un valor de rango para un tipo de nodo.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheNodeType": [
                           "cache.t2.micro",
                           "cache.t2.medium"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Con Memcached, especifique cuáles puede crear un NodeType usuario. Mediante las condiciones proporcionadas, el cliente puede especificar un valor único o un valor de rango para un tipo de nodo.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheNodeType": [
                           "cache.t2.micro",
                           "cache.t2.medium"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:NumNodeGroups:** Cree un grupo de replicación con menos de 20 grupos de nodos.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
               	"elasticache:CreateReplicationGroup"
               ],
               "Resource": [
               	"arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "NumericLessThanEquals": {
                       "elasticache:NumNodeGroups": "20"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:ReplicasPerNodeGroup:** Especifique las réplicas por nodo entre 5 y 10.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "NumericGreaterThanEquals": {
                       "elasticache:ReplicasPerNodeGroup": "5"
                   },
                   "NumericLessThanEquals": {
                       "elasticache:ReplicasPerNodeGroup": "10"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineVersion:** Especifique el uso de la versión 5.0.6 del motor.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
        {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
              "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineVersion": "5.0.6"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineVersion:** Especifique el uso de la versión 1.6.6 del motor Memcached

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
        {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineVersion": "1.6.6"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:EngineType:** Especifique utilizando únicamente un motor OSS de Valkey o Redis.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:EngineType": "redis"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:AtRestEncryptionEnabled:** Especifique que los grupos de replicación se crearán solo con el cifrado habilitado.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AtRestEncryptionEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache: TransitEncryptionEnabled**

   1. Defina la clave de `elasticache:TransitEncryptionEnabled` condición `false` para que la [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)acción especifique que los grupos de replicación solo se pueden crear cuando no se utilice TLS:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:parametergroup:*",
                      "arn:aws:elasticache:*:*:subnetgroup:*"
                  ]
              },
      
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "Bool": {
                          "elasticache:TransitEncryptionEnabled": "false"
                      }
                  }
              }
          ]
      }
      ```

------

      Si la clave de `elasticache:TransitEncryptionEnabled` condición se establece `false` en una política para la [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)acción, solo se permitirá una `CreateReplicationGroup` solicitud si no se utiliza TLS (es decir, si la solicitud no incluye un `TransitEncryptionEnabled` parámetro establecido como `true` o un `TransitEncryptionMode` parámetro establecido como. `required`

   1. Defina la clave de `elasticache:TransitEncryptionEnabled` condición `true` para que la [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)acción especifique que los grupos de replicación solo se pueden crear cuando se utiliza TLS:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:parametergroup:*",
                      "arn:aws:elasticache:*:*:subnetgroup:*"
                  ]
              },
      
              {
                  "Effect": "Allow",
                  "Action": [
                      "elasticache:CreateReplicationGroup"
                  ],
                  "Resource": [
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "Bool": {
                          "elasticache:TransitEncryptionEnabled": "true"
                      }
                  }
              }
          ]
      }
      ```

------

      Cuando la clave de `elasticache:TransitEncryptionEnabled` condición esté establecida `true` en una política para la [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)acción, solo se permitirá una `CreateReplicationGroup` solicitud si la solicitud incluye un `TransitEncryptionEnabled` parámetro establecido en `true` y un `TransitEncryptionMode` parámetro establecido en. `required`

   1. Defina `elasticache:TransitEncryptionEnabled` en `true` para que la acción `ModifyReplicationGroup` especifique que los grupos de replicación solo se pueden modificar cuando se usa TLS:

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [               
                      "elasticache:ModifyReplicationGroup"
                  ],
                  "Resource": [               
                      "arn:aws:elasticache:*:*:replicationgroup:*"
                  ],
                  "Condition": {
                      "BoolIfExists": {
                          "elasticache:TransitEncryptionEnabled": "true"
                      }
                  }
              }
          ]
      }
      ```

------

      Cuando la clave de `elasticache:TransitEncryptionEnabled` condición esté establecida `true` en una política para la [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)acción, solo se permitirá una `ModifyReplicationGroup` solicitud si la solicitud incluye un `TransitEncryptionMode` parámetro establecido en`required`. El parámetro `TransitEncryptionEnabled` establecido en `true` también se puede incluir de forma opcional, pero no es necesario en este caso para habilitar TLS.

1. **elasticache:AutomaticFailoverEnabled:** Especifique que los grupos de replicación se crearán solo con la conmutación por error automática habilitada.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AutomaticFailoverEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **ElastiCache:Multi AZEnabled**: especifique que los grupos de replicación no se pueden crear con las zonas de disponibilidad múltiples (Multi-AZ) deshabilitadas.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
           {
               "Effect": "Deny",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:MultiAZEnabled": "false"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:ClusterModeEnabled:** Especifique que los grupos de replicación solo se pueden crear con el modo de clúster habilitado.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:ClusterModeEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:AuthTokenEnabled:** Especifique que los grupos de replicación solo se pueden crear con el token AUTH habilitado.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "Bool": {
                       "elasticache:AuthTokenEnabled": "true"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:SnapshotRetentionLimit:** Especifique el número de días (o mínimo/máximo) para conservar la instantánea. A continuación, la política impone el almacenamiento de copias de seguridad durante al menos 30 días.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup",
                   "elasticache:CreateServerlessCache"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*",
                   "arn:aws:elasticache:*:*:serverlesscache:*"
               ],
               "Condition": {
                   "NumericGreaterThanEquals": {
                       "elasticache:SnapshotRetentionLimit": "30"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:KmsKeyId:** Especifique el uso de las claves de KMS administradas por el cliente.AWS

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
           "Sid": "AllowDependentResources",
           "Effect": "Allow",
           "Action": [
               "elasticache:CreateServerlessCache"
           ],
           "Resource": [
               "arn:aws:elasticache:*:*:serverlesscachesnapshot:*",
               "arn:aws:elasticache:*:*:snapshot:*",
               "arn:aws:elasticache:*:*:usergroup:*"
           ]
       },
       {
           "Effect": "Allow",
           "Action": [
               "elasticache:CreateServerlessCache"
           ],
           "Resource": [
               "arn:aws:elasticache:*:*:serverlesscache:*"
           ],
           "Condition": {
               "StringEquals": {
                   "elasticache:KmsKeyId": "my-key"
               }
           }
       }
     ]
   }
   ```

------

1. **elasticache:CacheParameterGroupName:** Especifique un grupo de parámetros no predeterminado con parámetros específicos de una organización en sus clústeres. También puede especificar un patrón de nomenclatura para los grupos de parámetros o eliminar bloques en un nombre de grupo de parámetros específico. El siguiente es un ejemplo que restringe el uso de solo "». my-org-param-group

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:CreateReplicationGroup"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheParameterGroupName": "my-org-param-group"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheParameterGroupName:** Con Memcached, especifique un grupo de parámetros no predeterminado con parámetros específicos de una organización en sus clústeres. También puede especificar un patrón de nomenclatura para los grupos de parámetros o eliminar bloques en un nombre de grupo de parámetros específico. A continuación se presenta un ejemplo que restringe el uso de solo "». my-org-param-group

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
   
            {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*"
               ]
           },
   
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "elasticache:CacheParameterGroupName": "my-org-param-group"
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CreateCacheCluster:** Denegar la `CreateCacheCluster` acción si falta la etiqueta `Project` de solicitud o no es igual a`Dev`, o. `QA` `Prod`

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
             {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*",
                   "arn:aws:elasticache:*:*:securitygroup:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ]
           },
           {
               "Effect": "Deny",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "Null": {
                       "aws:RequestTag/Project": "true"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:AddTagsToResource"
               ],
               "Resource": "arn:aws:elasticache:*:*:cluster:*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/Project": [
                           "Dev",
                           "Prod",
                           "QA"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Permitir `CreateCacheCluster` con `cacheNodeType` cache.r5.large o cache.r6g.4xlarge y etiqueta. `Project=XYZ` 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster",
           "elasticache:CreateReplicationGroup"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:parametergroup:*",
           "arn:aws:elasticache:*:*:subnetgroup:*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:cluster:*"
         ],
         "Condition": {
           "StringEqualsIfExists": {
             "elasticache:CacheNodeType": [
               "cache.r5.large",
               "cache.r6g.4xlarge"
             ]
           },
           "StringEquals": {
             "aws:RequestTag/Project": "XYZ"
           }
         }
       }
     ]
   }
   ```

------

1. **elasticache:CacheNodeType:** Se permite `CreateCacheCluster` con `cacheNodeType` cache.r5.large o cache.r6g.4xlarge y etiqueta. `Project=XYZ` 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:parametergroup:*",
           "arn:aws:elasticache:*:*:subnetgroup:*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "elasticache:CreateCacheCluster"
         ],
         "Resource": [
           "arn:aws:elasticache:*:*:cluster:*"
         ],
         "Condition": {
           "StringEqualsIfExists": {
             "elasticache:CacheNodeType": [
               "cache.r5.large",
               "cache.r6g.4xlarge"
             ]
           },
           "StringEquals": {
             "aws:RequestTag/Project": "XYZ"
           }
         }
       }
     ]
   }
   ```

------

**nota**  
Cuando se crean políticas a fin de imponer etiquetas y otras claves de condición juntas, el condicional `IfExists` puede ser necesario en los elementos de la clave de condición debido a los requisitos extra de la política `elasticache:AddTagsToResource` para las solicitudes de creación con el parámetro `--tags`.

# Uso de roles vinculados a servicios para Amazon ElastiCache
<a name="using-service-linked-roles"></a>

Amazon ElastiCache utiliza [roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) de AWS Identity and Access Management (IAM). Un rol vinculado a servicios es un tipo único de rol de IAM que se encuentra vinculado directamente a un servicio de AWS, como Amazon ElastiCache. Amazon ElastiCache predefine los roles vinculados a servicios de Amazon ElastiCache. Incluyen todos los permisos que requiere el servicio para llamar a otros servicios de AWS en nombre de los clústeres. 

Un rol vinculado a servicios simplifica la configuración de Amazon ElastiCache porque ya no tendrá que agregar manualmente los permisos necesarios. Los roles ya existen dentro de la cuenta de AWS, pero se encuentran vinculados a los casos de uso de Amazon ElastiCache y tienen permisos predefinidos. Solo Amazon ElastiCache puede asumir estos roles y solo estos roles pueden utilizar la política de permisos predefinida. Las funciones se pueden eliminar únicamente después de eliminar primero sus recursos relacionados. De esta forma se protegen los recursos de Amazon ElastiCache porque no puede eliminar los permisos necesarios para acceder a los recursos.

Para obtener información acerca de otros servicios que son compatibles con roles vinculados a servicios, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) y busque los servicios que muestran **Sí** en la columna **Rol vinculado a un servicio**. Elija una opción **Sí** con un enlace para ver la documentación acerca del rol vinculado a servicios en cuestión.

**Contents**
+ [Permisos de roles vinculados a servicios](#service-linked-role-permissions)
  + [Permisos para crear un rol vinculado a servicios](#service-linked-role-permissions)
+ [Creación de un rol vinculado a servicios (IAM)](#create-service-linked-role-iam)
  + [Uso de la consola de IAM](#create-service-linked-role-iam-console)
  + [Uso de la CLI de IAM](#create-service-linked-role-iam-cli)
  + [Uso de la API de IAM](#create-service-linked-role-iam-api)
+ [Edición de la descripción de un rol vinculado a servicio](#edit-service-linked-role)
  + [Uso de la consola de IAM](#edit-service-linked-role-iam-console)
  + [Uso de la CLI de IAM](#edit-service-linked-role-iam-cli)
  + [Uso de la API de IAM](#edit-service-linked-role-iam-api)
+ [Eliminar un rol vinculado a servicios para Amazon ElastiCache](#delete-service-linked-role)
  + [Limpiar un rol vinculado a un servicio](#service-linked-role-review-before-delete)
  + [Eliminación de un rol vinculado a servicios (consola de IAM)](#delete-service-linked-role-iam-console)
  + [Eliminación de un rol vinculado a servicios (CLI de IAM)](#delete-service-linked-role-iam-cli)
  + [Eliminación de un rol vinculado a servicios (API de IAM)](#delete-service-linked-role-iam-api)

## Permisos de roles vinculados a servicios para Amazon ElastiCache
<a name="service-linked-role-permissions"></a>

### Permisos para crear un rol vinculado a servicios
<a name="service-linked-role-permissions"></a>

**Para permitir a una entidad de IAM crear roles vinculados a servicios AWSServiceRoleForElastiCache**

Agregue la siguiente instrucción de política a los permisos para esa entidad de IAM:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole",
        "iam:PutRolePolicy"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}}
}
```

**Para permitir a una entidad de IAM eliminar roles vinculados a servicios AWSServiceRoleForElastiCache**

Agregue la siguiente instrucción de política a los permisos para esa entidad de IAM:

```
{
    "Effect": "Allow",
    "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/AWSServiceRoleForElastiCache*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "elasticache.amazonaws.com"}}
}
```

También puede utilizar una política administrada por AWS para proporcionar acceso completo a Amazon ElastiCache.

## Creación de un rol vinculado a servicios (IAM)
<a name="create-service-linked-role-iam"></a>

Puede crear un rol vinculado a servicios mediante la consola de IAM, la CLI o la API.

### Creación de un rol vinculado a servicios (consola de IAM)
<a name="create-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para crear un rol vinculado a un servicio.

**Para crear un rol vinculado a un servicio (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, elija **Roles**. A continuación, elija **Create new role (Crear nuevo rol)**.

1. En **Select type of trusted entity** (Seleccionar el tipo de entidad de confianza), elija **AWS Service** (Servicio de ).

1. En **Or select a service to view its use cases** (O seleccionar un servicio para ver sus casos de uso), elija **ElastiCache**.

1. Elija **Siguiente: permisos**.

1. En **Policy name** (Nombre de la política), tenga en cuenta que `ElastiCacheServiceRolePolicy` es necesario para este rol. Elija **Siguiente:Etiquetas**.

1. Tenga en cuenta que las etiquetas no son compatibles con los roles vinculados a servicios. Elija **Next: Review**.

1. (Opcional) En **Descripción del rol**, edite la descripción del nuevo rol vinculado al servicio.

1. Revise el rol y, a continuación, seleccione **Crear rol**.

### Creación de un rol vinculado a servicios (CLI de IAM)
<a name="create-service-linked-role-iam-cli"></a>

Puede utilizar las operaciones de IAM desde la AWS Command Line Interface para crear un rol vinculado a servicios. Este rol puede incluir la política de confianza y las políticas insertadas que el servicio necesita para asumir el rol.

**Para crear un rol vinculado a un servicio (CLI)**

Use la operación siguiente:

```
$ aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name elasticache.amazonaws.com
```

### Creación de un rol vinculado a servicios (API de IAM)
<a name="create-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para crear un rol vinculado a servicios. Este rol puede contener la política de confianza y las políticas insertadas que el servicio necesita para asumir el rol.

**Para crear un rol vinculado a un servicio (API)**

Use la llamada de API de [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html). En la solicitud, especifique el nombre del servicio de `elasticache.amazonaws.com`. 

## Edición de la descripción de un rol vinculado a servicios para Amazon ElastiCache
<a name="edit-service-linked-role"></a>

Amazon ElastiCache no permite editar el rol vinculado a servicios de AWSServiceRoleForElastiCache. Después de crear un rol vinculado al servicio, no podrá cambiar el nombre del rol, ya que varias entidades podrían hacer referencia al rol. Sin embargo, sí puede editar la descripción del rol con IAM.

### Edición de la descripción de un rol vinculado a servicios (consola de IAM)
<a name="edit-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para editar una descripción de rol vinculado a servicios.

**Para editar la descripción de un rol vinculado a un servicio (consola)**

1. En el panel de navegación de la consola de IAM, elija **Roles**.

1. Seleccione el nombre del rol que desea modificar.

1. En el extremo derecho de **Role description**, seleccione **Edit**. 

1. Ingrese una descripción nueva en el cuadro **Save** (Guardar).

### Edición de la descripción de un rol vinculado a servicios (CLI de IAM)
<a name="edit-service-linked-role-iam-cli"></a>

Puede utilizar operaciones de IAM desde la AWS Command Line Interface para editar una descripción de rol vinculado a servicios.

**Para cambiar la descripción de un rol vinculado a un servicio (CLI)**

1. (Opcional) A fin de ver la descripción actual de un rol, utilice la AWS CLI para la operación de IAM `[get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)`.  
**Example**  

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name AWSServiceRoleForElastiCache
   ```

   Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con las operaciones de la CLI. Por ejemplo, si una función tiene el ARN `arn:aws:iam::123456789012:role/myrole`, debe referirse a él como **myrole**.

1. Para actualizar la descripción de un rol vinculado a servicios, utilice la AWS CLI para la operación de IAM `[update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html)`.

   Para Linux, macOS o Unix:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) \
       --role-name AWSServiceRoleForElastiCache \
       --description "new description"
   ```

   Para Windows:

   ```
   $ aws iam [update-role-description](https://docs.aws.amazon.com/cli/latest/reference/iam/update-role-description.html) ^
       --role-name AWSServiceRoleForElastiCache ^
       --description "new description"
   ```

### Edición de la descripción de un rol vinculado a servicios (API de IAM)
<a name="edit-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para editar una descripción de rol vinculado a servicios.

**Para cambiar la descripción de un rol vinculado a un servicio (API)**

1. (Opcional) Para ver la descripción actual de un rol, utilice la operación de la API de IAM [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)
      &RoleName=AWSServiceRoleForElastiCache
      &Version=2010-05-08
      &AUTHPARAMS
   ```

1. Para actualizar la descripción de un rol, utilice la operación de la API de IAM [UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html).  
**Example**  

   ```
   https://iam.amazonaws.com/
      ?Action=[UpdateRoleDescription](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateRoleDescription.html)
      &RoleName=AWSServiceRoleForElastiCache
      &Version=2010-05-08
      &Description="New description"
   ```

## Eliminar un rol vinculado a servicios para Amazon ElastiCache
<a name="delete-service-linked-role"></a>

Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a un servicio, recomendamos que elimine dicho rol. De esta forma no tiene una entidad no utilizada que no se monitoree ni mantenga de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

Amazon ElastiCache no elimina de forma automática el rol vinculado a servicios.

### Limpiar un rol vinculado a un servicio
<a name="service-linked-role-review-before-delete"></a>

Antes de que pueda utilizar IAM para eliminar un rol vinculado a servicios, primero confirme que el rol no tiene recursos (clústeres o grupos de reproducción) asociados a él.

**Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, elija **Roles**. A continuación, elija el nombre (no la casilla de verificación) del rol AWSServiceRoleForElastiCache.

1. En la página **Resumen** del rol seleccionado, seleccione la pestaña **Asesor de acceso**.

1. En la pestaña **Asesor de acceso**, revise la actividad reciente del rol vinculado a servicios.

**Para eliminar recursos de Amazon ElastiCache que requieren AWSServiceRoleForelastiCache**
+ Para eliminar un clúster, consulte los siguientes temas:
  + [Usando el Consola de administración de AWS](Clusters.Delete.md#Clusters.Delete.CON)
  + [Utilización de AWS CLI para eliminar un ElastiCache clúster](Clusters.Delete.md#Clusters.Delete.CLI)
  + [Uso de la ElastiCache API](Clusters.Delete.md#Clusters.Delete.API)
+ Para eliminar un grupo de reproducción, consulte los siguientes temas:
  + [Eliminación de un grupo de reproducción (consola)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CON)
  + [Eliminación de un grupo de reproducción de (AWS CLI)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.CLI)
  + [Eliminación de un grupo de reproducción (API de ElastiCache)](Replication.DeletingRepGroup.md#Replication.DeletingRepGroup.API)

### Eliminación de un rol vinculado a servicios (consola de IAM)
<a name="delete-service-linked-role-iam-console"></a>

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la consola de IAM, elija **Roles**. A continuación, seleccione la casilla junto al nombre del rol que desea eliminar, no el nombre ni la fila. 

1. En **Role actions (Acciones de rol)** en la parte superior de la página, elija **Delete role (Eliminar rol)**.

1. En el cuadro de diálogo de confirmación, revise los datos del último acceso al servicio, que muestra cuándo cada una de las funciones seleccionadas tuvo acceso a un servicio de AWS por última vez. Esto lo ayuda a confirmar si el rol está actualmente activo. Si desea continuar, seleccione **Yes, Delete** para enviar la solicitud de eliminación del rol vinculado al servicio.

1. Consulte las notificaciones de la consola de IAM para monitorear el progreso de la eliminación del rol vinculado al servicio. Como el proceso de eliminación del rol vinculado al servicio de IAM es asíncrono, dicha tarea puede realizarse correctamente o fallar después de que envía la solicitud de eliminación. Si la tarea no se realiza correctamente, puede seleccionar **View details (Ver detalles)** o **View Resources (Ver recursos)** desde las notificaciones para obtener información sobre el motivo por el que no se pudo eliminar el rol.

### Eliminación de un rol vinculado a servicios (CLI de IAM)
<a name="delete-service-linked-role-iam-cli"></a>

Puede utilizar las operaciones de IAM desde la AWS Command Line Interface para eliminar un rol vinculado a servicios.

**Para eliminar un rol vinculado a un servicio (CLI)**

1. Si no conoce el nombre del rol vinculado a servicios que desea eliminar, ingrese el siguiente comando. En este comando se enumeran los roles y los nombres de recursos de Amazon (ARN) de la cuenta.

   ```
   $ aws iam [get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html) --role-name role-name
   ```

   Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con las operaciones de la CLI. Por ejemplo, si un rol tiene el ARN `arn:aws:iam::123456789012:role/myrole`, debe referirse a él como **myrole**.

1. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor `deletion-task-id` de la respuesta para comprobar el estado de la tarea de eliminación. Ingrese lo siguiente para enviar una solicitud de eliminación de un rol vinculado a servicios.

   ```
   $ aws iam [delete-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-service-linked-role.html) --role-name role-name
   ```

1. Ingrese lo siguiente para verificar el estado de la tarea de eliminación.

   ```
   $ aws iam [get-service-linked-role-deletion-status](https://docs.aws.amazon.com/cli/latest/reference/iam/get-service-linked-role-deletion-status.html) --deletion-task-id deletion-task-id
   ```

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

### Eliminación de un rol vinculado a servicios (API de IAM)
<a name="delete-service-linked-role-iam-api"></a>

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio.

**Para eliminar un rol vinculado a un servicio (API)**

1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, llame a [DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html). En la solicitud, especifique el nombre del rol.

   Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Esta solicitud puede denegarse si no se cumplen estas condiciones. Debe apuntar el valor `DeletionTaskId` de la respuesta para comprobar el estado de la tarea de eliminación.

1. Para comprobar el estado de la tarea de eliminación, realice una llamada a [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html). En la solicitud, especifique el valor de `DeletionTaskId`.

   El estado de la tarea de eliminación puede ser `NOT_STARTED`, `IN_PROGRESS`, `SUCCEEDED` o `FAILED`. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

# Permisos de la API de ElastiCache: referencia de condiciones, acciones y recursos
<a name="IAM.APIReference"></a>

Cuando configure el [control de acceso](IAM.md) y escriba políticas de permisos para adjuntar a una política de IAM (políticas basadas en identidad o recurso), utilice la siguiente tabla como referencia. En la tabla se enumera cada operación de la API de Amazon ElastiCache y las acciones correspondientes para las que puede conceder permisos a fin de realizar la acción. Las acciones se especifican en el campo `Action` de la política y el valor de un recurso se especifica en el campo `Resource` de la política. A menos que se indique lo contrario, el recurso es necesario. Algunos campos incluyen recursos obligatorios y opcionales. Cuando no hay ARN de recurso, el recurso de la política es un comodín (\$1).

Puede utilizar claves de condiciones en las políticas de ElastiCache para expresar condiciones. Para ver una lista de claves de condición específicas de Elasticache, junto con las acciones y los tipos de recursos a los que se aplican, consulte [Uso de claves de condición](IAM.ConditionKeys.md). Para ver una lista completa de claves generales de AWS, consulte [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

**nota**  
Para especificar una acción, use el prefijo `elasticache:` seguido del nombre de operación de la API (por ejemplo, `elasticache:DescribeCacheClusters`).

Para ver una lista de las acciones de ElastiCache, consulte [Acciones definidas por Amazon ElastiCache](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticache.html#amazonelasticache-actions-as-permissions), en la *Referencia de autorizaciones de servicio*.