

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.

# Gestion des politiques des compartiments de répertoires
<a name="directory-bucket-bucket-policy"></a>

Vous pouvez ajouter, supprimer, mettre à jour et consulter les politiques de compartiment pour les compartiments d'annuaire Amazon S3 à l'aide de la console Amazon S3, de la CLI AWS SDKs et de la AWS CLI. Pour plus d’informations, consultez les rubriques suivantes. Pour plus d'informations sur les actions prises en charge Gestion des identités et des accès AWS (IAM), consultez[Autorisation des opérations d’API de point de terminaison régional avec IAM](s3-express-security-iam.md). Pour voir des exemples de politiques de compartiment pour les compartiments de répertoires, consultez [Exemples de politiques de compartiment pour les compartiments de répertoires](s3-express-security-iam-example-bucket-policies.md).

**Topics**
+ [Ajout d’une politique de compartiment](#directory-bucket-bucket-policy-add)
+ [Affichage d’une stratégie de compartiment](#directory-bucket-bucket-policy-view)
+ [Suppression d’une stratégie de compartiment](#directory-bucket-bucket-policy-delete)

## Ajout d’une politique de compartiment
<a name="directory-bucket-bucket-policy-add"></a>

Pour ajouter une politique de compartiment à un compartiment de répertoire, vous pouvez utiliser la console Amazon S3, le AWS SDKs, ou le AWS CLI.

### Utilisation de la console S3
<a name="directory-bucket-bucket-policy-add-console"></a>

**Pour créer ou modifier une politique de compartiment**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments de répertoires**.

1. Dans la liste **Compartiments de répertoires**, choisissez le nom du compartiment auquel vous souhaitez ajouter une stratégie.

1. Sélectionnez l’onglet **Autorisations**.

1. Sous **Politique de compartiment**, choisissez **Modifier**. La page **Edit bucket policy** (Modifier la politique de compartiment) s'affiche.

1. Pour générer une politique automatiquement, choisissez **Générateur de stratégies**.

   Si vous choisissez le **générateur** de AWS politiques, celui-ci s'ouvre dans une nouvelle fenêtre.

   Si vous ne souhaitez pas utiliser le générateur de AWS politiques, vous pouvez ajouter ou modifier des instructions JSON dans la section **Politique**.

   1. Sur la page **AWS Policy Generator** (Générateur de politiques), pour **Select Type of Policy** (Sélectionner le type de politique), sélectionnez **S3 Bucket Policy** (Politique de compartiment S3).

   1. Ajoutez une instruction en saisissant les informations dans les champs fournis, puis choisissez **Add Statement (Ajouter une instruction)**. Répétez l’opération pour autant d’instructions que vous souhaitez ajouter. Pour plus d’informations sur ces champs, consultez la [Référence des éléments de politique IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*. 
**Note**  
Pour plus de commodité, la page **Modifier la stratégie de compartiment** affiche l’**ARN (Amazon Resource Name)** du compartiment actuel au-dessus du champ de texte **Stratégie**. Vous pouvez copier cet ARN pour l’utiliser dans les instructions de la page **AWS Policy Generator** (Générateur de politique). 

   1. Une fois que vous avez fini d’ajouter des instructions, choisissez **Generate Policy (Générer une stratégie)**.

   1. Copiez le texte de stratégie généré, choisissez **Fermer** et revenez à la page **Modifier la stratégie de compartiment** dans la console Amazon S3.

1. Dans la zone **Politique**, modifiez la politique existante ou collez la politique de compartiment depuis le générateur de AWS politiques. Veillez à résoudre les avertissements de sécurité, les erreurs, les avertissements généraux et les suggestions avant d’enregistrer votre stratégie.
**Note**  
Les politiques de compartiment sont limitées à une taille de 20 Ko.

1. Choisissez **Save changes** (Enregistrer les modifications), ce qui vous ramène à l’onglet **Permissions** (Autorisations). 

### À l'aide du AWS SDKs
<a name="directory-bucket-bucket-policy-add-sdks"></a>

------
#### [ SDK for Java 2.x ]

**Example**  
`PutBucketPolicy` AWS SDK for Java 2.x   

```
public static void setBucketPolicy(S3Client s3Client, String bucketName, String policyText) {
     
       //sample policy text
       /**
        * policy_statement = {
         *         'Version': '2012-10-17',
         *         'Statement': [
         *             {
         *                 'Sid': 'AdminPolicy',
         *                 'Effect': 'Allow',
         *                 'Principal': {
         *                     "AWS": "111122223333"
         *                 },
         *                 'Action': 's3express:*',
         *                 'Resource': 'arn:aws:s3express:region:111122223333:bucket/bucket-base-name--zone-id--x-s3'
         *             }
         *         ]
         *     }
         */
         System.out.println("Setting policy:");
         System.out.println("----");
         System.out.println(policyText);
         System.out.println("----");
         System.out.format("On Amazon S3 bucket: \"%s\"\n", bucketName);
         
         try {
             PutBucketPolicyRequest policyReq = PutBucketPolicyRequest.builder()
                     .bucket(bucketName)
                     .policy(policyText)
                     .build();
             s3Client.putBucketPolicy(policyReq);
             System.out.println("Done!");
         }    
         
         catch (S3Exception e) {
             System.err.println(e.awsErrorDetails().errorMessage());
             System.exit(1);
         }
    }
```

------

### En utilisant le AWS CLI
<a name="directory-bucket-delete-cli"></a>

Cet exemple montre comment créer une stratégie de compartiment à un compartiment de répertoires à l’aide de l’ AWS CLI. Pour utiliser la commande, remplacez les *user input placeholders* par vos propres informations.

```
aws s3api put-bucket-policy --bucket bucket-base-name--zone-id--x-s3 --policy file://bucket_policy.json
```

bucket\$1policy.json :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AdminPolicy",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": "s3express*",
            "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3"
        }
    ]
}
```

------

Pour plus d’informations, consultez [put-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-policy.html) dans le AWS Command Line Interface.

## Affichage d’une stratégie de compartiment
<a name="directory-bucket-bucket-policy-view"></a>

Pour supprimer une politique pour un compartiment de répertoires, reportez-vous aux exemples suivants.

### En utilisant le AWS CLI
<a name="directory-bucket-bucket-policy-view-cli"></a>

Cet exemple montre comment afficher la stratégie de compartiment attachée à un compartiment de répertoires à l’aide de l’ AWS CLI. Pour utiliser la commande, remplacez les *user input placeholders* par vos propres informations.

```
aws s3api get-bucket-policy --bucket bucket-base-name--zone-id--x-s3
```

Pour plus d’informations, consultez [get-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-policy.html) dans le AWS Command Line Interface.

## Suppression d’une stratégie de compartiment
<a name="directory-bucket-bucket-policy-delete"></a>

Pour supprimer une politique pour un compartiment de répertoires, utilisez les exemples suivants.

### À l'aide du AWS SDKs
<a name="directory-bucket-bucket-policy-delete-sdks"></a>

------
#### [ SDK for Java 2.x ]

**Example**  
`DeleteBucketPolicy` AWS SDK for Java 2.x   

```
public static void deleteBucketPolicy(S3Client s3Client, String bucketName) {
      try {
          DeleteBucketPolicyRequest deleteBucketPolicyRequest = DeleteBucketPolicyRequest
                  .builder()
                  .bucket(bucketName)
                  .build()
          s3Client.deleteBucketPolicy(deleteBucketPolicyRequest);
          System.out.println("Successfully deleted bucket policy");
      }
      
      catch (S3Exception e) {
          System.err.println(e.awsErrorDetails().errorMessage());
          System.exit(1);
      }
```

------

### En utilisant le AWS CLI
<a name="directory-bucket-delete-cli"></a>

Cet exemple montre comment supprimer une stratégie de compartiment pour un compartiment de répertoires à l’aide de l’ AWS CLI. Pour utiliser la commande, remplacez les *user input placeholders* par vos propres informations.

```
aws s3api delete-bucket-policy --bucket bucket-base-name--zone-id--x-s3
```

Pour plus d’informations, consultez [delete-bucket-policy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/delete-bucket-policy.html) dans le AWS Command Line Interface.