|
@@ -9,7 +9,8 @@ resource "aws_iam_role" "codebuild_role" {
|
|
"Effect": "Allow",
|
|
"Effect": "Allow",
|
|
"Principal": {
|
|
"Principal": {
|
|
"Service": [
|
|
"Service": [
|
|
- "codebuild.amazonaws.com"
|
|
|
|
|
|
+ "codebuild.amazonaws.com",
|
|
|
|
+ "events.amazonaws.com"
|
|
]
|
|
]
|
|
},
|
|
},
|
|
"Action": "sts:AssumeRole"
|
|
"Action": "sts:AssumeRole"
|
|
@@ -24,11 +25,12 @@ resource "aws_iam_role_policy_attachment" "codebuild_role_policy_attach" {
|
|
policy_arn = aws_iam_policy.codebuild_policy.arn
|
|
policy_arn = aws_iam_policy.codebuild_policy.arn
|
|
}
|
|
}
|
|
|
|
|
|
-# Some things about this policy I'm not perfectly sure about, like
|
|
|
|
-# should the account number be hardcoded? Also, it reads like we'll have to
|
|
|
|
-# update it each time we have a new repository added to codecommit - that
|
|
|
|
-# or we'll need to authorize the codebuild role to be able to pull from any
|
|
|
|
-# codecommit repo. Which may be fine?
|
|
|
|
|
|
+# FIXME: Not sure about this policy
|
|
|
|
+# 1. Lets codebuild (apparently) write to ANY s3 bucket
|
|
|
|
+# 2. Lets codebuild (apparently) write to ANY ECR repo
|
|
|
|
+# 3. It's in JSON instead of a terraform data source so these comments
|
|
|
|
+# have to be at the top instead of inline where they would make sense.
|
|
|
|
+# 4. Latest codebuild policies (from AWS console) have report-group resources and actions
|
|
resource "aws_iam_policy" "codebuild_policy" {
|
|
resource "aws_iam_policy" "codebuild_policy" {
|
|
name = "codebuild_policy"
|
|
name = "codebuild_policy"
|
|
description = "Policy for AWS codebuild to build and store artifacts"
|
|
description = "Policy for AWS codebuild to build and store artifacts"
|
|
@@ -94,6 +96,17 @@ resource "aws_iam_policy" "codebuild_policy" {
|
|
"ecr:PutImage",
|
|
"ecr:PutImage",
|
|
"ecr:UploadLayerPart"
|
|
"ecr:UploadLayerPart"
|
|
]
|
|
]
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "Action": [
|
|
|
|
+ "codebuild:StartBuild",
|
|
|
|
+ "codebuild:StopBuild",
|
|
|
|
+ "codebuild:BatchGet*",
|
|
|
|
+ "codebuild:Get*",
|
|
|
|
+ "codebuild:List*"
|
|
|
|
+ ],
|
|
|
|
+ "Effect": "Allow",
|
|
|
|
+ "Resource": "*"
|
|
}
|
|
}
|
|
]
|
|
]
|
|
}
|
|
}
|
|
@@ -159,4 +172,4 @@ EOF
|
|
# value = "${aws_iam_access_key.pop_service_account.encrypted_secret}"
|
|
# value = "${aws_iam_access_key.pop_service_account.encrypted_secret}"
|
|
# }
|
|
# }
|
|
|
|
|
|
-# !!!!! END OF RETAINED FOR FUTURE USE !!!!!
|
|
|
|
|
|
+# !!!!! END OF RETAINED FOR FUTURE USE !!!!!
|