File tree Expand file tree Collapse file tree 2 files changed +358
-13
lines changed Expand file tree Collapse file tree 2 files changed +358
-13
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ We use jenkins to automate deployment with Terraform. Jenkins
3
+ is set up in a different AWS account.
4
+
5
+ This group of IAM resources allow jenkins to assume a role needed
6
+ to deploy resources (and make changes to backend).
7
+ */
8
+
9
+ data "aws_iam_policy_document" "terraform_backend_account_policy" {
10
+ statement {
11
+ effect = " Allow"
12
+
13
+ principals {
14
+ type = " AWS"
15
+ identifiers = [" arn:aws:iam::191447213457:role/jenkins-role" ]
16
+ }
17
+
18
+ actions = [" sts:AssumeRole" ]
19
+ }
20
+ }
21
+
22
+ resource "aws_iam_role" "terraform_backend_role" {
23
+ name = " terraform_backend_admin"
24
+ assume_role_policy = data. aws_iam_policy_document . terraform_backend_account_policy . json
25
+ }
26
+
27
+ data "aws_iam_policy_document" "terraform_backend_role_policy_document" {
28
+ statement {
29
+ effect = " Allow"
30
+
31
+ actions = [" s3:*" ]
32
+ resources = [" arn:aws:s3:::${ module . bootstrap . state_bucket } /*" ]
33
+ }
34
+ }
35
+
36
+ resource "aws_iam_policy" "terraform_backend_role_policy" {
37
+ name = " terraform-backend-role-policy"
38
+ policy = data. aws_iam_policy_document . terraform_backend_role_policy_document . json
39
+ }
40
+
41
+ resource "aws_iam_role_policy_attachment" "terraform_backend_attachment" {
42
+ role = aws_iam_role. terraform_backend_role . name
43
+ policy_arn = aws_iam_policy. terraform_backend_role_policy . arn
44
+ }
You can’t perform that action at this time.
0 commit comments