SSM Parameter Store vs. Secrets Manager

比較項目Parameter StoreSecrets Manager
情報の保管単位"/dev/os-users"のような階層型のパラメータに保管可能。パラメータには1つまたは複数の値を保管可能。パラメータと値は1:1または1:ndev/db-string"のような階層型のシークレットに保管可能。シークレットには、1つまたは複数の「キーと値のペア」を保管可能。シークレットと、「キーと値のペア」は1:1または1:n
保管された情報の暗号化暗号化され、KMSに保存暗号化され、KMSに保存
保管された情報へのAPIアクセス可能可能
APIアクセス時のRate limit非公開700 Req/sec ※DescribeSecret、GetSecretValueの場合(参照)
保管された情報へのアクセス制御IAMポリシーで制御可能IAMポリシーで制御可能
連携可能なAWSサービス多数(参照)RDS for MySQL、PostgreSQL、Auroraの認証情報保存を標準サポート(Secrets Managerの設定画面上で、対象のRDSを選択可能)。AWS CLIやSDKを通じてEC2やECS、Labmda等と連携可能
保管された情報のバージョニング複数バージョンを保持可能。1パラメータにつき100(参照)複数バージョンを保持可能。Secrets Managerの内部的には1シークレットにつき約100保持可能だが、バージョンに付与できるラベルの最大数は20(参照)。バージョンとラベルの関係性については、クラメソさんのブログが詳しい
保管された情報の使用状況の監査・監視CloudTrail、CloudWatch、SNSを活用して監査・監視可能CloudTrail、CloudWatch、SNSを活用して監査・監視可能
シークレット情報の自動更新Parameter Storeの機能としては不可。AWS CLIやLambda等を活用して作り込みすることで対応可能RDS for MySQL、PostgreSQL、Auroraの認証情報自動更新を標準サポート。その他DBの接続情報やAPIキー等は、Parameter Storeにて提供されるLambdaスクリプトをカスタマイズすることで対応可能
利用料金無料。但し、暗号化に利用されるKMSにてCMK(カスタマーマスターキー。ユーザ側で生成したキー)を利用する場合、KMSのAPI呼び出し料金が必要有料。シークレット 1 件あたり 0.40 USD/月。10,000 回の API コールあたり 0.05 USD。料金例はこちら。更に、Parameter Storeと同様、KMSの暗号化にCMKを利用する場合、KMSのAPI呼び出し料金が必要

REF

  • https://qiita.com/tomoya_oka/items/a3dd44879eea0d1e3ef5