Retrieves the policy for a specified bucket.

C# |
GetBucketPolicyResponse GetBucketPolicy( GetBucketPolicyRequest request )

- request (GetBucketPolicyRequest)
- The GetBucketPolicyRequest that defines the parameters of the operation.

Returns a GetBucketPolicyResponse from S3.

Only the owner of the bucket can retrieve the policy. If no policy has been set for the bucket, then an error will be thrown.
Bucket policies provide access control management at the bucket level for both the bucket resource and contained object resources. Only one policy can be specified per-bucket.
For more information on forming bucket polices, see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/

This example shows how to Get, Put and Delete bucket policies.

// Create a client AmazonS3Client client = new AmazonS3Client(); // Put sample bucket policy (overwrite an existing policy) string newPolicy = @"{ ""Statement"":[{ ""Sid"":""BasicPerms"", ""Effect"":""Allow"", ""Principal"": { ""AWS"": ""*"" }, ""Action"":[""s3:PutObject"",""s3:GetObject""], ""Resource"":[""arn:aws:s3:::samplebucketname/*""] }]}"; PutBucketPolicyRequest putRequest = new PutBucketPolicyRequest { BucketName = "SampleBucket", Policy = newPolicy }; client.PutBucketPolicy(putRequest); // Retrieve current policy GetBucketPolicyRequest getRequest = new GetBucketPolicyRequest { BucketName = "SampleBucket" }; string policy = client.GetBucketPolicy(getRequest).Policy; Console.WriteLine(policy); Debug.Assert(policy.Contains("BasicPerms")); // Delete current policy DeleteBucketPolicyRequest deleteRequest = new DeleteBucketPolicyRequest { BucketName = "SampleBucket" }; client.DeleteBucketPolicy(deleteRequest); // Retrieve current policy and verify that it is null policy = client.GetBucketPolicy(getRequest).Policy; Debug.Assert(policy == null);*/

Exception | Condition |
---|---|
ArgumentNullException | |
WebException | |
AmazonS3Exception |