Retrieves the policy for a specified bucket.
Declaration Syntax
C# |
GetBucketPolicyResponse GetBucketPolicy( GetBucketPolicyRequest request )
Parameters
- request (GetBucketPolicyRequest)
- The GetBucketPolicyRequest that defines the parameters of the operation.
Return Value
Returns a GetBucketPolicyResponse from S3.
Remarks
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/
Examples
This example shows how to Get, Put and Delete bucket policies.
CopyBucketPolicy samples
// 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);*/
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | |
WebException | |
AmazonS3Exception |