Skip to content

yvthepief/secure_bucket_construct

Repository files navigation

npm version release

Secure Bucket Construcs

Blog: https://yvovanzee.nl/secure-s3-bucket-construct-with-cdk-version-2

This Secure Bucket construcs extends the S3 Bucket construct. When using this construct, you will create a S3 bucket with default security best practises enabled. These are:

  • Block public access
  • Enabled versioning
  • Enable enforce SSL to connect to bucket
  • Enabled Bucket access logging
  • Encryption of the bucket with a customer managed KMS key with enabled key rotation and trusted account identities.

These best practises are enforced. When creating a SecureBucket with for example versioning disabled, it will be overwritten to enabled.

Usage

install package

npm install @enterprise_secure_bucket

Import the secure bucket construct in your code.

// Import necessary packages
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { SecureBucket } from 'enterprise-secure-bucket';

export class SecureBucketStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    new SecureBucket(this, 'myEnterpriseLevelSecureBucket',{});
  }
}