Skip to main content

An AWS CDK Construct that enforces encryption on an S3 bucket

Project description

A CDK L3 Construct for a Secure Bucket

This is an AWS CDK L3 Construct used to demonstrate the development and publishing process with the AWS CDK.

Please refer to the blog post here for more information.

Usage

Just import and use it.

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
import aws_cdk.core as cdk
from secure_bucket import SecureBucket

class SandboxCdkStack(cdk.Stack):
    def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None):
        super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags)

        SecureBucket(self, "myBucket")

Encryption options

This is just a wrapper around an S3 Bucket and the props are shared.

However, you cannot supply an UNENCRYPTED option for the encryption property. If you do, or don't set it at all, it will use the BucketEncryption.KMS_MANAGED value by default.

Integration Test

If you want to see full usage, you can run

$ cdk synth

to produce a basic stack with one SecureBucket resource

L2 Construct - Inheritance vs Composition

This construct is a wrapper around a standard L2 Bucket. However, because it wraps it, you can't just use it in all the same places you could use a standard L2 bucket. You have to pass around the public field .bucket from the construct. This was done as it's more representative of the types of constructs I expect people to build (composed of multiple L2s). However, if you were to actually want to use this construct in a production environment you'd probably use the inheritance model instead. Checkout the feature/inheritance branch for that version.

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mbonig.secure-bucket-1.0.8.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

mbonig.secure_bucket-1.0.8-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file mbonig.secure-bucket-1.0.8.tar.gz.

File metadata

  • Download URL: mbonig.secure-bucket-1.0.8.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for mbonig.secure-bucket-1.0.8.tar.gz
Algorithm Hash digest
SHA256 5c42740360465e5b29b80d9c23bd284c059755d02c8d72e3cc5b0ff9a46f968b
MD5 3c85865a128d3c2114fe9f024b027244
BLAKE2b-256 6bfd8d336600fdb6927b5070ec9687b27b55a9ec2d7ecab0a3ccfba3d29e485c

See more details on using hashes here.

File details

Details for the file mbonig.secure_bucket-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: mbonig.secure_bucket-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.5

File hashes

Hashes for mbonig.secure_bucket-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 74924177ae955f49d064db8a5a53fc904bca3a9c356340f5d563b50ec0963705
MD5 9dd8bdc8516fa97e7b49b6a647ac9783
BLAKE2b-256 87b333030c877f9604b6dcb2e59cbb7f25547ab1984a22a004dae9c5f033f50f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page