SAA-C03 Design Secure Architectures Practice Question
A company runs a three-tier web application on AWS. The database tier uses Amazon Aurora MySQL, and the application tier runs on Amazon EC2 instances behind an Application Load Balancer. A security audit reveals that the database credentials are stored in plaintext in a configuration file on the EC2 instances, and the same credentials have been in use for over a year. The security team must eliminate hardcoded credentials and ensure automatic rotation of the database password every 30 days without modifying application code to handle rotation events. Which solution meets these requirements with the LEAST operational overhead?
⚠ Common exam trap
The trap here is assuming that AWS Systems Manager Parameter Store provides automatic rotation for database credentials, when in fact it only stores parameters and requires a custom rotation implementation.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Store the database credentials in AWS Secrets Manager and enable automatic rotation using a Lambda rotation function. Grant the EC2 instance role permission to call secretsmanager:GetSecretValue.
AWS Secrets Manager is designed for this exact use case: it stores database credentials securely and provides managed rotation for Amazon Aurora MySQL without custom code. The EC2 instance role grants access to the secret, and the application retrieves it at runtime. This removes hardcoded credentials and automates password rotation every 30 days, meeting the requirements with minimal operational effort.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Store the database credentials in AWS Systems Manager Parameter Store as a SecureString parameter and configure automatic rotation using a custom Lambda function that updates the parameter.
Why it's wrong here
Parameter Store SecureString encrypts the value, but it does not provide built-in automatic rotation for database credentials. You would need to build and maintain a custom Lambda rotation function, which increases operational overhead. The requirement to rotate every 30 days without modifying application code is not natively met, and the application would still need to fetch the parameter, which is possible but the rotation logic is custom.
- ✗
Store the database credentials in an encrypted Amazon S3 object and use an AWS Lambda function triggered by Amazon EventBridge to rotate the password and update the object every 30 days.
Why it's wrong here
Using S3 to store credentials adds unnecessary complexity and does not provide native rotation. You would have to write and maintain a custom Lambda function to generate a new password, update Aurora, and overwrite the S3 object. This approach lacks the integrated rotation workflow of Secrets Manager and increases the risk of misconfiguration and operational burden.
- ✓
Store the database credentials in AWS Secrets Manager and enable automatic rotation using a Lambda rotation function. Grant the EC2 instance role permission to call secretsmanager:GetSecretValue.
Why this is correct
AWS Secrets Manager natively supports automatic rotation of database credentials for Amazon Aurora MySQL by using a provided Lambda rotation function. The application retrieves the secret at runtime via the AWS SDK, and the EC2 instance role grants access through secretsmanager:GetSecretValue. This eliminates hardcoded credentials and rotates the password every 30 days without requiring application code changes to handle rotation events.
- ✗
Use IAM database authentication for Aurora MySQL so that the EC2 instances authenticate using their IAM role, eliminating the need for a database password.
Why it's wrong here
IAM database authentication eliminates the need for a static password, but it requires application code changes to generate an authentication token using the AWS SDK and to use that token when connecting. The scenario explicitly states that application code must not be modified to handle rotation events. Additionally, IAM authentication has limitations such as a maximum of 200 connections per second and does not support all Aurora features.
Go deeper
Related to this question
About these practice questions
One of 935 original SAA-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.