はじめに
Secrets ManagerとSystems Manager Parameter Storeで同じことをやっていないか?と思ったのでそれぞれのサービスについてまとめてみました。
(2024/12/8編集)自動ローテーションの詳細について記載しました。
AWS Secrets ManagerとAWS Systems Manager Parameter Storeの比較
AWSには、機密情報や構成データを管理するための2つの主要なサービス、Secrets Manager
とSystems Manager Parameter Store
があります。
それぞれの特徴とできること、できないことを以下にまとめました。
特徴/機能 | AWS Secrets Manager | AWS Systems Manager Parameter Store |
---|---|---|
機密情報の管理 |
APIキー、パスワード、データベース資格情報などの機密情報を管理 | 環境変数や構成データの管理も可能(シークレットも含む) |
自動ローテーション |
シークレットの自動ローテーションをサポート(※1) | 自動ローテーション機能はない |
料金 |
使用量に応じて料金が発生(シークレットごとに課金) | 無料で利用可能(高負荷時に追加料金発生の可能性あり) |
パラメータタイプ |
シークレット専用 |
String , StringList , SecureString の3種類 |
KMS統合 |
KMSによるシークレットの暗号化をサポート | SecureStringタイプでKMS暗号化をサポート |
バージョニング |
バージョン管理をサポート | 最大100バージョンまでのバージョニングをサポート |
階層的パラメータ管理 |
サポートなし | 階層構造のパラメータ管理が可能 |
アクセス制御 |
IAMポリシーでのアクセス制御 | IAMポリシーおよび条件付きアクセスをサポート |
タグ付けとリソースポリシー |
タグ付けとリソースポリシーをサポート | タグ付けとリソースポリシーをサポート |
イベントトリガー |
シークレットの変更時にトリガーを設定可能 | トリガー機能なし |
多目的利用 |
機密情報の管理に特化 | 構成データや環境変数も含む広範囲のデータを管理 |
最大文字数 |
64KB |
String : 4KB, SecureString : 4096バイト |
リージョン間レプリケーション |
サポート | 現時点で公式サポートなし |
- ※1
自動ローテーションには、マネージドローテションとLambda関数によるローテションがあります。
マネージドローテーションに対応しているサービスは2024/12/8時点で以下の通りです。その他のサービスのローテーションを実施する際にはLambda関数によるローテションでサービスの認証情報を変更する必要があります。- Amazon Aurora
- Amazon ECS
- Amazon RDS
- Amazon Redshift
主な違い
- Secrets Managerは、機密情報を安全に管理するために設計されており、自動ローテーション機能やAPIキー、データベース資格情報の管理に最適です。
- Systems Manager Parameter Storeは、環境変数や構成データの管理にも対応しており、無料で利用可能な点が大きなメリットです。自動ローテーションはありませんが、設定情報やシークレットを階層的に管理できるため、広範囲のパラメータ管理に適しています。
どちらを選ぶべきか?
両サービスの違いを理解した上で、用途に応じて使い分けることが重要です。
例えば、APIキーやデータベースのパスワードなどの機密情報を安全に管理したい場合は、Secrets Managerが適しています。
一方で、シークレット以外にも環境変数や構成データを含めた設定管理を行いたい場合は、Parameter Storeの方が柔軟に対応できます。
参考
|