Class CfnBucketPolicy

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-12T19:34:09.211Z") @Stability(Stable) public class CfnBucketPolicy extends CfnResource implements IInspectable
Applies an Amazon S3 bucket policy to an Amazon S3 directory bucket.

  • Permissions - If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must both have the required permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. For more information about directory bucket policies and permissions, see AWS Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide .

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets, the root principal in a bucket owner's AWS account can perform the GetBucketPolicy , PutBucketPolicy , and DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the root principal's access. Bucket owner root principals can only be blocked from performing these API actions by VPC endpoint policies and AWS Organizations policies.

The required permissions for CloudFormation to use are based on the operations that are performed on the stack.

  • Create
  • s3express:GetBucketPolicy
  • s3express:PutBucketPolicy
  • Read
  • s3express:GetBucketPolicy
  • Update
  • s3express:GetBucketPolicy
  • s3express:PutBucketPolicy
  • Delete
  • s3express:GetBucketPolicy
  • s3express:DeleteBucketPolicy
  • List
  • s3express:GetBucketPolicy
  • s3express:ListAllMyDirectoryBuckets

For more information about example bucket policies, see Example bucket policies for S3 Express One Zone in the Amazon S3 User Guide .

The following operations are related to AWS::S3Express::BucketPolicy :

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.s3express.*;
 Object policyDocument;
 CfnBucketPolicy cfnBucketPolicy = CfnBucketPolicy.Builder.create(this, "MyCfnBucketPolicy")
         .bucket("bucket")
         .policyDocument(policyDocument)
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnBucketPolicy

      protected CfnBucketPolicy(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnBucketPolicy

      protected CfnBucketPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnBucketPolicy

      @Stability(Stable) public CfnBucketPolicy(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnBucketPolicyProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getBucket

      @Stability(Stable) @NotNull public String getBucket()
      The name of the S3 directory bucket to which the policy applies.
    • setBucket

      @Stability(Stable) public void setBucket(@NotNull String value)
      The name of the S3 directory bucket to which the policy applies.
    • getPolicyDocument

      @Stability(Stable) @NotNull public Object getPolicyDocument()
      A policy document containing permissions to add to the specified bucket.
    • setPolicyDocument

      @Stability(Stable) public void setPolicyDocument(@NotNull Object value)
      A policy document containing permissions to add to the specified bucket.