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.
Utilisation des politiques relatives aux compartiments Amazon S3 avec la AWS SDK for PHP version 3
Vous pouvez utiliser une politique de compartiment pour accorder des autorisations à vos ressources Amazon S3. Pour en savoir plus, consultez Utilisation de stratégies de compartiment et de stratégies utilisateur.
L’exemple suivant indique comment :
-
Renvoie la politique pour un compartiment spécifié à l'aide de GetBucketPolicy.
-
Remplacez une politique sur un bucket à l'aide de PutBucketPolicy.
-
Supprimez une politique d'un bucket à l'aide de DeleteBucketPolicy.
Tous les exemples de code pour le AWS SDK for PHP sont disponibles ici GitHub
Informations d’identification
Avant d'exécuter l'exemple de code, configurez vos AWS informations d'identification, comme décrit dansInformations d'identification. Importez ensuite leAWS SDK for PHP, comme décrit dansUtilisation de base.
Obtenir, supprimer et remplacer une politique sur un bucket
Importations
require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;
Exemple de code
$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $bucket = 'my-s3-bucket'; // Get the policy of a specific bucket try { $resp = $s3Client->getBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in receiving bucket policy:\n"; echo $resp->get('Policy'); echo "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Deletes the policy from the bucket try { $resp = $s3Client->deleteBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in deleting policy of bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Replaces a policy on the bucket try { $resp = $s3Client->putBucketPolicy([ 'Bucket' => $bucket, 'Policy' => 'foo policy', ]); echo "Succeed in put a policy on bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; }