このドキュメントでは、Secret Manager の主なコンセプトについて説明します。
シークレット管理と鍵管理
Secret Manager を使用すると、シークレットをバイナリ blob またはテキスト文字列として保存、管理、アクセスできます。適切な権限を使用して、シークレットのコンテンツを表示できます。
Secret Manager は、実行時にアプリケーションが必要とする構成情報(データベース パスワード、API キー、TLS 証明書など)を保存するのに便利です。
Cloud KMS などの鍵管理システムを使用すると、暗号鍵を管理し、それを使用してデータの暗号化や復号を行うことができます。ただし、鍵マテリアル自体を表示、抽出、エクスポートすることはできません。
同様に、機密データを送信または保存する前に、鍵管理システムを使用して暗号化できます。そして、使用する前に機密データを復号できます。このようにして鍵管理システムでシークレットを保護する方法は、Secret Manager を使用するよりも複雑で効率が低くなります。
Cloud KMS は、データベース内の行の暗号化や、イメージやファイルなどのバイナリデータの暗号化するなど、大規模な暗号化ワークロードを処理するために設計されています。また、署名や検証など、他の暗号オペレーションに Cloud KMS を使用することもできます。
ペイロード サイズ、リソース量、レート制限の詳細については、シークレット マネージャーの割り当てをご覧ください。
シークレット
シークレットは、メタデータとシークレット バージョンのコレクションを含むプロジェクト グローバル オブジェクトです。メタデータには、レプリケーションのロケーション、ラベル、アノテーション、権限を含めることができます。シークレット バージョンには、API キーや認証情報などの実際のシークレット データが保存されます。
バージョン
シークレット バージョンには、API キー、パスワード、証明書などの実際のシークレット データが保存されます。
シークレットの各バージョンに対処できます。バージョンは変更できませんが、削除することはできます。
ローテーション
新しいシークレット バージョンをシークレットに追加することで、シークレットをローテーションします。有効になっている場合は、そのシークレットのすべてのバージョンにアクセスできます。シークレット バージョンを使用できないようにするには、そのバージョンを無効にします。
シークレットのローテーションをスケジュールすることもできます。
次のステップ
- シークレットの作成方法を学習する。
- シークレット バージョンを追加する方法を学習する。
- シークレットを編集する方法を学習する。
- 割り当てと制限について学習する。
- ベスト プラクティスについて確認する。