# BlockPublicAccess

- Source: [`aws-s3/lib/bucket.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-s3/lib/bucket.ts#L1179)
- Type last changed: v2.196.0 · 16 May 2025

## 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,
});
```

## Initializer

```ts
new BlockPublicAccess(options: BlockPublicAccessOptions)
```

## Properties

- `BLOCK_ACLS`: [BlockPublicAccess](/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BlockPublicAccess.html) (static) — Use `BLOCK_ACLS_ONLY` instead.

- `BLOCK_ACLS_ONLY`: [BlockPublicAccess](/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BlockPublicAccess.html) (static) — Use this option if you want to only block the ACLs, using this will set blockPublicPolicy and restrictPublicBuckets to false.

- `BLOCK_ALL`: [BlockPublicAccess](/cdk/api/v2/docs/aws-cdk-lib.aws_s3.BlockPublicAccess.html) (static) — 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.

- `blockPublicAcls`: boolean

- `blockPublicPolicy`: boolean

- `ignorePublicAcls`: boolean

- `restrictPublicBuckets`: boolean
