この記事のゴール
AWS 認定 Cloud Practitioner(CLF)で頻出の「認証情報(シークレット)の保護」について、AWS Systems Manager Parameter Store と AWS Secrets Manager を混同しないために、試験で問われやすい“違い”に絞って整理します。
前提:両者とも「秘密を保管できる」が、得意分野が違う
どちらもアプリのコードや設定ファイルにパスワード等をベタ書き(ハードコード)せず、API で安全に取得するための保管先として使えます。ただし設計思想が異なります。
- Parameter Store:設定値管理(パラメータ管理)の延長。必要に応じて機密値も保管できる。
- Secrets Manager:認証情報(シークレット)のライフサイクル管理が主目的。ローテーションなどの運用機能が強い。
大きな違い(CLF で押さえるべきポイント)
1) ローテーション(定期更新)を“標準機能”として持つか
Secrets Manager はローテーションを正式機能として提供し、定期的にシークレットを更新する仕組みを用意しています(マネージドローテーション、または Lambda によるローテーション)。
- 公式:ローテーション全体の概念と方式(Managed rotation / Lambda rotation)
https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html
一方、Parameter Store は“保管・取得”が中心で、Secrets Manager のような自動ローテーション機能が主役ではありません。ただし、パラメータの有効期限や更新促進のための Parameter policies(Expiration / ExpirationNotification / NoChangeNotification)は提供されています(=「更新の運用を促す」機能)。
- 公式:Parameter policies(有効期限・通知など)
https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html
試験の選び分け目安:「DB パスワードを自動で定期更新したい」→ Secrets Manager が第一候補。
2) 暗号化方式と “KMS との関係” の位置づけ
両者とも AWS KMS と連携して暗号化できますが、説明のされ方(設計の重心)が異なります。
Parameter Store:SecureString を KMS で暗号化
Parameter Store では SecureString 型のパラメータを作成すると、KMS を使って値を暗号化して保存・復号して取得します。
- 公式:SecureString と KMS 暗号化
https://docs.aws.amazon.com/systems-manager/latest/userguide/secure-string-parameter-kms-encryption.html
Secrets Manager:シークレット管理に最適化された暗号化(KMS を利用)
Secrets Manager はシークレット値の保護に KMS を利用し、暗号化・復号の仕組みを明確に説明しています(封筒暗号 / データキー等)。
- 公式:Secrets Manager の暗号化・復号(KMS 連携)
https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html
試験の観点:「どちらも KMS で暗号化できる」ことは共通。差は「Secrets Manager は“シークレット専用運用(ローテーション等)込み”で設計されている」点。
3) 料金モデル(コストの問われ方)
CLF では「無料/有料」「課金の粒度」が問われやすいです。
Parameter Store:Standard は追加料金なし、Advanced は課金
- 公式:Systems Manager 料金(Parameter Store:Standard/Advanced)
https://aws.amazon.com/systems-manager/pricing/
Secrets Manager:シークレット数と API 呼び出しで課金
- 公式:Secrets Manager 料金(シークレット数・API コール)
https://aws.amazon.com/secrets-manager/pricing/
試験の選び分け目安:「まずは低コストで設定値を集中管理」→ Parameter Store(Standard)、「運用込みでシークレット管理」→ Secrets Manager。
4) アクセス制御:IAM 中心か、リソースベースポリシーも使えるか
Parameter Store は IAM(アイデンティティベースポリシー)でアクセス制御するのが基本です。
- 公式:Parameter Store のアクセス制御(IAM ポリシー)
https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html
Secrets Manager は IAM に加えて、シークレットへリソースベースポリシーを付与できる点が特徴です(クロスアカウント共有などの設計で効きます)。
- 公式:Secrets Manager のリソースベースポリシー
https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html
5) バージョン管理:更新・ロールバックの設計
Secrets Manager はシークレットにバージョンとステージングラベル(例:AWSCURRENT / AWSPREVIOUS / AWSPENDING)を付けて管理します。ローテーションや切り戻し運用と相性が良い設計です。
- 公式:シークレットのバージョン(ラベルの考え方)
https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/whats-in-a-secret.html
比較まとめ(試験で迷わない“最短表”)
| 観点 | Parameter Store | Secrets Manager |
|---|---|---|
| 主目的 | 設定値管理(必要なら機密も) | シークレット管理(運用込み) |
| 暗号化 | SecureString を KMS で暗号化 | KMS を使った暗号化(シークレットに最適化) |
| ローテーション | 自動ローテーションが主役ではない(Parameter policies はあり) | 自動ローテーションが中核機能 |
| 料金 | Standard は追加料金なし、Advanced は課金 | シークレット数・API コールで課金 |
| アクセス制御 | IAM 中心 | IAM + リソースベースポリシー |
| 試験での選び分け | 「設定を安全に一元管理」 | 「認証情報を安全に運用(更新含む)」 |
CLF 直前チェック:典型問題の“型”
- 「DB 認証情報を定期的に自動更新し、アプリは都度取得」→ AWS Secrets Manager
- 「環境ごとの設定値を階層的に管理し、必要な値を取得」→ Parameter Store
- 「追加料金なしで Secure な値保管をしたい(要件が軽い)」→ Parameter Store(Standard + SecureString)
- 「1つのシークレットを複数アカウント/複数ロールへ共有したい」→ Secrets Manager(リソースベースポリシー)
一次情報リンク(復習用)
- Parameter Store:SecureString と KMS
https://docs.aws.amazon.com/systems-manager/latest/userguide/secure-string-parameter-kms-encryption.html - Parameter Store:アクセス制御(IAM)
https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html - Parameter Store:Parameter policies(Expiration 等)
https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html - Systems Manager 料金(Parameter Store)
https://aws.amazon.com/systems-manager/pricing/ - Secrets Manager:ローテーション
https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html - Secrets Manager:暗号化(KMS)
https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html - Secrets Manager:リソースベースポリシー
https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html - Secrets Manager 料金
https://aws.amazon.com/secrets-manager/pricing/
