terraform: update the bucket policies (#71)
Formatted with jq nix-releases inherits the policy from nix-cache
zimbatm committed
Dec 20, 2018 at 11:10 UTC
eb95ce55580da4af702c6e8137df8201d3b4e040
3 files changed
+193
-15
terraform/cache.tf
+47
-1
@@ -25,7 +25,53 @@ resource "aws_s3_bucket_policy" "cache" {
25
26
# imported from existing
27
policy = <<EOF
28
-{"Version":"2008-10-17","Statement":[{"Sid":"AllowPublicRead","Effect":"Allow","Principal":{"AWS":"*"},"Action":"s3:GetObject","Resource":"arn:aws:s3:::nix-cache/*"},{"Sid":"AllowUploadDebuginfoWrite","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::080433136561:user/s3-upload-releases"},"Action":["s3:PutObject","s3:PutObjectAcl"],"Resource":"arn:aws:s3:::nix-cache/debuginfo/*"},{"Sid":"AllowUploadDebuginfoRead","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::080433136561:user/s3-upload-releases"},"Action":"s3:GetObject","Resource":"arn:aws:s3:::nix-cache/*"},{"Sid":"AllowUploadDebuginfoRead2","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::080433136561:user/s3-upload-releases"},"Action":["s3:ListBucket","s3:GetBucketLocation"],"Resource":"arn:aws:s3:::nix-cache"}]}
28
+{
29
+ "Version": "2008-10-17",
30
+ "Statement": [
31
+ {
32
+ "Sid": "AllowPublicRead",
33
+ "Effect": "Allow",
34
+ "Principal": {
35
+ "AWS": "*"
36
+ },
37
+ "Action": "s3:GetObject",
38
+ "Resource": "arn:aws:s3:::nix-cache/*"
39
+ },
40
+ {
41
+ "Sid": "AllowUploadDebuginfoWrite",
42
+ "Effect": "Allow",
43
+ "Principal": {
44
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
45
+ },
46
+ "Action": [
47
+ "s3:PutObject",
48
+ "s3:PutObjectAcl"
49
+ ],
50
+ "Resource": "arn:aws:s3:::nix-cache/debuginfo/*"
51
+ },
52
+ {
53
+ "Sid": "AllowUploadDebuginfoRead",
54
+ "Effect": "Allow",
55
+ "Principal": {
56
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
57
+ },
58
+ "Action": "s3:GetObject",
59
+ "Resource": "arn:aws:s3:::nix-cache/*"
60
+ },
61
+ {
62
+ "Sid": "AllowUploadDebuginfoRead2",
63
+ "Effect": "Allow",
64
+ "Principal": {
65
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
66
+ },
67
+ "Action": [
68
+ "s3:ListBucket",
69
+ "s3:GetBucketLocation"
70
+ ],
71
+ "Resource": "arn:aws:s3:::nix-cache"
72
+ }
73
+ ]
74
+}
75
EOF
76
}
77
terraform/nixpkgs-tarballs.tf
+98
-1
@@ -11,7 +11,104 @@ resource "aws_s3_bucket_policy" "nixpkgs-tarballs" {
11
12
# imported from existing
13
policy = <<EOF
14
-{"Version":"2008-10-17","Statement":[{"Sid":"AllowPublicRead","Effect":"Allow","Principal":{"AWS":"*"},"Action":"s3:GetObject","Resource":"arn:aws:s3:::nixpkgs-tarballs/*"},{"Sid":"AllowUpload","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::080433136561:user/s3-upload-tarballs"},"Action":["s3:PutObject","s3:PutObjectAcl"],"Resource":"arn:aws:s3:::nixpkgs-tarballs/*"},{"Sid":"AllowUpload2","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::080433136561:user/s3-upload-tarballs"},"Action":"s3:ListBucket","Resource":"arn:aws:s3:::nixpkgs-tarballs"},{"Sid":"CopumpkinAllowUpload","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::390897850978:root"},"Action":["s3:PutObject","s3:PutObjectAcl"],"Resource":"arn:aws:s3:::nixpkgs-tarballs/*"},{"Sid":"CopumpkinAllowUpload2","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::390897850978:root"},"Action":"s3:ListBucket","Resource":"arn:aws:s3:::nixpkgs-tarballs"},{"Sid":"ShlevyAllowUpload","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::976576280863:user/shlevy"},"Action":["s3:PutObject","s3:PutObjectAcl"],"Resource":"arn:aws:s3:::nixpkgs-tarballs/*"},{"Sid":"ShlevyAllowUpload2","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::976576280863:user/shlevy"},"Action":"s3:ListBucket","Resource":"arn:aws:s3:::nixpkgs-tarballs"},{"Sid":"DaiderdAllowUpload","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::014292808257:user/lnl7"},"Action":["s3:PutObject","s3:PutObjectAcl"],"Resource":"arn:aws:s3:::nixpkgs-tarballs/*"},{"Sid":"DaiderdAllowUpload2","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::014292808257:user/lnl7"},"Action":"s3:ListBucket","Resource":"arn:aws:s3:::nixpkgs-tarballs"}]}
14
+{
15
+ "Version": "2008-10-17",
16
+ "Statement": [
17
+ {
18
+ "Sid": "AllowPublicRead",
19
+ "Effect": "Allow",
20
+ "Principal": {
21
+ "AWS": "*"
22
+ },
23
+ "Action": "s3:GetObject",
24
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs/*"
25
+ },
26
+ {
27
+ "Sid": "AllowUpload",
28
+ "Effect": "Allow",
29
+ "Principal": {
30
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-tarballs"
31
+ },
32
+ "Action": [
33
+ "s3:PutObject",
34
+ "s3:PutObjectAcl"
35
+ ],
36
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs/*"
37
+ },
38
+ {
39
+ "Sid": "AllowUpload2",
40
+ "Effect": "Allow",
41
+ "Principal": {
42
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-tarballs"
43
+ },
44
+ "Action": "s3:ListBucket",
45
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs"
46
+ },
47
+ {
48
+ "Sid": "CopumpkinAllowUpload",
49
+ "Effect": "Allow",
50
+ "Principal": {
51
+ "AWS": "arn:aws:iam::390897850978:root"
52
+ },
53
+ "Action": [
54
+ "s3:PutObject",
55
+ "s3:PutObjectAcl"
56
+ ],
57
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs/*"
58
+ },
59
+ {
60
+ "Sid": "CopumpkinAllowUpload2",
61
+ "Effect": "Allow",
62
+ "Principal": {
63
+ "AWS": "arn:aws:iam::390897850978:root"
64
+ },
65
+ "Action": "s3:ListBucket",
66
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs"
67
+ },
68
+ {
69
+ "Sid": "ShlevyAllowUpload",
70
+ "Effect": "Allow",
71
+ "Principal": {
72
+ "AWS": "arn:aws:iam::976576280863:user/shlevy"
73
+ },
74
+ "Action": [
75
+ "s3:PutObject",
76
+ "s3:PutObjectAcl"
77
+ ],
78
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs/*"
79
+ },
80
+ {
81
+ "Sid": "ShlevyAllowUpload2",
82
+ "Effect": "Allow",
83
+ "Principal": {
84
+ "AWS": "arn:aws:iam::976576280863:user/shlevy"
85
+ },
86
+ "Action": "s3:ListBucket",
87
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs"
88
+ },
89
+ {
90
+ "Sid": "DaiderdAllowUpload",
91
+ "Effect": "Allow",
92
+ "Principal": {
93
+ "AWS": "arn:aws:iam::014292808257:user/lnl7"
94
+ },
95
+ "Action": [
96
+ "s3:PutObject",
97
+ "s3:PutObjectAcl"
98
+ ],
99
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs/*"
100
+ },
101
+ {
102
+ "Sid": "DaiderdAllowUpload2",
103
+ "Effect": "Allow",
104
+ "Principal": {
105
+ "AWS": "arn:aws:iam::014292808257:user/lnl7"
106
+ },
107
+ "Action": "s3:ListBucket",
108
+ "Resource": "arn:aws:s3:::nixpkgs-tarballs"
109
+ }
110
+ ]
111
+}
112
EOF
113
}
114
terraform/releases.tf
+48
-13
@@ -12,20 +12,55 @@ resource "aws_s3_bucket" "releases" {
12
13
resource "aws_s3_bucket_policy" "releases" {
14
bucket = "${aws_s3_bucket.releases.id}"
15
- policy = "${data.aws_iam_policy_document.releases.json}"
16
-}
17
-
18
-data "aws_iam_policy_document" "releases" {
19
- statement {
20
- sid = "1"
21
- actions = ["s3:GetObject"]
22
- resources = ["${aws_s3_bucket.releases.arn}/*"]
23
-
24
- principals {
25
- type = "AWS"
26
- identifiers = ["*"]
15
+ policy = <<EOF
16
+{
17
+ "Version": "2008-10-17",
18
+ "Statement": [
19
+ {
20
+ "Sid": "AllowPublicRead",
21
+ "Effect": "Allow",
22
+ "Principal": {
23
+ "AWS": "*"
24
+ },
25
+ "Action": "s3:GetObject",
26
+ "Resource": "arn:aws:s3:::nix-releases/*"
27
+ },
28
+ {
29
+ "Sid": "AllowUploadDebuginfoWrite",
30
+ "Effect": "Allow",
31
+ "Principal": {
32
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
33
+ },
34
+ "Action": [
35
+ "s3:PutObject",
36
+ "s3:PutObjectAcl"
37
+ ],
38
+ "Resource": "arn:aws:s3:::nix-releases/debuginfo/*"
39
+ },
40
+ {
41
+ "Sid": "AllowUploadDebuginfoRead",
42
+ "Effect": "Allow",
43
+ "Principal": {
44
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
45
+ },
46
+ "Action": "s3:GetObject",
47
+ "Resource": "arn:aws:s3:::nix-releases/*"
48
+ },
49
+ {
50
+ "Sid": "AllowUploadDebuginfoRead2",
51
+ "Effect": "Allow",
52
+ "Principal": {
53
+ "AWS": "arn:aws:iam::080433136561:user/s3-upload-releases"
54
+ },
55
+ "Action": [
56
+ "s3:ListBucket",
57
+ "s3:GetBucketLocation"
58
+ ],
59
+ "Resource": "arn:aws:s3:::nix-releases"
60
}
28
- }
61
+ ]
62
+}
63
+EOF
64
}
65
66
resource "aws_cloudfront_distribution" "releases" {