@@ -36,23 +36,48 @@ module "basic_auth" {
36
36
resource "aws_s3_bucket" "test" {
37
37
bucket = " ${ var . s3_bucket_name } "
38
38
acl = " private"
39
+
40
+ policy = << EOF
41
+ {
42
+ "Version":"2012年10月17日",
43
+ "Id":"PolicyForCloudFrontPrivateContent",
44
+ "Statement":[
45
+ {
46
+ "Sid": "Grant a CloudFront Origin Identity access to support private content",
47
+ "Effect": "Allow",
48
+ "Principal": {
49
+ "CanonicalUser": "${ aws_cloudfront_origin_access_identity . test . s3_canonical_user_id } "
50
+ },
51
+ "Action": "s3:GetObject",
52
+ "Resource": "arn:aws:s3:::${ var . s3_bucket_name } /*"
53
+ }
54
+ ]
55
+ }
56
+ EOF
39
57
}
40
58
41
59
resource "aws_s3_bucket_object" "test" {
42
- bucket = " ${ aws_s3_bucket . test . id } "
43
- key = " index.html"
44
- source = " index.html"
45
- etag = " ${ md5 (file (" index.html" ))} "
60
+ bucket = " ${ aws_s3_bucket . test . id } "
61
+ key = " index.html"
62
+ source = " index.html"
63
+ content_type = " text/html"
64
+ etag = " ${ md5 (file (" index.html" ))} "
46
65
}
47
66
48
67
# ##
49
68
# CloudFront
50
69
#
51
70
71
+ resource "aws_cloudfront_origin_access_identity" "test" {}
72
+
52
73
resource "aws_cloudfront_distribution" "test" {
53
74
origin {
54
75
domain_name = " ${ aws_s3_bucket . test . bucket_regional_domain_name } "
55
76
origin_id = " S3-${ aws_s3_bucket . test . id } "
77
+
78
+ s3_origin_config {
79
+ origin_access_identity = " ${ aws_cloudfront_origin_access_identity . test . cloudfront_access_identity_path } "
80
+ }
56
81
}
57
82
58
83
enabled = true
0 commit comments