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_ACLSBlockPublicAccessstaticdeprecated#Use `BLOCK_ACLS_ONLY` instead.
BLOCK_ACLS_ONLYBlockPublicAccessblock_acls_onlyBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessBLOCK_ACLS_ONLYBlockPublicAccessstatic#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_ALLBlockPublicAccessstatic#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.
blockPublicAclsmay be undefinedbooleanblock_public_aclsmay be undefinedboolblockPublicAclsmay be undefinedBooleanBlockPublicAclsmay be undefinedboolBlockPublicAclsmay be undefined*bool#blockPublicPolicymay be undefinedbooleanblock_public_policymay be undefinedboolblockPublicPolicymay be undefinedBooleanBlockPublicPolicymay be undefinedboolBlockPublicPolicymay be undefined*bool#ignorePublicAclsmay be undefinedbooleanignore_public_aclsmay be undefinedboolignorePublicAclsmay be undefinedBooleanIgnorePublicAclsmay be undefinedboolIgnorePublicAclsmay be undefined*bool#restrictPublicBucketsmay be undefinedbooleanrestrict_public_bucketsmay be undefinedboolrestrictPublicBucketsmay be undefinedBooleanRestrictPublicBucketsmay be undefinedboolRestrictPublicBucketsmay be undefined*bool#