@@ -66,6 +66,16 @@ locals {
6666 ],
6767 Resource = " *"
6868 }
69+
70+ policy_statement_allow_mns = {
71+ Sid = " AllowMNSLambdaDelivery" ,
72+ Effect = " Allow" ,
73+ Principal = {
74+ AWS = " arn:aws:iam::${ var . mns_account_id } :${ var . mns_admin_role } "
75+ },
76+ Action = " kms:GenerateDataKey" ,
77+ Resource = " *"
78+ }
6979}
7080
7181
@@ -147,3 +157,25 @@ resource "aws_kms_alias" "s3_shared_key" {
147157 name = " alias/imms-batch-s3-shared-key"
148158 target_key_id = aws_kms_key. s3_shared_key . key_id
149159}
160+
161+ resource "aws_kms_key" "id_sync_sqs_encryption" {
162+ description = " KMS key for MNS service access"
163+ key_usage = " ENCRYPT_DECRYPT"
164+ enable_key_rotation = true
165+ policy = jsonencode ({
166+ Version = " 2012-10-17" ,
167+ Id = " key-consolepolicy-3" ,
168+ Statement = [
169+ local.policy_statement_allow_administration,
170+ local.policy_statement_allow_auto_ops,
171+ local.policy_statement_allow_devops,
172+ local.policy_statement_allow_mns
173+ ]
174+ })
175+ }
176+
177+ resource "aws_kms_alias" "id_sync_sqs_encryption" {
178+ name = " alias/imms-event-id-sync-encryption"
179+ target_key_id = aws_kms_key. id_sync_sqs_encryption . key_id
180+ }
181+
0 commit comments