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

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 MemoryDB

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 y las opciones básicos para administrar el acceso a los recursos de MemoryDB. Para obtener más información, consulte Información general sobre la administración de los permisos de acceso a los recursos de MemoryDB.

En las secciones de este tema se explica lo siguiente:

A continuación se muestra un ejemplo de una política de permisos.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowClusterPermissions", "Effect": "Allow", "Action": [ "memorydb:CreateCluster", "memorydb:DescribeClusters", "memorydb:UpdateCluster"], "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 acciones de MemoryDB (memorydb:CreateClustermemorydb:DescribeClusters, ymemorydb:UpdateCluster) en cualquier clúster que sea propiedad de la cuenta.

  • 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 API de MemoryDB y los recursos a los que se aplican, consulte. Permisos de la API de MemoryDB: referencia de acciones, recursos y condiciones

Permisos necesarios para usar la consola de MemoryDB

La tabla de referencia de permisos enumera las operaciones de la API de MemoryDB y muestra los permisos necesarios para cada operación. Para obtener más información sobre las operaciones de la API de MemoryDB, consulte Permisos de la API de MemoryDB: referencia de acciones, recursos y condiciones.

Para usar la consola MemoryDB, primero conceda permisos para acciones adicionales, tal y como se muestra en la siguiente política de permisos.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "MinPermsForMemDBConsole", "Effect": "Allow", "Action": [ "memorydb:Describe*", "memorydb:List*", "ec2:DescribeAvailabilityZones", "ec2:DescribeVpcs", "ec2:DescribeAccountAttributes", "ec2:DescribeSecurityGroups", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "s3:ListAllMyBuckets", "sns:ListTopics", "sns:ListSubscriptions" ], "Resource": "*" } ] }

La consola de MemoryDB necesita estos permisos adicionales por las siguientes razones:

  • Los permisos para las acciones de MemoryDB habilitan la consola para mostrar los recursos de MemoryDB de la cuenta.

  • La consola necesita permisos para que las acciones de ec2 consulten a Amazon EC2 a fin de mostrar las zonas de disponibilidad, VPC, grupos de seguridad y atributos de la cuenta.

  • Los permisos para cloudwatch las acciones permiten a la consola recuperar CloudWatch las métricas y alarmas de Amazon y mostrarlas en la consola.

  • Los permisos para las acciones de sns permiten a la consola recuperar suscripciones y temas de Amazon Simple Notification Service (Amazon SNS) y mostrarlos en la consola.

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 ). También puede haber creado un rol vinculado a un servicio de MemoryDB.

Si se combinan con los permisos mínimos necesarios para usar la consola de MemoryDB, las políticas de ejemplo de esta sección otorgan permisos adicionales. Los ejemplos también son relevantes para los AWS SDK y el. AWS CLI Para obtener más información acerca de los permisos necesarios para usar la consola de MemoryDB, consulte Permisos necesarios para usar la consola de MemoryDB.

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 acciones de MemoryDB que parecen sencillas pueden requerir otras acciones de apoyo cuando se usa la consola de MemoryDB. Por ejemplo, memorydb:CreateCluster concede permisos para crear clústeres de MemoryDB. Sin embargo, para realizar esta operación, la consola de MemoryDB usa varias acciones Describe y List para rellenar las listas de la consola.

Ejemplo 1: Permitir al usuario acceso de solo lectura a los recursos de MemoryDB

La política siguiente concede permisos para usar acciones de MemoryDB que permiten a un usuario mostrar recursos. Normalmente, este tipo de política de permisos se adjunta a un grupo de administradores.

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

Ejemplo 2: Concesión de permiso a un usuario para realizar tareas comunes de administrador del sistema de MemoryDB

Entre las tareas comunes de administrador del sistema se incluyen la modificación de clústeres, parámetros y grupos de parámetros. También es posible que el administrador del sistema quiera obtener información acerca de los eventos de MemoryDB. La siguiente política concede a un usuario permisos para realizar acciones de MemoryDB para estas tareas comunes de 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": "MDBAllowSpecific", "Effect":"Allow", "Action":[ "memorydb:UpdateCluster", "memorydb:DescribeClusters", "memorydb:DescribeEvents", "memorydb:UpdateParameterGroup", "memorydb:DescribeParameterGroups", "memorydb:DescribeParameters", "memorydb:ResetParameterGroup",], "Resource":"*" } ] }

Ejemplo 3: Permitir a un usuario obtener acceso a todas las acciones de la API de MemoryDB

La siguiente política permite a un usuario obtener acceso a todas las acciones de MemoryDB. Recomendamos que conceda este tipo de política de permisos solo a un usuario administrador.

{ "Version": "2012-10-17", "Statement":[{ "Sid": "MDBAllowAll", "Effect":"Allow", "Action":[ "memorydb:*" ], "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. Le recomendamos que conceda este tipo de política de permisos al usuario que invoca las operaciones de MemoryDB mutantes.

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