SAA-C03 Design Secure Architectures Practice Question
A Lambda function for a order processing API needs to read a database password. The password must rotate automatically every 30 days and should not be stored in environment variables. Which service should be used? The design must avoid adding custom operational scripts.
⚠ Common exam trap
It's easy for candidates to confuse AWS Systems Manager Parameter Store (which can store SecureStrings but lacks native rotation) with Secrets Manager, or they assume that encrypting a value at rest (e.g., in S3 or environment variables) is sufficient, ignoring the operational burden of manual rotation and the requirement for automatic rotation every 30 days.
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
✓
AWS Secrets Manager with rotation enabled
AWS Secrets Manager is the correct choice because it is purpose-built for securely storing and automatically rotating database credentials. It natively supports rotation every 30 days via a built-in Lambda rotation function, without requiring any custom operational scripts. This meets the requirement to avoid storing the password in environment variables and to automate rotation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
AWS Secrets Manager with rotation enabled
Why this is correct
AWS Secrets Manager is the correct choice because it natively manages the entire secret lifecycle: it stores the secret encrypted with KMS, automatically rotates it on a configurable schedule (e.g., every 30 days) by invoking an attached rotation Lambda function, and propagates the new credentials to supported AWS services like RDS. This eliminates manual secret rotation and reduces the risk of credential drift. Secrets Manager also integrates with AWS CloudTrail for auditability and supports cross-account access, making it the only option here that fulfills both secure storage and automated rotation.
- ✗
An encrypted object in Amazon S3
Why it's wrong here
An encrypted object in Amazon S3 provides encryption at rest (via SSE-KMS, SSE-S3, or SSE-C) and is a durable, highly available storage service. However, it is not a secrets management service: it has no native capability to rotate secret values, enforce secret retrieval policies, or track secret versions for lifecycle purposes. You would have to manually overwrite the object and manage versioning yourself, which does not meet the requirement of 'with rotation enabled' and introduces operational overhead and human error risk.
- ✗
AWS Systems Manager Parameter Store SecureString without automation
Why it's wrong here
AWS Systems Manager Parameter Store SecureString stores secrets encrypted with a KMS key and integrates easily with Lambda via the GetParameter API, but it lacks native, built-in rotation for the secret value. Without an external automation mechanism (e.g., an Amazon EventBridge rule invoking a custom Lambda to update the parameter), the secret never changes. Parameter Store is designed for parameter storage, not secret lifecycle management, so it fails the explicit requirement of maintaining rotated database credentials.
- ✗
A KMS-encrypted Lambda environment variable
Why it's wrong here
A KMS-encrypted Lambda environment variable protects the secret at rest by encrypting the environment variable's value, and Lambda decrypts it transparently in the execution environment. However, this approach does not provide any rotation: you would need to manually update the Lambda function's configuration and redeploy to change the secret, which is error-prone and not automated. Also, environment variables are visible to anyone with read access to the function configuration, and the plaintext secret is available in memory to the function code, making this a static, low-manageability solution rather than a managed secret rotation strategy.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
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 by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.