

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
<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 en los que se explican los conceptos básicos y las opciones para administrar el acceso a sus 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](iam.overview.md). 

En las secciones de este tema se explica lo siguiente:
+ [Permisos necesarios para usar la consola de MemoryDB](#iam.identitybasedpolicies.minconpolicies)
+ [Políticas (predefinidas) administradas de AWS para MemoryDB](security-iam-awsmanpol.md#iam.identitybasedpolicies.predefinedpolicies)
+ [Ejemplos de políticas administradas por los clientes](#iam.identitybasedpolicies.customermanagedpolicies)

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

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

****  

```
{
   "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 declaración concede permisos para las acciones de MemoryDB (`memorydb:CreateCluster`, `memorydb:DescribeClusters` y `memorydb: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 la entidad 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, la entidad principal identificada en la política de confianza de rol obtiene los permisos. 

Para ver una tabla con 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](iam.APIReference.md). 

## Permisos necesarios para usar la consola de MemoryDB
<a name="iam.identitybasedpolicies.minconpolicies"></a>

La tabla de referencia de los permisos muestra las operaciones de la API de MemoryDB e indica 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](iam.APIReference.md). 

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

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

****  

```
{
    "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 `ec2` acciones consulten Amazon EC2 para poder mostrar las zonas de disponibilidad VPCs, los grupos de seguridad y los 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
<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)). También puede haber creado un rol vinculado a un servicio de MemoryDB. 

Combinadas con los permisos mínimos necesarios para usar la consola de MemoryDB, las políticas de ejemplo de esta sección conceden permisos adicionales. Los ejemplos también son relevantes para el AWS SDKs 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](#iam.identitybasedpolicies.minconpolicies).

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

**Topics**
+ [Ejemplo 1: Permitir al usuario acceso de solo lectura a los recursos de MemoryDB](#example-allow-list-current-memorydb-resources)
+ [Ejemplo 2: Concesión de permiso a un usuario para realizar tareas comunes de administrador del sistema de MemoryDB](#example-allow-specific-memorydb-actions)
+ [Ejemplo 3: Permitir a un usuario obtener acceso a todas las acciones de la API de MemoryDB](#allow-unrestricted-access)
+ [Ejemplo 4: Permitir que un usuario llame a la API de IAM CreateServiceLinkedRole](#create-service-linked-role-policy)

### Ejemplo 1: Permitir al usuario acceso de solo lectura a los recursos de MemoryDB
<a name="example-allow-list-current-memorydb-resources"></a>

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.

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

****  

```
{
   "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
<a name="example-allow-specific-memorydb-actions"></a>

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.

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

****  

```
{
    "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
<a name="allow-unrestricted-access"></a>

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. 

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

****  

```
{
   "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
<a name="create-service-linked-role-policy"></a>

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.

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

****  

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

------