

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création de déclarations de politique administrative IAM pour Amazon Neptune
<a name="iam-admin-policy-examples"></a>

## Exemples de politiques administratives générales
<a name="iam-admin-policy-general-examples"></a>

Les exemples suivants montrent comment créer des politiques administratives Neptune qui accordent des autorisations pour effectuer diverses actions de gestion sur un cluster de bases de données.

### Politique empêchant un utilisateur IAM de supprimer une instance de base de données spécifiée
<a name="iam-admin-policy-not-delete-instance"></a>

Voici un exemple de politique qui empêche un utilisateur IAM de supprimer une instance de base de données Neptune spécifiée :

------
#### [ 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"
    }
  ]
}
```

------

### Politique autorisant la création d'instances de base de données
<a name="iam-admin-policy-to-create-instances"></a>

Voici un exemple de politique autorisant un utilisateur IAM à créer des instances de base de données dans un cluster de bases de données Neptune spécifié :

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

****  

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

------

### Politique autorisant la création d'instances de base de données utilisant un groupe de paramètres de base de données spécifique
<a name="iam-admin-policy-to-create-instances-with-pg"></a>

Voici un exemple de politique qui permet à un utilisateur IAM de créer des instances de base de données dans un cluster de bases de données Neptune spécifié (ici `us-west-2`) en utilisant uniquement un groupe de paramètres de base de données donné.

------
#### [ 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"
      ]
    }
  ]
}
```

------

### Politique qui accorde l'autorisation de décrire n'importe quelle ressource
<a name="iam-admin-policy-to-describe"></a>

Voici un exemple de politique qui permet à un utilisateur IAM de décrire n'importe quelle ressource Neptune.

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

****  

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

------

## Exemples de politiques administratives basées sur des balises
<a name="iam-admin-policy-tagging-examples"></a>

Les exemples suivants montrent comment créer des politiques administratives Neptune qui utilisent le balisage pour filtrer les autorisations pour diverses actions de gestion sur un cluster de bases de données.

### Exemple 1 : accorder une autorisation pour des actions sur une ressource à l'aide d'une balise personnalisée qui peut prendre plusieurs valeurs
<a name="security-iam-tag-examples-1"></a>

La politique ci-dessous autorise l'utilisation de l'API `ModifyDBInstance`, `CreateDBInstance` ou `DeleteDBInstance` sur toute instance de base de données dont la balise `env` est définie sur `dev` ou `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"
        }
      }
    }
  ]
}
```

------

### Exemple 2 : limiter l'ensemble de clés et de valeurs de balise pouvant être utilisées pour baliser une ressource
<a name="security-iam-tag-examples-2"></a>

Cette politique utilise une clé `Condition` pour autoriser une balise dotée de la clé `env` et de la valeur `test`, `qa` ou `dev` à être ajoutée à une ressource :

------
#### [ 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"
        }
      }
    }
  ]
}
```

------

### Exemple 3 : autoriser l'accès complet aux ressources Neptune en fonction de la balise `aws:ResourceTag`
<a name="security-iam-tag-examples-3"></a>

La politique suivante est similaire au premier exemple ci-dessus, mais utilise `aws:ResourceTag` à la place :

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

****  

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

------