

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.

# Politiques d’autorisation pour créer, modifier et supprimer des ressources dans Aurora
<a name="security_iam_id-based-policy-examples-create-and-modify-examples"></a>

Les sections suivantes présentent des exemples de politiques d’autorisation qui accordent et restreignent l’accès aux ressources :

## Autoriser un utilisateur à créer des instances de base de données dans un AWS compte
<a name="security_iam_id-based-policy-examples-create-db-instance-in-account"></a>

Voici un exemple de politique qui permet au compte doté de l'ID de `123456789012` créer des instances de base de données pour votre AWS compte. La stratégie exige que le nom de la nouvelle instance de base de données commence par `test`. La nouvelle instance de base de données doit également utiliser le moteur de base de données MySQL et la classe d’instance de base de données `db.t2.micro`. En outre, la nouvelle instance de base de données doit utiliser un groupe d’options et un groupe de paramètres de base de données commençant par `default`, et elle doit utiliser le groupe de sous-réseaux `default`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowCreateDBInstanceOnly",
         "Effect": "Allow",
         "Action": [
            "rds:CreateDBInstance"
         ],
         "Resource": [
            "arn:aws:rds:*:123456789012:db:test*",
            "arn:aws:rds:*:123456789012:og:default*",
            "arn:aws:rds:*:123456789012:pg:default*",
            "arn:aws:rds:*:123456789012:subgrp:default"
         ],
         "Condition": {
            "StringEquals": {
               "rds:DatabaseEngine": "mysql",
               "rds:DatabaseClass": "db.t2.micro"
            }
         }
      }
   ]
}
```

------

La stratégie inclut une instruction unique spécifiant les autorisations suivantes pour l’utilisateur  :
+ La politique permet au compte de créer une instance de base de données à l'aide de l'opération [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) API (cela s'applique également à la [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI commande et au AWS Management Console).
+ L’élément `Resource` spécifie que l’utilisateur peut effectuer des actions sur et avec des ressources. Vous indiquez des ressources à l’aide d’un nom ARN (Amazon Resources Name). Cet ARN inclut le nom du service auquel appartient la ressource (`rds`), la AWS région (`*`indique n'importe quelle région dans cet exemple), le numéro de AWS compte (`123456789012`il s'agit du numéro de compte dans cet exemple) et le type de ressource. Pour plus d'informations sur la création ARNs, consultez[Amazon Resource Names (ARN) dans Amazon RDS](USER_Tagging.ARN.md).

  L’élément `Resource` dans l’exemple spécifie les contraintes de stratégie suivantes sur les ressources de l’utilisateur :
  + L’identifiant d’instance de base de données de la nouvelle instance de base de données doit commencer par `test` (par exemple, `testCustomerData1`, `test-region2-data`).
  + Le groupe d’options de la nouvelle instance de base de données doit commencer par `default`.
  + Le groupe de paramètres de base de données de la nouvelle instance de base de données doit commencer par `default`.
  + Le groupe de sous-réseaux de la nouvelle instance de base de données doit être le groupe de sous-réseaux `default`.
+ L’élément `Condition` indique que le moteur de base de données doit être MySQL et la classe d’instance de base de données doit être `db.t2.micro`. L’élément `Condition` indique les conditions lorsqu’une stratégie doit entrer en vigueur. Vous pouvez ajouter des autorisations ou des restrictions supplémentaires à l’aide de l’élément `Condition`. Pour plus d’informations sur la spécification de conditions, consultez [Clés de condition de politique pour Aurora](security_iam_service-with-iam.md#UsingWithRDS.IAM.Conditions). Cet exemple spécifie les conditions `rds:DatabaseEngine` et `rds:DatabaseClass`. Pour plus d'informations sur les valeurs de condition valides pour`rds:DatabaseEngine`, consultez la liste sous le `Engine` paramètre dans [Create DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html). Pour plus d’informations sur les valeurs de conditions valides pour `rds:DatabaseClass`, consultez [Moteurs de base de données pris en charge pour les classes d’instance de base de données](Concepts.DBInstanceClass.SupportAurora.md). 

La politique ne spécifie pas l’élément `Principal` car, dans une politique basée sur une identité, vous ne spécifiez pas le principal qui obtient l’autorisation. Quand vous attachez une politique à un utilisateur, l’utilisateur est le principal implicite. Lorsque vous attachez une politique d’autorisation à un rôle IAM, le principal identifié dans la politique d’approbation de ce rôle obtient les autorisations.

Pour afficher la liste des actions Aurora, consultez [Actions définies par Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-actions-as-permissions) dans *Référence de l’autorisation de service*.

## Autoriser un utilisateur à effectuer une action Describe sur une ressource RDS
<a name="IAMPolicyExamples-RDS-perform-describe-action"></a>

La politique d’autorisation suivante accorde des autorisations à un utilisateur lui permettant d’exécuter toutes les actions commençant par `Describe`. Ces actions affichent des informations sur une ressource RDS, telle qu’une instance de base de données. Le caractère générique (\$1) figurant dans l’élément `Resource` indique que les actions sont autorisées pour toutes les ressources Amazon Aurora détenues par le compte. 

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

****  

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

------

## Autoriser un utilisateur à créer une instance de base de données qui utilise le groupe de paramètres de base de données et le groupe de sous-réseau spécifiés
<a name="security_iam_id-based-policy-examples-create-db-instance-specified-groups"></a>

La politique d’autorisation suivante accorde des autorisations permettant à un utilisateur de créer uniquement une instance de base de données devant utiliser le groupe de paramètres de base de données `mydbpg` et le groupe de sous-réseau de base de données `mydbsubnetgroup`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": "rds:CreateDBInstance",
         "Resource": [
            "arn:aws:rds:*:*:pg:mydbpg",
            "arn:aws:rds:*:*:subgrp:mydbsubnetgroup"
         ]
      }
   ]
}
```

------

## Accorder une autorisation pour des actions sur une ressource à l’aide d’une balise spécifique avec deux valeurs différentes
<a name="security_iam_id-based-policy-examples-grant-permissions-tags"></a>

Vous pouvez utiliser des conditions dans votre stratégie basée sur l’identité pour contrôler l’accès aux ressources Aurora en fonction des balises. La politique suivante accorde l’autorisation d’exécuter l’opération d’API `CreateDBSnapshot` sur les instances de base de données avec la balise `stage` définie sur `development` ou `test`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowAnySnapshotName",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:snapshot:*"
      },
      {
         "Sid":"AllowDevTestToCreateSnapshot",
         "Effect":"Allow",
         "Action":[
            "rds:CreateDBSnapshot"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
                "rds:db-tag/stage":[
                  "development",
                  "test"
               ]
            }
         }
      }
   ]
}
```

------

La politique suivante accorde l’autorisation d’exécuter l’opération d’API `ModifyDBInstance` sur les instances de base de données avec la balise `stage` définie sur `development` ou `test`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowChangingParameterOptionSecurityGroups",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
         ],
         "Resource": [
            "arn:aws:rds:*:123456789012:pg:*",
            "arn:aws:rds:*:123456789012:secgrp:*",
            "arn:aws:rds:*:123456789012:og:*"
         ]
      },
      {
         "Sid":"AllowDevTestToModifyInstance",
         "Effect":"Allow",
         "Action":[
            "rds:ModifyDBInstance"
         ],
         "Resource":"arn:aws:rds:*:123456789012:db:*",
         "Condition":{
            "StringEquals":{
                "rds:db-tag/stage":[
                  "development",
                  "test"
               ]
            }
         }
      }
   ]
}
```

------

## Empêcher un utilisateur de supprimer une instance de base de données
<a name="IAMPolicyExamples-RDS-prevent-db-deletion"></a>

La politique d’autorisation suivante accorde des autorisations empêchant un utilisateur de supprimer une instance de base de données spécifique. Par exemple, il est possible de refuser la capacité à supprimer vos instances de base de données de production à un utilisateur quelconque qui n’est pas un administrateur.

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

****  

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

------

## Refuser tout accès à une ressource
<a name="IAMPolicyExamples-RDS-deny-all-access"></a>

Vous pouvez refuser explicitement l’accès à une ressource. Les politiques de refus ont priorité sur les politiques d’autorisation. La politique suivante refuse explicitement à un utilisateur la possibilité de gérer une ressource :

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Deny",
         "Action": "rds:*",
         "Resource": "arn:aws:rds:us-east-1:123456789012:db:mydb"
      }
   ]
}
```

------