Skip to main content
CloudCertPrep

Secrets Manager vs Parameter Store: Where Should Each Value Live?

5 min read · Updated 2026-10-28

Both services store configuration values and secrets encrypted with KMS, retrievable via the same AWS SDKs. The exam distinction comes down to three things: automatic rotation, cost model, and purpose-built secret features.

Parameter Store — the config workhorse

  • Free standard tier: config values, feature flags, AMI IDs, plain strings
  • SecureString tier encrypts with your KMS key — good enough for many secrets
  • Hierarchical paths (/prod/db/host) with IAM-controlled access per path
  • No built-in rotation — you'd wire EventBridge + Lambda yourself
  • Advanced tier ($) raises the 4KB limit to 8KB and adds parameter policies

Secrets Manager — secrets with lifecycle

The rule of thumb: rotating credentials for AWS databases → Secrets Manager, no contest. Plain configuration and non-rotating values → Parameter Store's free tier. SecureString covers the middle ground when you need encryption but not rotation.

  • Automatic rotation built in for RDS/Redshift/DocumentDB — Lambda-based for others
  • Random secret generation, cross-account access to secrets, and fine-grained resource policies
  • $0.40 per secret per month + API calls — priced for real secrets, not config sprawl
  • Version staging labels (AWSCURRENT/AWSPREVIOUS) let apps roll through rotations safely

Decision shortcuts

  • 'Automatically rotate RDS credentials' → Secrets Manager (Parameter Store can't)
  • 'Store non-secret config cheaply' → Parameter Store
  • 'Encrypted value, no rotation needed, cost-sensitive' → Parameter Store SecureString
  • 'Share a secret across AWS accounts' → Secrets Manager resource policy
  • 'Lambda needs a secret at runtime' → either works via SDK; rotation need decides