-
Notifications
You must be signed in to change notification settings - Fork 2
/
kms-policy.json
executable file
·66 lines (66 loc) · 1.55 KB
/
kms-policy.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{
"Id": "kms-key-policy-0001",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::${account_id}:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::${account_id}:role/EtleapApp${resource_name_suffix}"
]
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::${account_id}:role/EtleapApp${resource_name_suffix}"
]
},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}
%{ for policy in additional_policies }
,{
%{ if policy.Sid != null }
"Sid": "${policy.Sid}",
%{ endif }
"Effect": "${policy.Effect}",
"Principal": ${jsonencode(policy.Principal)},
"Action": ${jsonencode(policy.Action)},
"Resource": "${policy.Resource}"
%{ if policy.Condition != null }
,"Condition": ${jsonencode(policy.Condition)}
%{ endif }
}
%{ endfor }
]
}