AWS Certified SysOps Administrator – Associate — Question 300
A company deploys a new application to Amazon EC2 instances. The application code is stored in an AWS CodeCommit repository. The company uses an AWS CodePipeline pipeline to deploy the code to the EC2 instances through a continuous integration and continuous delivery (CI/CD) process.
A SysOps administrator needs to ensure that sensitive database information is configured properly on the EC2 instances to prevent accidental leakage of credentials.
Which solutions will store and retrieve the sensitive information in the MOST secure manner? (Choose two.)
Answer options
- A. Store the values in AWS Secrets Manager. Update the code to retrieve these values when the application starts. Store the values as environmental variables that the application can use.
- B. Store the values in AWS Systems Manager Parameter Store as secret strings. Update the code to retrieve these values when the application starts. Store the values as environmental variables that the application can use.
- C. Store the values in an AWS Lambda function. Update the code to invoke the Lambda function when the application starts. Configure the Lambda function to inject the values as environmental variables that the application can use.
- D. Store the configuration information in a file on the EC2 instances. Ensure that the underlying drives are encrypted by AWS Key Management Service (AWS KMS). Update the application to read the file when the application starts. Store the values as environmental variables.
- E. Store the values in a text file in an Amazon S3 bucket. In the CI/CD pipeline, copy the file to the EC2 instance in an appropriate location on a disk that the application can read.
Correct answer: A, B
Explanation
AWS Secrets Manager and AWS Systems Manager Parameter Store (with SecureString) are the industry-standard AWS services designed for securing sensitive application configuration and credentials. Retrieving these values dynamically at application startup via secure API calls prevents sensitive information from being stored in plaintext on disk or in version control. Storing secrets in plain text S3 files, local files, or hardcoding them inside Lambda functions does not align with security best practices.