BlockPublicAccess Class
Example
ts
import { RemovalPolicy } from 'aws-cdk-lib';
new s3.Bucket(scope, 'Bucket', {
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
encryption: s3.BucketEncryption.S3_MANAGED,
enforceSSL: true,
versioned: true,
removalPolicy: RemovalPolicy.RETAIN,
});
python
from aws_cdk import RemovalPolicy
s3.Bucket(scope, "Bucket",
block_public_access=s3.BlockPublicAccess.BLOCK_ALL,
encryption=s3.BucketEncryption.S3_MANAGED,
enforce_ssl=True,
versioned=True,
removal_policy=RemovalPolicy.RETAIN
)
java
import software.amazon.awscdk.RemovalPolicy;
Bucket.Builder.create(scope, "Bucket")
.blockPublicAccess(BlockPublicAccess.BLOCK_ALL)
.encryption(BucketEncryption.S3_MANAGED)
.enforceSSL(true)
.versioned(true)
.removalPolicy(RemovalPolicy.RETAIN)
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK;
new Bucket(scope, "Bucket", new BucketProps {
BlockPublicAccess = BlockPublicAccess.BLOCK_ALL,
Encryption = BucketEncryption.S3_MANAGED,
EnforceSSL = true,
Versioned = true,
RemovalPolicy = RemovalPolicy.RETAIN
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"
s3.NewBucket(*scope, jsii.String("Bucket"), &BucketProps{
BlockPublicAccess: s3.BlockPublicAccess_BLOCK_ALL(),
Encryption: s3.BucketEncryption_S3_MANAGED,
EnforceSSL: jsii.Boolean(true),
Versioned: jsii.Boolean(true),
RemovalPolicy: awscdk.RemovalPolicy_RETAIN,
})
Initializer
ts
new BlockPublicAccess(options: BlockPublicAccessOptions)
python
BlockPublicAccess(options: BlockPublicAccessOptions)
java
new BlockPublicAccess(BlockPublicAccessOptions options)
csharp
new BlockPublicAccess(BlockPublicAccessOptions options)
go
NewBlockPublicAccess(Options BlockPublicAccessOptions)
Properties
BLOCK_ACLSBlockPublicAccessblock_aclsBlockPublicAccessBLOCK_ACLSBlockPublicAccessBLOCK_ACLSBlockPublicAccessBLOCK_ACLSBlockPublicAccessrequiredstaticdeprecated#Use `BLOCK_ACLS_ONLY` instead.
BLOCK_ACLS_ONLYBlockPublicAccessblock_acls_onlyBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessrequiredstatic#Use this option if you want to only block the ACLs, using this will set blockPublicPolicy and restrictPublicBuckets to false.
BLOCK_ALLBlockPublicAccessblock_allBlockPublicAccessBLOCK_ALLBlockPublicAccessBLOCK_ALLBlockPublicAccessBLOCK_ALLBlockPublicAccessrequiredstatic#Use this option if you want to ensure every public access method is blocked.
However keep in mind that this is the default state of an S3 bucket, and leaving blockPublicAccess undefined would also work.
blockPublicAclsbooleanblock_public_aclsboolblockPublicAclsBooleanBlockPublicAclsboolBlockPublicAcls*bool#blockPublicPolicybooleanblock_public_policyboolblockPublicPolicyBooleanBlockPublicPolicyboolBlockPublicPolicy*bool#ignorePublicAclsbooleanignore_public_aclsboolignorePublicAclsBooleanIgnorePublicAclsboolIgnorePublicAcls*bool#restrictPublicBucketsbooleanrestrict_public_bucketsboolrestrictPublicBucketsBooleanRestrictPublicBucketsboolRestrictPublicBuckets*bool#