Gestion des politiques des compartiments de répertoires - Amazon Simple Storage Service

Gestion des politiques des compartiments de répertoires

Vous pouvez ajouter, supprimer, mettre à jour et consulter les politiques des compartiments de répertoires Amazon S3 à l’aide de la console Amazon S3, des kits AWS SDK et de l’AWS. Pour plus d’informations, consultez les rubriques suivantes. Pour plus d’informations sur les actions AWS Identity and Access Management (IAM) prises en charge, consultez Autorisation des opérations d’API de point de terminaison régional avec IAM. Pour voir des exemples de stratégies de compartiment pour les compartiments de répertoires, consultez Exemples de stratégies de compartiment pour les compartiments de répertoires.

Ajout d’une stratégie de compartiment

Pour ajouter une stratégie de compartiment à un compartiment de répertoires, vous pouvez utiliser la console Amazon S3, les kits AWS SDK ou l’AWS CLI.

Pour créer ou modifier une stratégie de compartiment
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l’adresse https://console.aws.amazon.com/s3/.

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

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

  4. Choisissez l’onglet Permissions (Autorisations).

  5. Sous Stratégie de compartiment, choisissez Modifier. La page Edit bucket policy (Modifier la stratégie de compartiment) s’affiche.

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

    Si vous choisissez Policy generator (Générateur de stratégies), le Générateur de stratégies AWS s’ouvre dans une nouvelle fenêtre.

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

    1. Sur la page AWSPolicy Generator (Générateur de stratégies), pour Select Type of Policy (Sélectionner le type de stratégie), sélectionnez S3 Bucket Policy (Stratégie de compartiment S3).

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

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

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

  7. Dans la boîte de dialogue Policy (Stratégie), modifiez la stratégie existante ou collez la stratégie de compartiment à partir du générateur de stratégies AWS. 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 stratégies de compartiment sont limitées à une taille de 20 Ko.

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

SDK for Java 2.x

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); } }

Cet exemple montre comment créer une stratégie de compartiment à un compartiment de répertoires à l’aide de l’AWS CLI. Pour utiliser cette commande, remplacez les espaces réservés à la saisie utilisateur par vos propres informations.

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

bucket_policy.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 dans l’AWS Command Line Interface.

Affichage d’une stratégie de compartiment

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

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 cette commande, remplacez les espaces réservés à la saisie utilisateur 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 dans l’AWS Command Line Interface.

Suppression d’une stratégie de compartiment

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

SDK for Java 2.x

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); }

Cet exemple montre comment supprimer une stratégie de compartiment pour un compartiment de répertoires à l’aide de l’AWS CLI. Pour utiliser cette commande, remplacez les espaces réservés à la saisie utilisateur 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 dans l’AWS Command Line Interface.