質問: AWS で秘匿値を扱う方法には、AWS Systems Manager Parameter Store と AWS Secrets Manager のふたつがあると知りました。 この両者はどのように違い、どのように使い分けるべきなのでしょうか? たとえば次のようなことを気にしています。 * 想定用途や使われ方に違いはありますか? * 性能に違いはありますか? * API でできることに大きな違いはありますか? * 他の AWS サービスとの連携に特筆すべき違いはありますか? * 料金に大きな違いはありますか? 詳細に書くと長くなりそうなので、特徴的な部分を教えていただきつつ、残りはドキュメント等にリンクしていただければ嬉しいです。
回答: Systems Manager の FAQ と双方の課金体系ドキュメントを読みました。 ざっくりとした理解ですが、私が重要そうだと思った違いは以下の 2 点です: * Parameter Store のスタンダードタイプは追加料金無しで利用できる。 * Secret Manger では秘匿値のローテーションとデータベース統合ができる。 以下ドキュメントからの引用です。 > > AWS シークレットマネージャーは、ローテーション、監査、アクセスコントロールと言った組織でのシークレットのライフサイクルを中央で管理するためのサービスです。シークレットマネージャーを使うと、シークレットを自動的にローテーションできるようになるので、セキュリティとコンプライアンスの要件を満たすのに役立ちます。シークレットマネージャーは MySQL、PostgreSQL、Amazon Aurora on Amazon RDS への統合を組み込むことができ、これは Lambda 関数のカスタマイズで他のタイプのシークレットにも拡張できます。 > > > AWS Systems Manager パラメータストアには、設定データ管理のためのセキュアで、階層的なストレージがあり、これにはシークレットも含みます。データベース接続タイプ、文字れる、パスワードとライセンスコードはパラメータ値として保存され、監査とアクセスコントロールが可能です。保存された値はプレーンテキストでも暗号化されたデータでも構いません。値はパラメータ固有の名前で参照できます。システムマネージャーパラメータを参照してジェネリック設定と自動化スクリプトを構築して、Amazon ECS や AWS CloudFormation など様々な AWS サービスにわたって使用できます。 > > > > > AWS Systems Manager パラメータストアはスタンダードパラメータとアドバンスドパラメータで構成されています。スタンダードパラメータは追加料金なしでご利用いただけます。 > > > > > Secrets Manager の料金は、保存するシークレットの数と、使用する API コールの数に基づきます。 > > >