AWS SDK for .NET Documentation
GetBucketPolicy Method (request)
AmazonAmazon.S3AmazonS3ClientGetBucketPolicy(GetBucketPolicyRequest) Did this page help you?   Yes   No    Tell us about it...
Retrieves the policy for a specified bucket.
Declaration Syntax
C#
public 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

Assembly: AWSSDK (Module: AWSSDK) Version: 1.5.60.0 (1.5.60.0)