Secret Manager は、API キー、ユーザー名、パスワード、証明書などの機密データを保存して管理できるシークレットおよび認証情報管理サービスです。
シークレットは、メタデータとシークレット バージョンのコレクションを含むグローバル リソースです。メタデータには、レプリケーションのロケーション、ラベル、アノテーション、権限を含めることができます。
シークレット バージョンには、API キー、パスワード、証明書などの実際のシークレット データが保存されます。各バージョンは一意の ID またはタイムスタンプで識別されます。バージョンを使用すると、監査証跡が提供され、シークレットが時間の経過とともにどのように変化したかを追跡できます。
Secret Manager を使用すると、次のことができます。
-
バージョンを使用してロールバック、復元、監査を管理する: バージョンを使用すると、段階的なロールアウトと緊急ロールバックを管理できます。シークレットが誤って変更された場合や侵害された場合は、以前の既知の良好なバージョンに戻すことができます。これにより、潜在的なダウンタイムとセキュリティ侵害を最小限に抑えることができます。バージョニングでは、シークレットに加えられた変更(変更を加えたユーザーと日時を含む)の履歴が保持されます。シークレット データを監査し、不正アクセスの試みを追跡するのに役立ちます。シークレット バージョンを特定のワークロードに固定し、エイリアスを追加して、シークレット データに簡単にアクセスできます。必要のないシークレット バージョンを無効にするか破棄することもできます。
-
転送中と保存中のシークレット データを暗号化する: すべてのシークレットはデフォルトで暗号化されます。転送中は TLS を使用して、保存中は AES 256 ビット暗号鍵を使用して暗号化されます。よりきめ細かい制御が必要な場合は、顧客管理の暗号鍵(CMEK)を使用してシークレット データを暗号化できます。CMEK を使用すると、特定の要件を満たすように新しい暗号鍵を生成したり、既存の暗号鍵をインポートしたりできます。
-
きめ細かい Identity and Access Management(IAM)のロールと条件を使用してシークレットへのアクセスを管理する: IAM のロールと権限を使用すると、特定の Secret Manager リソースに対する きめ細かいアクセス権を付与できます。シークレットのアクセス、管理、監査、ローテーションの責任を分離できます。
-
セキュリティとコンプライアンスの要件を満たすようにシークレットを自動的にローテーションする: シークレットのローテーションにより、不正アクセスやデータ侵害を防ぐことができます。シークレットを定期的に変更すると、シークレットが古くなったり忘れられたりするリスクが軽減され、機密性の高い認証情報を定期的にローテーションする必要がある多くの規制フレームワークに準拠できます。
-
リージョン シークレットを使用してデータ所在地を適用する: データ所在地では、特定の種類のデータ(多くの場合、特定の個人または組織に属するデータ)を定義された地理的位置に保存する必要があります。リージョン シークレットを作成して、機密データを特定のロケーションに保存し、データ主権に関する法律や規制を遵守できます。
- データ所在地とリージョン シークレットについて学習する。
- リージョン シークレットを作成する方法を学習する。
- リージョン シークレット バージョンを追加する方法を学習する。
- リージョン シークレットを編集する方法を確認する。
シークレット管理と鍵管理の違い
シークレット管理と鍵管理はどちらもデータ セキュリティの重要なコンポーネントですが、目的が異なり、扱う機密情報の種類も異なります。シークレット管理と鍵管理のどちらを選択するかは、特定のニーズによって異なります。機密データを安全に保存して管理する場合は、シークレット管理システムが適切なツールです。暗号鍵を管理し、暗号オペレーションを実行する場合は、鍵管理システムを選択することをおすすめします。
次の表に、Secret Manager と鍵管理システム(Cloud Key Management Service(Cloud KMS)など)の主な違いを示します。
特徴 | Secret Manager | Cloud KMS |
---|---|---|
主な職務 | シークレットをバイナリ blob またはテキスト文字列として保存、管理、アクセスします。 | 暗号鍵を管理し、それを使用してデータを暗号化または復号します。 |
保存データ | 実際のシークレットの値。適切な権限を使用して、シークレットのコンテンツを表示できます。 | 暗号鍵。暗号化と復号のオペレーションに使用される実際の暗号シークレット(ビットとバイト)を表示、抽出、エクスポートすることはできません。 |
暗号化 | Google が管理する鍵または顧客管理の鍵を使用して、保存中と転送中のシークレットを暗号化します。 | 他のサービスの暗号化と復号機能を提供します。 |
一般的なユースケース | 実行時にアプリケーションが必要とする構成情報(データベース パスワード、API キー、TLS 証明書など)を保存します。 | データベース内の行の暗号化や、イメージやファイルなどのバイナリデータの暗号化など、大規模な暗号化ワークロードを処理します。また、署名や検証など、他の暗号オペレーションに Cloud KMS を使用することもできます。 |
シークレットの暗号化
Secret Manager は、シークレット データをディスクに保存する前に常に暗号化します。Google Cloud の暗号化オプションの詳細については、保存時の暗号化をご覧ください。
Secret Manager は、Google が独自の暗号化データに使用するものと同じ堅牢な鍵管理システム(厳格な鍵アクセス管理や監査を含む)を使用して、ユーザーに代わってサーバーサイドの暗号鍵を管理します。Secret Manager は、AES-256 を使用してユーザーの保存データを暗号化します。セットアップや構成は必要なく、サービスへのアクセス方法を変更する必要もありません。また、パフォーマンスへの明らかな影響もありません。シークレット データは、認可済みユーザーがアクセスすると、自動的かつ透過的に復号されます。
Secret Manager API は常に、安全な HTTP(S) 接続を介して通信を行っています。
追加の保護レイヤが必要な場合は、CMEK を有効にして、Cloud Key Management Service に保存されている独自の暗号鍵を使用して、Secret Manager に保存されているシークレットを保護できます。顧客管理の暗号鍵を使用する方法については、リージョン シークレットに CMEK 暗号化を追加するをご覧ください。