Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.
Namespace: Amazon.S3
Assembly: AWSSDK.dll
Version: 2.0.0.3
Syntax
public virtual PutBucketPolicyResponse PutBucketPolicy( PutBucketPolicyRequest request )
Parameters
- request
-
Type: Amazon.S3.Model.PutBucketPolicyRequest
Examples
This example shows how to Get, Put and Delete bucket policies.
BucketPolicy 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);
Version Information
.NET Framework:
Supported in: 4.5, 4.0, 3.5