@aws-solutions-constructs/aws-cloudfront-s3
Version:
CDK Constructs for AWS Cloudfront to AWS S3 integration.
784 lines • 34.5 kB
JSON
{
"version": "tree-0.1",
"tree": {
"id": "App",
"path": "",
"children": {
"cfts3-no-cloudfront-s3-access-logs": {
"id": "cfts3-no-cloudfront-s3-access-logs",
"path": "cfts3-no-cloudfront-s3-access-logs",
"children": {
"test-cloudfront-s3": {
"id": "test-cloudfront-s3",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3",
"children": {
"S3Bucket": {
"id": "S3Bucket",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket",
"children": {
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::S3::Bucket",
"aws:cdk:cloudformation:props": {
"bucketEncryption": {
"serverSideEncryptionConfiguration": [
{
"serverSideEncryptionByDefault": {
"sseAlgorithm": "AES256"
}
}
]
},
"lifecycleConfiguration": {
"rules": [
{
"noncurrentVersionTransitions": [
{
"storageClass": "GLACIER",
"transitionInDays": 90
}
],
"status": "Enabled"
}
]
},
"publicAccessBlockConfiguration": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
},
"tags": [
{
"key": "aws-cdk:auto-delete-objects",
"value": "true"
}
],
"versioningConfiguration": {
"status": "Enabled"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.CfnBucket",
"version": "2.179.0"
}
},
"Policy": {
"id": "Policy",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket/Policy",
"children": {
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket/Policy/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
"aws:cdk:cloudformation:props": {
"bucket": {
"Ref": "testcloudfronts3S3BucketE0C5F76E"
},
"policyDocument": {
"Statement": [
{
"Action": "s3:*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
},
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Resource": [
{
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"Arn"
]
},
{
"Fn::Join": [
"",
[
{
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"Arn"
]
},
"/*"
]
]
}
]
},
{
"Action": [
"s3:DeleteObject*",
"s3:GetBucket*",
"s3:List*",
"s3:PutBucketPolicy"
],
"Effect": "Allow",
"Principal": {
"AWS": {
"Fn::GetAtt": [
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
"Arn"
]
}
},
"Resource": [
{
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"Arn"
]
},
{
"Fn::Join": [
"",
[
{
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"Arn"
]
},
"/*"
]
]
}
]
},
{
"Action": "s3:GetObject",
"Condition": {
"StringEquals": {
"AWS:SourceArn": {
"Fn::Join": [
"",
[
"arn:",
{
"Ref": "AWS::Partition"
},
":cloudfront::",
{
"Ref": "AWS::AccountId"
},
":distribution/",
{
"Ref": "testcloudfronts3CloudFrontDistribution0565DEE8"
}
]
]
}
}
},
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Resource": {
"Fn::Join": [
"",
[
{
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"Arn"
]
},
"/*"
]
]
}
}
],
"Version": "2012-10-17"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
"version": "2.179.0",
"metadata": [
{
"bucket": "*"
}
]
}
},
"AutoDeleteObjectsCustomResource": {
"id": "AutoDeleteObjectsCustomResource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket/AutoDeleteObjectsCustomResource",
"children": {
"Default": {
"id": "Default",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/S3Bucket/AutoDeleteObjectsCustomResource/Default",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnResource",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.CustomResource",
"version": "2.179.0",
"metadata": [
"*"
]
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.Bucket",
"version": "2.179.0",
"metadata": [
{
"encryption": "S3_MANAGED",
"versioned": true,
"blockPublicAccess": "*",
"removalPolicy": "destroy",
"enforceSSL": true,
"lifecycleRules": [
{
"noncurrentVersionTransitions": [
{
"storageClass": "*"
}
]
}
],
"autoDeleteObjects": true
},
{
"addLifecycleRule": [
{
"noncurrentVersionTransitions": [
{
"storageClass": "*"
}
]
},
"*",
"*"
]
}
]
}
},
"SetHttpSecurityHeaders": {
"id": "SetHttpSecurityHeaders",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/SetHttpSecurityHeaders",
"children": {
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/SetHttpSecurityHeaders/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::CloudFront::Function",
"aws:cdk:cloudformation:props": {
"autoPublish": true,
"functionCode": "function handler(event) { var response = event.response; var headers = response.headers; headers['strict-transport-security'] = { value: 'max-age=63072000; includeSubdomains; preload'}; headers['content-security-policy'] = { value: \"default-src 'none'; img-src 'self'; script-src 'self'; style-src 'self'; object-src 'none'\"}; headers['x-content-type-options'] = { value: 'nosniff'}; headers['x-frame-options'] = {value: 'DENY'}; headers['x-xss-protection'] = {value: '1; mode=block'}; return response; }",
"functionConfig": {
"comment": "SetHttpSecurityHeadersc896d796f10191989f85dc3c04e0c09684d72fb250",
"runtime": "cloudfront-js-1.0"
},
"name": "SetHttpSecurityHeadersc896d796f10191989f85dc3c04e0c09684d72fb250"
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_cloudfront.CfnFunction",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_cloudfront.Function",
"version": "2.179.0",
"metadata": [
{
"functionName": "*",
"code": "*"
}
]
}
},
"CloudfrontLoggingBucket": {
"id": "CloudfrontLoggingBucket",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket",
"children": {
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::S3::Bucket",
"aws:cdk:cloudformation:props": {
"bucketEncryption": {
"serverSideEncryptionConfiguration": [
{
"serverSideEncryptionByDefault": {
"sseAlgorithm": "AES256"
}
}
]
},
"ownershipControls": {
"rules": [
{
"objectOwnership": "ObjectWriter"
}
]
},
"publicAccessBlockConfiguration": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
},
"tags": [
{
"key": "aws-cdk:auto-delete-objects",
"value": "true"
}
],
"versioningConfiguration": {
"status": "Enabled"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.CfnBucket",
"version": "2.179.0"
}
},
"Policy": {
"id": "Policy",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket/Policy",
"children": {
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket/Policy/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::S3::BucketPolicy",
"aws:cdk:cloudformation:props": {
"bucket": {
"Ref": "testcloudfronts3CloudfrontLoggingBucket985C0FE8"
},
"policyDocument": {
"Statement": [
{
"Action": "s3:*",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
},
"Effect": "Deny",
"Principal": {
"AWS": "*"
},
"Resource": [
{
"Fn::GetAtt": [
"testcloudfronts3CloudfrontLoggingBucket985C0FE8",
"Arn"
]
},
{
"Fn::Join": [
"",
[
{
"Fn::GetAtt": [
"testcloudfronts3CloudfrontLoggingBucket985C0FE8",
"Arn"
]
},
"/*"
]
]
}
]
},
{
"Action": [
"s3:DeleteObject*",
"s3:GetBucket*",
"s3:List*",
"s3:PutBucketPolicy"
],
"Effect": "Allow",
"Principal": {
"AWS": {
"Fn::GetAtt": [
"CustomS3AutoDeleteObjectsCustomResourceProviderRole3B1BD092",
"Arn"
]
}
},
"Resource": [
{
"Fn::GetAtt": [
"testcloudfronts3CloudfrontLoggingBucket985C0FE8",
"Arn"
]
},
{
"Fn::Join": [
"",
[
{
"Fn::GetAtt": [
"testcloudfronts3CloudfrontLoggingBucket985C0FE8",
"Arn"
]
},
"/*"
]
]
}
]
}
],
"Version": "2012-10-17"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.CfnBucketPolicy",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.BucketPolicy",
"version": "2.179.0",
"metadata": [
{
"bucket": "*"
}
]
}
},
"AutoDeleteObjectsCustomResource": {
"id": "AutoDeleteObjectsCustomResource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource",
"children": {
"Default": {
"id": "Default",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudfrontLoggingBucket/AutoDeleteObjectsCustomResource/Default",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnResource",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.CustomResource",
"version": "2.179.0",
"metadata": [
"*"
]
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_s3.Bucket",
"version": "2.179.0",
"metadata": [
{
"encryption": "S3_MANAGED",
"versioned": true,
"blockPublicAccess": "*",
"removalPolicy": "destroy",
"enforceSSL": true,
"autoDeleteObjects": true,
"objectOwnership": "ObjectWriter"
}
]
}
},
"CloudFrontOac": {
"id": "CloudFrontOac",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudFrontOac",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::CloudFront::OriginAccessControl",
"aws:cdk:cloudformation:props": {
"originAccessControlConfig": {
"name": {
"Fn::Join": [
"",
[
"aws-cloudfront-s3-testnt-s3-",
{
"Fn::Select": [
2,
{
"Fn::Split": [
"/",
{
"Ref": "AWS::StackId"
}
]
}
]
}
]
]
},
"originAccessControlOriginType": "s3",
"signingBehavior": "always",
"signingProtocol": "sigv4",
"description": "Origin access control provisioned by aws-cloudfront-s3"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_cloudfront.CfnOriginAccessControl",
"version": "2.179.0"
}
},
"CloudFrontDistribution": {
"id": "CloudFrontDistribution",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudFrontDistribution",
"children": {
"Origin1": {
"id": "Origin1",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudFrontDistribution/Origin1",
"constructInfo": {
"fqn": "constructs.Construct",
"version": "10.4.2"
}
},
"Resource": {
"id": "Resource",
"path": "cfts3-no-cloudfront-s3-access-logs/test-cloudfront-s3/CloudFrontDistribution/Resource",
"attributes": {
"aws:cdk:cloudformation:type": "AWS::CloudFront::Distribution",
"aws:cdk:cloudformation:props": {
"distributionConfig": {
"enabled": true,
"origins": [
{
"domainName": {
"Fn::GetAtt": [
"testcloudfronts3S3BucketE0C5F76E",
"RegionalDomainName"
]
},
"id": "cfts3nocloudfronts3accesslogstestcloudfronts3CloudFrontDistributionOrigin1D23B555C",
"s3OriginConfig": {
"originAccessIdentity": ""
}
}
],
"defaultCacheBehavior": {
"pathPattern": "*",
"targetOriginId": "cfts3nocloudfronts3accesslogstestcloudfronts3CloudFrontDistributionOrigin1D23B555C",
"cachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
"compress": true,
"viewerProtocolPolicy": "redirect-to-https",
"functionAssociations": [
{
"functionArn": {
"Fn::GetAtt": [
"testcloudfronts3SetHttpSecurityHeaders6C5A1E69",
"FunctionARN"
]
},
"eventType": "viewer-response"
}
]
},
"defaultRootObject": "index.html",
"httpVersion": "http2",
"ipv6Enabled": true,
"logging": {
"bucket": {
"Fn::GetAtt": [
"testcloudfronts3CloudfrontLoggingBucket985C0FE8",
"RegionalDomainName"
]
}
}
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
"version": "2.179.0",
"metadata": [
{
"defaultBehavior": {
"origin": "*",
"viewerProtocolPolicy": "redirect-to-https",
"functionAssociations": [
{
"eventType": "viewer-response",
"function": "*"
}
]
},
"enableLogging": true,
"logBucket": "*",
"defaultRootObject": "*"
}
]
}
}
},
"constructInfo": {
"fqn": "@aws-solutions-constructs/aws-cloudfront-s3.CloudFrontToS3",
"version": "2.79.1"
}
},
"LatestNodeRuntimeMap": {
"id": "LatestNodeRuntimeMap",
"path": "cfts3-no-cloudfront-s3-access-logs/LatestNodeRuntimeMap",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnMapping",
"version": "2.179.0"
}
},
"Custom::S3AutoDeleteObjectsCustomResourceProvider": {
"id": "Custom::S3AutoDeleteObjectsCustomResourceProvider",
"path": "cfts3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider",
"children": {
"Staging": {
"id": "Staging",
"path": "cfts3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Staging",
"constructInfo": {
"fqn": "aws-cdk-lib.AssetStaging",
"version": "2.179.0"
}
},
"Role": {
"id": "Role",
"path": "cfts3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Role",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnResource",
"version": "2.179.0"
}
},
"Handler": {
"id": "Handler",
"path": "cfts3-no-cloudfront-s3-access-logs/Custom::S3AutoDeleteObjectsCustomResourceProvider/Handler",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnResource",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.CustomResourceProviderBase",
"version": "2.179.0"
}
},
"Integ": {
"id": "Integ",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ",
"children": {
"DefaultTest": {
"id": "DefaultTest",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ/DefaultTest",
"children": {
"Default": {
"id": "Default",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ/DefaultTest/Default",
"constructInfo": {
"fqn": "constructs.Construct",
"version": "10.4.2"
}
},
"DeployAssert": {
"id": "DeployAssert",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert",
"children": {
"BootstrapVersion": {
"id": "BootstrapVersion",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert/BootstrapVersion",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnParameter",
"version": "2.179.0"
}
},
"CheckBootstrapVersion": {
"id": "CheckBootstrapVersion",
"path": "cfts3-no-cloudfront-s3-access-logs/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnRule",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.Stack",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
"version": "2.179.0-alpha.0"
}
}
},
"constructInfo": {
"fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
"version": "2.179.0-alpha.0"
}
},
"BootstrapVersion": {
"id": "BootstrapVersion",
"path": "cfts3-no-cloudfront-s3-access-logs/BootstrapVersion",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnParameter",
"version": "2.179.0"
}
},
"CheckBootstrapVersion": {
"id": "CheckBootstrapVersion",
"path": "cfts3-no-cloudfront-s3-access-logs/CheckBootstrapVersion",
"constructInfo": {
"fqn": "aws-cdk-lib.CfnRule",
"version": "2.179.0"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.Stack",
"version": "2.179.0"
}
},
"Tree": {
"id": "Tree",
"path": "Tree",
"constructInfo": {
"fqn": "constructs.Construct",
"version": "10.4.2"
}
}
},
"constructInfo": {
"fqn": "aws-cdk-lib.App",
"version": "2.179.0"
}
}
}