Skip to content

Commit 85b6f1b

Browse files
committed
feature/PI-876-add_backups_policy_to_prod Add bakcups permissions to prod deployment role
1 parent 24b353a commit 85b6f1b

File tree

5 files changed

+120
-5
lines changed

5 files changed

+120
-5
lines changed
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
resource "aws_iam_policy" "source_account_backup_permissions" {
2+
name = "${local.project}-${var.environment}-source-account-backup-permissions"
3+
policy = jsonencode({
4+
Version = "2012-10-17",
5+
Statement = [
6+
{
7+
Effect = "Allow",
8+
Action = [
9+
"backup:ListBackupPlans",
10+
"backup:CreateBackupPlan",
11+
"backup:DeleteBackupPlan",
12+
"backup:GetBackupPlan",
13+
"backup:UpdateBackupPlan",
14+
"backup:GetBackupPlan",
15+
"backup:CreateReportPlan",
16+
"backup:DeleteReportPlan",
17+
"backup:DescribeReportPlan",
18+
"backup:UpdateReportPlan",
19+
"backup:ListReportPlans",
20+
"backup:TagResource",
21+
"backup:ListTags",
22+
"backup:CreateFramework",
23+
"backup:DeleteFramework",
24+
"backup:DescribeFramework",
25+
"backup:UpdateFramework",
26+
"backup:ListFrameworks",
27+
"backup:CreateBackupVault",
28+
"backup:DeleteBackupVault",
29+
"backup:DescribeBackupVault",
30+
"backup:ListBackupVaults",
31+
"backup:PutBackupVaultAccessPolicy",
32+
"backup:GetBackupVaultAccessPolicy",
33+
"backup:CreateBackupSelection",
34+
"backup:GetBackupSelection",
35+
"backup:DeleteBackupSelection",
36+
"backup:CreateRestoreTestingPlan",
37+
"backup:DeleteRestoreTestingPlan",
38+
"backup:GetRestoreTestingPlan",
39+
"backup:ListRestoreTestingPlans",
40+
"backup:UpdateRestoreTestingPlan",
41+
"backup:CreateRestoreTestingSelection",
42+
"backup:GetRestoreTestingSelection",
43+
"backup:PutBackupVaultNotifications",
44+
"backup:GetBackupVaultNotifications",
45+
"backup:DeleteBackupVaultNotifications"
46+
],
47+
Resource = "*"
48+
},
49+
{
50+
Effect = "Allow"
51+
Action = [
52+
"backup-storage:*"
53+
]
54+
Resource = "*"
55+
},
56+
{
57+
Effect = "Allow",
58+
Action = [
59+
"kms:ListKeys",
60+
"kms:DescribeKey",
61+
"kms:DisableKey",
62+
"kms:CreateKey",
63+
"kms:ListAliases",
64+
"kms:CreateAlias",
65+
"kms:DeleteAlias",
66+
"kms:TagResource"
67+
],
68+
Resource = "*"
69+
},
70+
{
71+
Effect = "Allow",
72+
Action = [
73+
"secretsmanager:GetSecretValue"
74+
],
75+
Resource = [
76+
"arn:aws:secretsmanager:*:${var.assume_account}:secret:destination_vault_arn-*",
77+
"arn:aws:secretsmanager:*:${var.assume_account}:secret:destination_account_id-*"
78+
]
79+
},
80+
{
81+
Effect = "Allow",
82+
Action = [
83+
"iam:UpdateAssumeRolePolicy"
84+
],
85+
Resource = [
86+
"arn:aws:iam::${var.assume_account}:role/*",
87+
"arn:aws:iam::${var.assume_account}:policy/*"
88+
]
89+
},
90+
{
91+
Effect = "Allow",
92+
Action = [
93+
"SNS:SetSubscriptionAttributes"
94+
],
95+
Resource = [
96+
"arn:aws:sns:*:${var.assume_account}:*"
97+
]
98+
},
99+
{
100+
Effect = "Allow",
101+
Action = [
102+
"logs:ListTagsForResource"
103+
],
104+
Resource = [
105+
"arn:aws:logs:*:${var.assume_account}:log-group:*"
106+
]
107+
},
108+
]
109+
})
110+
}
111+
112+
resource "aws_iam_role_policy_attachment" "source_account_backup_permissions" {
113+
policy_arn = aws_iam_policy.source_account_backup_permissions.arn
114+
role = var.assume_role
115+
}

scripts/infrastructure/policies/deployment1-policy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-host-*",
201201
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-changelog-user-*",
202202
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-changelog-password-*",
203-
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-client-info-*"
203+
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-notify-slack-webhook-url-*"
204204
]
205205
},
206206
{

scripts/infrastructure/policies/deployment2-policy.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,12 @@
154154
{
155155
"Sid": "SecretsIntegrationPermissions",
156156
"Effect": "Allow",
157-
"Action": ["secretsmanager:GetSecretValue"],
157+
"Action": ["Apigeesecretsmanager:GetSecretValue"],
158158
"Resource": [
159159
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-credentials-*",
160160
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-cpm-apikey-*",
161161
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-key-*",
162-
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-notify-slack-webhook-url-*"
162+
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-client-info-*"
163163
]
164164
},
165165
{

scripts/infrastructure/policies/development1-policy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-host-*",
201201
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-changelog-user-*",
202202
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-ldap-changelog-password-*",
203-
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-client-info-*"
203+
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-notify-slack-webhook-url-*"
204204
]
205205
},
206206
{

scripts/infrastructure/policies/development2-policy.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-credentials-*",
160160
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-cpm-apikey-*",
161161
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-key-*",
162-
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-notify-slack-webhook-url-*"
162+
"arn:aws:secretsmanager:*:${ACCOUNT_ID}:secret:*-apigee-app-client-info-*"
163163
]
164164
},
165165
{

0 commit comments

Comments
 (0)