初めに
AWS Systems Manager Parameter Store と AWS Secrets Manager についてどちらも認証情報など、漏れてはいけない大切な情報を扱うサービス。という程度の理解で、いまいち使い分けがわからなかったので、簡単にまとめました。
この記事でわかること
- 2つのサービスの特徴と違い
- どのような値を保持しているのか
それぞれの特徴
AWS Systems Manager Parameter Store
- 階層的にパラメータを整理できる。
- バージョン管理が可能で、過去のパラメータ値にロールバックできます。
- IAMポリシーを使用してアクセス制御が可能。
- 無料(一部制限あり)
AWS Secrets Manager
- 自動的に機密情報のローテーションが可能。
- IAMポリシーを使用してアクセス制御が可能。
- AWS CloudTrailログを使用して、シークレットのアクセス履歴を追跡できる。
- 有料
ざっくりいうと、
Parameter Storeは無料で使えるのでとりあえず使ってみて、いろいろ細かい設定をする必要があれば有料のSecret Managerを使ってみてねってことです。
例えば、セキュリティ的にデータベースへのアクセス情報は周期的に変更する必要がある。
といった時は、Secrets Managerのローテーション機能を使うみたいな。
まずはParameter Storeで要件を満たすことができるかということを検討するといいと思います。
何を保存しているか
AWS Systems Manager Parameter Store
- 環境変数の保存
- アプリケーション設定の保存
- データベース接続文字列の保存
- 文字列、テキスト、JSON、バイナリデータなど
AWS Secrets Manager
- パスワード、資格情報、APIキーなどの認証情報
- データベースの証明書、ホスト名、ポート番号などの接続情報
- SSHキー、AWSのアクセスキー、シークレットキーなど
などなど。
終わりに
基本的に保存している内容としては同じようなものが多い印象です。
アーキテクトの構成をする場合は、どのような要件が必要か洗い出した上で
Systems Manager Parameter Storeでカバーしきれない場合は、より細かい設定ができるSecrets Managerという感じです。