Skip to main content

Construct to create a private asset S3 bucket. A cognito token can be used to allow access to he S3 asset.

Project description

NPM version PyPI version .NET version Release

cdk-private-asset-bucket

A construct to create a private asset S3 bucket. Cognito will be used for token validation with Lambda@Edge.

Architecture

Diagram

Test PrivateBucketAsset

If you forged / cloned that repo you can test directly from here. Don't forget to init with:

yarn install

Create a test cdk stack with one of the following:

yarn cdk deploy
yarn cdk deploy --watch
yarn cdk deploy --require-approval never
  • Upload a picture named like pic.png to the private asset bucket
  • Create a user pool user and get / save the token:
USER_POOL_ID=us-east-1_0Aw1oPvD6
CLIENT_ID=3eqcgvghjbv4d5rv32hopmadu8
USER_NAME=martindev
USER_PASSWORD=M@rtindev1
REGION=us-east-1
CFD=d1f2bfdek3mzi7.cloudfront.net

aws cognito-idp admin-create-user --user-pool-id $USER_POOL_ID --username $USER_NAME --region $REGION
aws cognito-idp admin-set-user-password --user-pool-id $USER_POOL_ID --username $USER_NAME --password $USER_PASSWORD  --permanent --region $REGION
ACCESS_TOKEN=$(aws cognito-idp initiate-auth --auth-flow USER_PASSWORD_AUTH --client-id $CLIENT_ID --auth-parameters USERNAME=$USER_NAME,PASSWORD=$USER_PASSWORD  --region $REGION | jq -r '.AuthenticationResult.AccessToken')

echo "curl --location --request GET \"https://$CFD/pic.png\" --cookie \"Cookie: token=$ACCESS_TOKEN\""
  • You can use the curl for importing in Postman. but it looks like Postman can't import the cookie. So you need to set the cookie manually in Postman!
  • In Postman you should see your picture :)

Planned Features

  • Support S3 bucket import ootb.
  • Support custom authorizer

Thanks To

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

cdk-private-asset-bucket-1.143.2.tar.gz (9.4 MB view details)

Uploaded Source

Built Distribution

File details

Details for the file cdk-private-asset-bucket-1.143.2.tar.gz.

File metadata

  • Download URL: cdk-private-asset-bucket-1.143.2.tar.gz
  • Upload date:
  • Size: 9.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for cdk-private-asset-bucket-1.143.2.tar.gz
Algorithm Hash digest
SHA256 66a49be3cd2487f866bb46a1effd32afdf8ae1b83314e395be67cf5439001e21
MD5 9cec0cf3b7bd7e4856cba7a0373eadc8
BLAKE2b-256 a3f2008560d612d5008c0d48841d86d8c65df3dcacbb88b773ec85bb70835f09

See more details on using hashes here.

File details

Details for the file cdk_private_asset_bucket-1.143.2-py3-none-any.whl.

File metadata

  • Download URL: cdk_private_asset_bucket-1.143.2-py3-none-any.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for cdk_private_asset_bucket-1.143.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1471269dec1b5221ee5474ceb43e88318e9bc6b5acde0096a23d70402bfc21b8
MD5 c1de205f9b6ad0b94592f725da04c43f
BLAKE2b-256 c4ac1e37ea5f9db24c03516c670c392c13d832c3181cefe4a8cd66f38755d9fa

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