Uso de políticas basadas en la identidad (políticas de IAM) para Amazon ElastiCache - Amazon ElastiCache

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.

Uso de políticas basadas en la identidad (políticas de IAM) para Amazon ElastiCache

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.

En las secciones de este tema se explica lo siguiente:

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

{ "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.

{ "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, consulteElastiCache Permisos de API: referencia de acciones, recursos y condiciones.

Ejemplos de políticas administradas por los clientes

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 ). 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 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 clústeres de caché de ElastiCache . 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.

Ejemplo 1: Permitir a un usuario el acceso de solo lectura a los recursos ElastiCache

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.

{ "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

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.

{ "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

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.

{ "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

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.

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

Ejemplo 5: permitir que un usuario se conecte a una caché sin servidor mediante la autenticación de IAM

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.

{ "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:*" ] } ] }