A developer is building a high-throughput microservice deployed on AWS Fargate that processes sensitive financial transactions. The system must encrypt each transaction payload client-side before storing it in an Amazon DynamoDB table. To meet strict security compliance, the team has established the following requirements:
1. Access to the AWS Key Management Service (AWS KMS) customer managed key (CMK) must be managed centrally using IAM policies, avoiding direct updates to the KMS key policy whenever a new microservice is deployed.
2. The microservice's IAM execution role (`TxServiceRole`) must be granted the absolute minimum permissions required to perform local client-side envelope encryption.
Which two configuration steps must the developer perform to satisfy these requirements? (Select TWO.)
- Include a statement in the KMS key policy of the customer managed key that grants the AWS account root user (`arn:aws:iam::<ACCOUNT_ID>:root`) permission to perform all KMS actions (`kms:*`).Answer
- Attach an IAM policy to the `TxServiceRole` that grants permission to perform the `kms:GenerateDataKey` action on the ARN of the customer managed key.Answer
- CAttach an IAM policy to the `TxServiceRole` that grants permission to perform the `kms:Encrypt` and `kms:Decrypt` actions on the ARN of the customer managed key.
- DAttach an IAM policy to the `TxServiceRole` that grants permission to perform the `kms:GenerateDataKeyWithoutPlaintext` action on the ARN of the customer managed key.
- EConfigure the microservice to store the generated plaintext data key in AWS Systems Manager Parameter Store as a SecureString parameter to reuse across transaction sessions.