Secret Manager の概要

Secret Manager は、API キー、ユーザー名、パスワード、証明書などの機密データを保存して管理できるシークレットおよび認証情報の管理サービスです。

シークレットは、メタデータとシークレット バージョンのコレクションを含むグローバル リソースです。メタデータには、ラベル、アノテーション、権限を含めることができます。

シークレット バージョンには、API キー、パスワード、証明書などの実際のシークレット データが保存されます。各バージョンは一意の ID またはタイムスタンプで識別されます。

Secret Manager を使用すると、次のことができます。

  • バージョンを使用してロールバック、復元、監査を管理する: バージョンを使用すると、段階的なロールアウトと緊急ロールバックを管理できます。シークレットが誤って変更された場合や侵害された場合は、以前の既知の良好なバージョンに戻すことができます。これにより、ダウンタイムやセキュリティ侵害のリスクを最小限に抑えることができます。バージョニングでは、シークレットに加えられた変更(変更を加えたユーザーと日時を含む)の履歴が保持されます。シークレット データを監査し、不正アクセスの試みを追跡できます。シークレット バージョンを特定のワークロードに固定し、エイリアスを追加して、シークレット データに簡単にアクセスできます。必要のないシークレット バージョンを無効にする破棄することもできます。

  • 転送中と保存中のシークレット データを暗号化する: すべてのシークレットはデフォルトで暗号化されます。転送中は TLS を使用して、保存中は AES 256 ビット暗号鍵を使用して暗号化されます。よりきめ細かい制御が必要な場合は、顧客管理の暗号鍵(CMEK)を使用してシークレット データを暗号化できます。CMEK を使用すると、特定の要件を満たすように新しい暗号鍵を生成したり、既存の暗号鍵をインポートしたりできます。

  • きめ細かい Identity and Access Management(IAM)のロールと条件を使用してシークレットへのアクセスを管理する: IAM のロールと権限を使用すると、特定の Secret Manager リソースに対するきめ細かいアクセス権を付与できます。シークレットのアクセス、管理、監査、ローテーションの責任を分離できます。

  • シークレット レプリケーションで高可用性と障害復旧を確保する: 複数のリージョンにシークレットを複製して、地理的ロケーションに関係なくアプリケーションの高可用性と障害復旧を確保できます。次のレプリケーション ポリシーから選択できます。

    • 自動レプリケーション: Google が、可用性とレイテンシを考慮してリージョンを決定します。1 つのロケーションに対してのみ料金が発生します。

    • ユーザー管理のレプリケーション: 要件に応じて、カスタムのリージョン セットを選択できます。ロケーションごとに課金されます。

  • セキュリティとコンプライアンスの要件を満たすようにシークレットを自動的にローテーションする: シークレットのローテーションにより、不正アクセスやデータ侵害を防ぐことができます。シークレットを定期的に変更すると、シークレットが古くなったり忘れられたりするリスクが軽減され、機密認証情報の定期的なローテーションを義務付ける多くの規制フレームワークに準拠できます。

  • リージョン シークレットを使用してデータ所在地を適用する: データ所在地では、特定の種類のデータ(多くの場合、特定の個人または組織に属するデータ)を定義された地理的ロケーションに保存する必要があります。リージョン シークレットを作成して、機密データを特定のロケーションに保存し、データ主権に関する法律や規制を遵守できます。

  • シークレット管理と鍵管理の違い

    シークレット管理と鍵管理はどちらもデータ セキュリティの重要なコンポーネントですが、目的が異なり、扱う機密情報の種類も異なります。シークレット管理と鍵管理のどちらを選択するかは、特定のニーズによって異なります。機密データを安全に保存して管理する場合は、シークレット管理システムが適しています。暗号鍵を管理し、暗号オペレーションを行う場合は、鍵管理システムを選択することをおすすめします。

    次の表は、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 のドキュメントをご覧ください。

    次のステップ