

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.

# Creación de instrucciones de políticas administrativas de IAM para Amazon Neptune
<a name="iam-admin-policy-examples"></a>

## Ejemplos de políticas administrativas generales
<a name="iam-admin-policy-general-examples"></a>

En los siguientes ejemplos, se muestra cómo crear políticas administrativas de Neptune que concedan permisos para realizar diversas acciones de administración en un clúster de base de datos.

### Política que impide que un usuario de IAM elimine una instancia de base de datos específica
<a name="iam-admin-policy-not-delete-instance"></a>

A continuación, se muestra un ejemplo de política que impide que un usuario de IAM elimine una instancia de base de datos de Neptune específica:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyDeleteOneInstance",
      "Effect": "Deny",
      "Action": "rds:DeleteDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:db:my-instance-name"
    }
  ]
}
```

------

### La política concede permiso para crear nuevas instancias de base de datos
<a name="iam-admin-policy-to-create-instances"></a>

A continuación, se muestra un ejemplo de una política que permite a un usuario de IAM crear instancias de base de datos en un clúster de base de datos de Neptune específico:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateInstance",
      "Effect": "Allow",
      "Action": "rds:CreateDBInstance",
      "Resource": "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster"
    }
  ]
}
```

------

### Política que concede permiso para crear nuevas instancias de base de datos que usen un grupo de parámetros de base de datos específico
<a name="iam-admin-policy-to-create-instances-with-pg"></a>

A continuación, tenemos un ejemplo de política que permite a un usuario de IAM crear instancias de base de datos en un clúster de base de datos específico (aquí `us-west-2`) en un clúster de base de datos de Neptune específico utilizando solo un grupo de parámetros de base de datos específico.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCreateInstanceWithPG",
      "Effect": "Allow",
      "Action": "rds:CreateDBInstance",
      "Resource": [
        "arn:aws:rds:us-west-2:123456789012:cluster:my-cluster",
        "arn:aws:rds:us-west-2:123456789012:pg:my-instance-pg"
      ]
    }
  ]
}
```

------

### Política que concede permiso para describir cualquier recurso
<a name="iam-admin-policy-to-describe"></a>

A continuación, tenemos un ejemplo de política que permite a un usuario de IAM describir cualquier recurso de Neptune.

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

****  

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

------

## Ejemplos de políticas administrativas basadas en etiquetas
<a name="iam-admin-policy-tagging-examples"></a>

En los siguientes ejemplos, se muestra cómo crear políticas administrativas de Neptune que se etiquetan para filtrar permisos para varias acciones de administración en un cluster de base de datos.

### Ejemplo 1: conceder permiso para acciones en un recurso mediante una etiqueta personalizada que puede tomar varios valores
<a name="security-iam-tag-examples-1"></a>

La política siguiente permite el uso de la API `ModifyDBInstance`, `CreateDBInstance` o `DeleteDBInstance` en cualquier instancia de base de datos que tenga la etiqueta `env` establecida en `dev` o `test`:

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDevTestAccess",
      "Effect": "Allow",
      "Action": [
        "rds:ModifyDBInstance",
        "rds:CreateDBInstance",
        "rds:DeleteDBInstance"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "rds:db-tag/env": [
              "dev",
              "test"
          ],
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------

### Ejemplo 3: limitar el conjunto de claves y valores de etiquetas que se pueden usar para etiquetar un recurso
<a name="security-iam-tag-examples-2"></a>

En esta política, se usa una clave `Condition` para permitir que una etiqueta que tiene la clave `env` y un valor de `test`, `qa` o `dev` se añada a un recurso:

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowTagAccessForDevResources",
      "Effect": "Allow",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "rds:req-tag/env": [
            "test",
            "qa",
            "dev"
          ],
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------

### Ejemplo 3: permitir el acceso completo a los recursos de Neptune en función de `aws:ResourceTag`
<a name="security-iam-tag-examples-3"></a>

La siguiente política es similar al primer ejemplo anterior, pero utiliza en su lugar `aws:ResourceTag`.

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

****  

```
{ "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowFullAccessToDev",
      "Effect": "Allow",
      "Action": [
        "rds:*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "dev",
          "rds:DatabaseEngine": "neptune"
        }
      }
    }
  ]
}
```

------