Skip to content

Commit 295bcdf

Browse files
committed
adding kms policy for dynamo external write
1 parent f9932c9 commit 295bcdf

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

infrastructure/stacks/api-layer/iam_policies.tf

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,20 @@ data "aws_iam_policy_document" "dynamodb_write_policy_doc" {
2121
}
2222
}
2323

24+
# Specific Dynamo resource KMS access policy
25+
data "aws_iam_policy_document" "dynamo_kms_access_policy_doc" {
26+
statement {
27+
actions = [
28+
"kms:Encrypt",
29+
"kms:Decrypt",
30+
"kms:GenerateDataKey"
31+
]
32+
resources = [
33+
module.eligibility_status_table.dynamodb_kms_key_arn
34+
]
35+
}
36+
}
37+
2438
# Attach dynamoDB write policy to external write role
2539
resource "aws_iam_role_policy" "external_dynamodb_write_policy" {
2640
count = length(aws_iam_role.write_access_role)
@@ -29,6 +43,14 @@ resource "aws_iam_role_policy" "external_dynamodb_write_policy" {
2943
policy = data.aws_iam_policy_document.dynamodb_write_policy_doc.json
3044
}
3145

46+
# Attach dynamo KMS policy to external write role
47+
resource "aws_iam_role_policy" "external_kms_access_policy" {
48+
count = length(aws_iam_role.write_access_role)
49+
name = "KMSAccessForDynamoDB"
50+
role = aws_iam_role.write_access_role[count.index].id
51+
policy = data.aws_iam_policy_document.dynamo_kms_access_policy_doc.json
52+
}
53+
3254
# Policy doc for S3 Rules bucket
3355
data "aws_iam_policy_document" "s3_rules_bucket_policy" {
3456
statement {

0 commit comments

Comments
 (0)