A startup is deploying a new application that integrates with a third-party payment provider. The application needs to retrieve a payment gateway API key. The startup's security policy requires the API key to be encrypted at rest, and all decryption events must be audited. Which solution meets these requirements securely?
- Store the API key as a SecureString parameter in AWS Systems Manager Parameter Store, using a Customer Managed Key in AWS Key Management Service (AWS KMS).Answer
- BStore the API key as a plain text String parameter in AWS Systems Manager Parameter Store, and restrict access using IAM policies.
- CStore the API key on the application's root EBS volume, using the AWS account root user credentials to encrypt the volume.
- DStore the API key in an Amazon S3 bucket using default encryption with a KMS Customer Managed Key, and rely on automatic key rotation to immediately re-encrypt the stored files.
Answer
Store the API key as a SecureString parameter in AWS Systems Manager Parameter Store, using a Customer Managed Key in AWS Key Management Service (AWS KMS).
Storing the API key as a SecureString parameter in AWS Systems Manager Parameter Store ensures that the data is encrypted at rest using AWS KMS. In addition, AWS KMS logs all decryption requests to AWS CloudTrail, satisfying the auditing requirement.
Step-by-Step Solution
Key Concept
Storing sensitive information securely using Systems Manager Parameter Store SecureString parameters and KMS encryption with auditing.