TOUCH THE SECURITY Powered by Security Service G

AWSにおいて、パスワードやIDなどを安全に保管できるサービスは2種類あります。 その2つのサービスとは、Secrets ManagerとParameter Storeです。 本記事では、両者の特徴を説明し、比較を行った後、それぞれのユースケースをご紹介いたします。
Parameter Storeとは
Parameter Storeは、AWS Systems Managerの一機能であり、設定データ管理と機密管理のための安全な階層型ストレージを提供するサービスです。 パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存する機能があります。 パラメータとはParameter Storeに保存されるデータのことで、以下の3つタイプに分かれています。保存するデータを暗号化したい場合は、3つ目の「安全な文字列」を使用します。
- 文字列(String)
- 文字列のリスト(StringList)
- 安全な文字列(SecureString)
参考ドキュメント: AWS Systems Manager Parameter Store
Secrets Managerとは
Secrets Managerデータベース認証情報やアプリケーション認証情報、OAuthトークン、APIキーなどのシークレットを管理できるサービスです。
ライフサイクルを通じて取得、ローテーションを実行できます。
参考ドキュメント: AWS Secrets Managerとは
両者の比較
Parameter StoreとSecrets Managerの特徴は、以下の比較表の通りです。
Parameter Store | Secrets Manager | |
---|---|---|
データの暗号化 | 可能(KMS) | 可能(KMS) |
アクセス制御 | IAMで可能 | IAMで可能 |
データごとの料金 | 0.40USD/月 | 無料(Standard) 0.05USD/月(Advanced) |
API使用料金 | 10000件あたり0.05USD | 無料(Standard) 10000件あたり0.05USD/月(Advanced) |
自動ローテーション | 可能 | 不可能 |
複数リージョンへのレプリケート | 不可能 | 可能 |
参考ドキュメント: AWS Systems Managerの料金
AWS Secrets Managerの料金
ユースケース
データを暗号化して保管する際、コスト最適化の視点から考えると、基本的な機能はParameter Storeで十分です。 そして、以下の要件のように、Parameter Storeでは実現できない機能が求められる際には、Secrets Managerを使用する、という使い分けをすれば良いでしょう。
Parameter Storeを使用する際の要件
- 低コストでデータを安全に保管したい
- 特定のリージョンでのみ保管したい
Secrets Managerを使用する際の要件
- 他のリージョンで参照したい
- 自動ローテーションを設定したい
- データベースへの認証情報を1つのシークレットで管理したい