@@ -9,59 +9,51 @@ resource "aws_kms_key" "encryption_secret" {
9
9
}
10
10
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias
11
11
resource "aws_kms_alias" "encryption_secret" {
12
- name = " alias/${ var . name } -elasticache-in-transit "
12
+ name = " alias/${ var . name } -encryption-secret "
13
13
target_key_id = aws_kms_key. encryption_secret . key_id
14
14
}
15
15
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key_policy
16
16
resource "aws_kms_key_policy" "encryption_secret_policy" {
17
17
key_id = aws_kms_key. encryption_secret . id
18
18
policy = jsonencode ({
19
- Id = " ${ var . name } -encryption-secret"
19
+ Id = " ${ var . name } -encryption-secret"
20
+ Version = " 2012-10-17"
20
21
Statement = [
21
22
{
22
- Action = [
23
- " kms:Create*" ,
24
- " kms:Describe*" ,
25
- " kms:Enable*" ,
26
- " kms:List*" ,
27
- " kms:Put*" ,
28
- " kms:Update*" ,
29
- " kms:Revoke*" ,
30
- " kms:Disable*" ,
31
- " kms:Get*" ,
32
- " kms:Delete*" ,
33
- " kms:ScheduleKeyDeletion" ,
34
- " kms:CancelKeyDeletion"
35
- ]
23
+ Sid = " Enable IAM User Permissions"
36
24
Effect = " Allow"
37
25
Principal = {
38
- AWS = " ${ local . principal_root_arn } "
26
+ AWS = " arn:aws:iam:: ${ data . aws_caller_identity . current . account_id } :root "
39
27
}
28
+ Action = " kms:*"
40
29
Resource = " *"
41
- Sid = " Enable IAM User Permissions"
42
- Condition = {
43
- StringEquals = {
44
- " kms:CallerAccount" = " ${ data . aws_caller_identity . current . account_id } "
45
- }
46
- }
47
30
},
48
31
{
49
- Sid = " AllowSecretsManagerUse "
32
+ Sid = " Allow access through AWS Secrets Manager for all principals in the account that are authorized to use AWS Secrets Manager "
50
33
Effect = " Allow"
34
+ Principal = {
35
+ AWS = [" *" ]
36
+ }
51
37
Action = [
52
38
" kms:Encrypt" ,
53
39
" kms:Decrypt" ,
54
40
" kms:ReEncrypt*" ,
41
+ " kms:CreateGrant" ,
42
+ " kms:DescribeKey" ,
55
43
" kms:GenerateDataKey*"
56
44
]
57
45
Resource = " *"
58
- Principal = {
59
- Service = " secretsmanager.amazonaws.com"
46
+ Condition = {
47
+ StringEquals = {
48
+ " kms:CallerAccount" = " ${ data . aws_caller_identity . current . account_id } "
49
+ " kms:ViaService" = " secretsmanager.${ var . region } .amazonaws.com"
50
+ }
60
51
}
61
52
}
62
53
]
63
54
})
64
55
}
56
+
65
57
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key
66
58
resource "aws_kms_key" "encryption_rest" {
67
59
enable_key_rotation = true
@@ -73,7 +65,7 @@ resource "aws_kms_key" "encryption_rest" {
73
65
}
74
66
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias
75
67
resource "aws_kms_alias" "encryption_rest" {
76
- name = " alias/${ var . name } -elasticache-at -rest"
68
+ name = " alias/${ var . name } -encryption -rest"
77
69
target_key_id = aws_kms_key. encryption_rest . key_id
78
70
}
79
71
# https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key_policy
@@ -83,31 +75,13 @@ resource "aws_kms_key_policy" "encryption_rest_policy" {
83
75
Id = " ${ var . name } -encryption-rest"
84
76
Statement = [
85
77
{
86
- Action = [
87
- " kms:Create*" ,
88
- " kms:Describe*" ,
89
- " kms:Enable*" ,
90
- " kms:List*" ,
91
- " kms:Put*" ,
92
- " kms:Update*" ,
93
- " kms:Revoke*" ,
94
- " kms:Disable*" ,
95
- " kms:Get*" ,
96
- " kms:Delete*" ,
97
- " kms:ScheduleKeyDeletion" ,
98
- " kms:CancelKeyDeletion"
99
- ]
78
+ Action = [" kms:*" ]
100
79
Effect = " Allow"
101
80
Principal = {
102
81
AWS = " ${ local . principal_root_arn } "
103
82
}
104
83
Resource = " *"
105
84
Sid = " Enable IAM User Permissions"
106
- Condition = {
107
- StringEquals = {
108
- " kms:CallerAccount" = " ${ data . aws_caller_identity . current . account_id } "
109
- }
110
- }
111
85
},
112
86
{
113
87
Sid = " Allow ElastiCache to use the key"
0 commit comments