シークレットマネージャーとは?
しーくれっとまねーじゃー
シークレットマネージャーとは、パスワードやAPIキーなどの機密情報を安全に管理・自動ローテーションするサービスのことです。
シークレットマネージャー(Secrets Manager)とは、データベースのパスワード、APIキー、OAuthトークン、SSHキーなどの機密情報(シークレット)を安全に保存・管理し、アプリケーションから安全に取得できるようにするサービスです。AWS Secrets Managerが代表的ですが、HashiCorp VaultやGCP Secret Manager、Azure Key Vaultなど各クラウドやOSSにも同様のサービスが存在します。
従来はパスワードをソースコードや設定ファイルにハードコードするケースが多く、リポジトリへの流出などセキュリティリスクが高い状態でした。シークレットマネージャーを使うことで次のメリットが得られます。
- 暗号化保存:シークレットはKMSなどで暗号化されて保管されます。
- アクセス制御:IAMポリシーなどで取得権限を細かく制限できます。
- 自動ローテーション:定期的にパスワードを自動で更新し、漏洩リスクを低減します。
- 監査ログ:誰がいつシークレットを取得したかを記録できます。
アプリケーションはデプロイ時にシークレットマネージャーのAPIを呼び出してシークレットを動的に取得するため、ソースコードや環境変数ファイルに機密情報を書く必要がなくなります。DevSecOpsやゼロトラストセキュリティの観点からも重要なコンポーネントです。
使い方・例文
RDSデータベースへの接続パスワードをAWS Secrets Managerに保存し、アプリケーション起動時にSDKで取得することで、ソースコードや設定ファイルにパスワードを書かずに運用できます。
この用語をシェア
最終更新: