Course menuSAA-C03

Exams / SAA-C03 / Study guide / Secrets management

Secrets management: SAA-C03 study notes and practice questions

What to know about Secrets management for the SAA-C03 exam, from the Design Secure Architectures domain (30% of the exam guide), then 2 free questions to test it. Part of the SAA-C03 study guide.

Last verified against current AWS documentation ·How we write our questions

What to know for the exam

Any scenario with a database password in code, in a config file or in an environment variable is asking you to move it into a managed secret store. The question is which one.

Secrets Manager vs Parameter Store

AWS Secrets Manager Systems Manager Parameter Store
Built for Credentials that must rotate Configuration values and simple secrets
Rotation Built in on a schedule; AWS provides rotation functions for RDS, Aurora, Redshift and DocumentDB None built in
Encryption Always, with KMS Optional, as a SecureString with KMS
Cost Per secret per month, plus API calls Standard parameters have no extra charge; advanced parameters cost per parameter
Size Up to 64 KB 4 KB standard, 8 KB advanced
Cross-account Resource policy on the secret Advanced parameters can be shared through AWS RAM
Multi-Region Replica secrets in other Regions No

Key facts

  • RDS and Aurora can manage the master password for you in Secrets Manager, including rotation, with a single setting.
  • Rotation strategies: single user changes the password of one user (with a brief window where old connections fail), alternating users keeps two users and switches between them so there’s always a valid credential.
  • Applications fetch the secret at runtime with an IAM role. Caching the value in the application, with the AWS-provided caching libraries, cuts API calls and latency.
  • Parameter Store hierarchies such as /prod/billing/db-url let IAM policies grant access by path.

How to choose

  • “Rotate automatically every 30 days” or “rotate without code”: Secrets Manager.
  • “Store configuration and a few secrets at the lowest cost”, no rotation needed: Parameter Store (SecureString for the secrets).
  • “The same secret in a second Region for disaster recovery”: Secrets Manager replica secrets.

Common traps

  • Storing secrets in Lambda environment variables or user data. They’re visible to anyone who can read the configuration.
  • Writing a custom Lambda function to rotate RDS passwords. Secrets Manager already provides one, so it fails “least operational overhead”.
  • Choosing Secrets Manager when the requirement is lowest cost and no rotation. Parameter Store standard parameters are free.

Try the 2 practice questions

A company's order service runs on Amazon EC2 and connects to an Amazon RDS for MySQL database as a dedicated application user. The password is hard-coded in the application.

An audit now requires the password to be stored encrypted, changed automatically every 30 days, and never left out of date in the application after a change.

The team wants to write as little custom code as possible.

Which solution meets these requirements?

Choose one answer.

  1. A. Store the password as a Parameter Store SecureString, and have a scheduled Lambda function change it in the database every 30 days.
  2. B. Store the password as an advanced-tier SecureString parameter in Parameter Store, with a parameter policy that sets an expiration after 30 days.
  3. C. Store the password in Secrets Manager, rotate it every 30 days with the AWS-provided MySQL rotation function, and read the secret when connecting.
  4. D. Store the password in Secrets Manager with 30-day rotation turned on, and have the release pipeline copy the value into the application's config file.
Show the answer and explanation

Answer: C

Explanation

Secrets Manager is built for credentials that must rotate. For an RDS for MySQL user it offers AWS-provided rotation functions (single user or alternating users), so a 30-day schedule needs no custom code. The other half of the requirement is on the application side: it must read the secret at run time, not copy it into configuration, or it falls out of date after the first rotation.

Study

A company runs 12 microservices that share about 400 configuration values, such as feature flags, service URLs and third-party API tokens.

Every value is under 1 KB, and values are organized by environment and service, such as /prod/billing/. The API tokens must be encrypted with AWS KMS. Each service must be able to read only its own values, and none of the values needs automatic rotation.

Which solution is MOST cost-effective?

Choose one answer.

  1. A. Store each value as a separate secret in AWS Secrets Manager, named by path such as /prod/billing/, with IAM policies that match each service's prefix.
  2. B. Store the values in Parameter Store as standard-tier parameters, using SecureString for the tokens, with IAM policies scoped to each service's path.
  3. C. Store the values in Parameter Store as advanced-tier parameters, using SecureString for the tokens, with IAM policies scoped to each service's path.
  4. D. Store one secret per environment in AWS Secrets Manager that holds all the values as JSON, and give every service read access to its environment's secret.
Show the answer and explanation

Answer: B

Explanation

Parameter Store standard parameters have no additional charge, hold values up to 4 KB, support hierarchies such as /prod/billing/ and can be encrypted with KMS as SecureString. IAM policies can grant access by path. Secrets Manager charges per secret and is worth it mainly for managed rotation, and advanced parameters are charged for features not needed here.

Study

Want more on Secrets management? The 5 full-length practice sets have 10 more Secrets management questions, 325 in all, none of them in the free exam. One payment of $14.99, no subscription. See the practice sets

Study Secrets management

More Design Secure Architectures topics