Interface CfnBucketPolicyProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnBucketPolicyProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-12-06T14:43:26.435Z") @Stability(Stable) public interface CfnBucketPolicyProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnBucketPolicy.

Example:

 String bucketName = "amzn-s3-demo-bucket";
 Bucket accessLogsBucket = Bucket.Builder.create(this, "AccessLogsBucket")
         .objectOwnership(ObjectOwnership.BUCKET_OWNER_ENFORCED)
         .bucketName(bucketName)
         .build();
 // Creating a bucket policy using L1
 CfnBucketPolicy bucketPolicy = CfnBucketPolicy.Builder.create(this, "BucketPolicy")
         .bucket(bucketName)
         .policyDocument(Map.of(
                 "Statement", List.of(Map.of(
                         "Action", "s3:*",
                         "Effect", "Deny",
                         "Principal", Map.of(
                                 "AWS", "*"),
                         "Resource", List.of(accessLogsBucket.getBucketArn(), String.format("%s/*", accessLogsBucket.getBucketArn())))),
                 "Version", "2012-10-17"))
         .build();
 // 'serverAccessLogsBucket' will create a new L2 bucket policy
 // to allow log delivery and overwrite the L1 bucket policy.
 Bucket bucket = Bucket.Builder.create(this, "MyBucket")
         .serverAccessLogsBucket(accessLogsBucket)
         .serverAccessLogsPrefix("logs")
         .build();
 

See Also: