Security Command Center の CMEK を有効にする

デフォルトでは、Security Command Center はお客様のコンテンツを保存時に暗号化します。Security Command Center では、ユーザーが追加で操作を行わなくても暗号化が行われます。このオプションは、Google のデフォルトの暗号化と呼ばれます。

暗号鍵を管理する場合は、Cloud KMS の顧客管理の暗号鍵(CMEK)を、Security Command Center などの CMEK 統合サービスで使用できます。Cloud KMS 鍵を使用すると、保護レベル、ロケーション、ローテーション スケジュール、使用とアクセスの権限、暗号境界を制御できます。 Cloud KMS を使用すると、鍵の使用状況を追跡すること、監査ログを表示すること、鍵のライフサイクルを管理することが可能です。 データを保護する対称鍵暗号鍵(KEK)は Google が所有して管理するのではなく、ユーザーが Cloud KMS でこれらの鍵を制御および管理します。

CMEK を使用してリソースを設定した後は、Security Command Center リソースへのアクセスは、Google のデフォルトの暗号化を使用する場合と同様です。暗号化オプションの詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。

職掌分散をサポートし、鍵へのアクセスを詳細に制御するには、他の Google Cloud リソースを含む別のプロジェクト内で鍵を作成し、管理することをおすすめします。

Security Command Center で CMEK を使用すると、プロジェクトで Cloud KMS 暗号リクエストの割り当てが消費されることがあります。CMEK で暗号化されたインスタンスは、Security Command Center でデータを読み書きするときに割り当てを消費します。 CMEK 鍵を使用する暗号化と復号の処理は、ハードウェア(Cloud HSM)鍵または外部(Cloud EKM)鍵を使用する場合にのみ、Cloud KMS の割り当てに影響します。 詳細については、Cloud KMS の割り当てをご覧ください。

Security Command Center で CMEK を使用するには、Security Command Center 組織を有効にするときに CMEK を選択する必要があります。Security Command Center を有効にした後で、データ暗号化を構成することはできません。プロジェクト レベルでの有効化中に CMEK を構成することはできません。詳細については、以下をご覧ください。

CMEK 組織のポリシーを使用すると、Security Command Center を有効にするときに、選択した暗号化設定を適用できます。Security Command Center で CMEK の組織のポリシーを使用する方法については、CMEK の組織のポリシーを使用するをご覧ください。

CMEK は、Security Command Center と Security Command Center API で次のデータを暗号化します。

  • 検出結果
  • 通知構成
  • BigQuery Export
  • ミュートの構成

始める前に

Security Command Center の CMEK を設定する前に、次の操作を行います。

  1. Google Cloud CLI をインストールして初期化します。

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
  2. Cloud KMS が有効になっている Google Cloud プロジェクトを作成します。これが鍵のプロジェクトになります。

  3. 正しいロケーションにキーリングを作成します。キーリングのロケーションは、Security Command Center を有効にするロケーションと一致している必要があります。各 Security Command Center のロケーションに対応するキーリングのロケーションを確認するには、このドキュメントの鍵のロケーションにある表をご覧ください。キーリングの作成方法の詳細については、キーリングを作成するをご覧ください。

  4. キーリングに Cloud KMS 鍵を作成します。キーリングに鍵を作成する方法の詳細については、鍵を作成するをご覧ください。

  5. Cloud Security Command Center サービス アカウントがデータの暗号化と復号に必要な権限を持つようにするため、Cloud KMS 鍵に対する Cloud KMS CryptoKey の暗号化 / 復号 roles/cloudkms.cryptoKeyEncrypterDecrypter)IAM ロールを Cloud Security Command Center サービス アカウントに付与するよう管理者に依頼してください。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    管理者は、カスタムロールや他の事前定義ロールを使用して、Cloud Security Command Center サービス アカウントに必要な権限を付与することもできます。

鍵のロケーション

Cloud KMS 鍵のロケーションは、Security Command Center を有効にしたロケーションに対応している必要があります。次の表に、Security Command Center の各ロケーションに対応する Cloud KMS 鍵のロケーションを示します。

Security Command Center のロケーション Cloud KMS 鍵のロケーション
eu europe
global us
sa me-central2
us us

Security Command Center を有効にするときにデータ所在地を有効にしない場合は、Security Command Center のロケーションに global を使用し、Cloud KMS 鍵のロケーションに us を使用します。データ所在地について詳しくは、データ所在地に関する計画をご覧ください。

Security Command Center で constraints/gcp.restrictNonCmekServices 組織のポリシー制約を使用する場合、使用できる暗号化オプションは CMEK のみです。

制限事項

Security Command Center で CMEK を使用する場合の制限事項は次のとおりです。

  • 有効にする組織の組織またはプロジェクトで Security Command Center をすでに有効にしている場合、その組織の Security Command Center で CMEK を使用することはできません。
  • プロジェクト レベルでの有効化中に CMEK を構成することはできません。
  • Security Command Center を有効にした後は、Cloud KMS 鍵を変更したり、Google-owned and Google-managed encryption key に切り替えることはできません。

  • 鍵をローテーションすると、Security Command Center で新しい鍵バージョンが使用されます。ただし、一部の Security Command Center 機能では、30 日間は古い鍵が引き続き使用されます。

Security Command Center で CMEK 組織のポリシーを使用する

Security Command Center で CMEK の使用を適用するには、次の組織ポリシーを組織レベル、フォルダレベル、またはプロジェクト レベルで適用します。

  • constraints/gcp.restrictNonCmekServices。CMEK を使用する必要があります。組織で constraints/gcp.restrictNonCmekServices を設定し、CMEK の使用に必要な制限付きサービスとして Security Command Center を指定している場合は、Security Command Center を有効にするときに CMEK を使用する必要があります。
  • constraints/gcp.restrictCmekCryptoKeyProjects。Security Command Center で CMEK を使用する場合は、特定のプロジェクトまたはプロジェクトのセットの鍵を使用する必要があります。constraints/gcp.restrictCmekCryptoKeyProjects 組織のポリシーでは、Google のデフォルトの暗号化を選択できます。

Security Command Center を有効にする組織で constraints/gcp.restrictNonCmekServicesconstraints/gcp.restrictCmekCryptoKeyProjects の両方を設定すると、Security Command Center で CMEK を使用する必要があり、CMEK 鍵が特定のプロジェクトに存在する必要があります。

プロジェクトまたはフォルダに constraints/gcp.restrictNonCmekServices を設定する場合は、Security Command Center を有効にして Security Command Center を制限付きサービスとしてリストする組織で CMEK を使用する必要があります。そうしないと、Security Command Center の一部の機能が正しく動作しません。

Google Cloud リソース階層(組織、フォルダ、プロジェクト)全体で組織のポリシーがどのように評価されるかについては、階層評価についてをご覧ください。

CMEK の組織のポリシーの使用に関する一般的な情報については、CMEK の組織のポリシーをご覧ください。

Security Command Center 用に CMEK を設定する

Security Command Center で CMEK を使用するには、次の操作を行います。

  1. 組織の Security Command Center の有効化時に、[データ暗号化を編集] を選択します。[データ暗号化の設定を編集] ペインが開きます。
  2. [Cloud KMS 鍵] を選択します。
  3. プロジェクトを選択します。
  4. 鍵を選択します。他の組織のプロジェクトを含め、任意の Google Cloud プロジェクトから鍵を選択できます。互換性のあるロケーションの鍵のみがリストに表示されます。Security Command Center の CMEK 鍵のロケーションの詳細については、鍵のロケーション セクションの表をご覧ください。
  5. [完了] をクリックして、Security Command Center の有効化プロセスを続行します。

組織で Security Command Center を有効にすると、Security Command Center は選択した Cloud KMS 鍵を使用してデータを暗号化します。

CMEK 構成を確認する

Security Command Center の CMEK が正常に設定されたことを確認するには:

  1. Security Command Center で、[設定] を選択します。
  2. [ティアの詳細] タブに移動します。
  3. [詳細を設定] > [データ暗号化] に移動して、鍵の名前を表示します。Security Command Center の CMEK が設定されている場合、鍵の名前は [データ暗号化] の後にリンクとして表示されます。

Security Command Center の CMEK のトラブルシューティング

Security Command Center スタンダードとプレミアムで CMEK を有効にするための追加料金は発生しませんが、Security Command Center が CMEK を使用してデータの暗号化と復号を行う場合、Cloud KMS で料金が発生します。詳細については、Cloud KMS の料金をご覧ください。

Security Command Center へのアクセス権を復元する

CMEK が有効になっている場合、Security Command Center サービス アカウントが機能するには、Cloud KMS 鍵へのアクセス権が必要です。CMEK に対するサービス アカウントの権限を取り消したり、CMEK を無効にしたり、CMEK の破棄をスケジュールしないでください。これらのアクションを行うと、次の Security Command Center の機能がすべて停止します。

  • 検出結果
  • 継続的エクスポートの構成
  • BigQuery Export
  • ミュートルール

Security Command Center を使用しようとしたときに Cloud KMS 鍵が使用できない場合は、エラー メッセージまたは FAILED_PRECONDITION API エラーが表示されます。

Cloud KMS 鍵に次のいずれかの問題があるため、Security Command Center の機能が失われる可能性があります。

鍵が取り消された後に Security Command Center へのアクセス権を復元する

Security Command Center で鍵へのアクセス権を復元するには、鍵に対する Cloud KMS CryptoKey の暗号化/復号ロールを Cloud Security Command Center サービス アカウントに付与します。

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --keyring KEY_RING \
    --location LOCATION \
    --member=serviceAccount:service-org-ORG_NUMBER@security-center-api.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

次のように置き換えます。

  • KEY_RING: Cloud KMS 鍵のキーリング
  • LOCATION: Cloud KMS 鍵のロケーション
  • KEY_NAME: Cloud KMS 鍵の名前
  • ORG_NUMBER: 組織番号

鍵が無効になった後に Security Command Center へのアクセス権を復元する

無効になっている鍵を有効にする方法については、鍵バージョンを有効にするをご覧ください。

鍵の破棄がスケジュールされた後に Security Command Center へのアクセス権を復元する

破棄がスケジュールされている鍵の復元方法については、鍵バージョンの破棄と復元をご覧ください。

鍵を破棄すると、復元できなくなり、Security Command Center へのアクセスを復元できなくなります。

保護されたリソースの作成エラー

新しい検出結果、通知構成、ミュート構成、BigQuery エクスポートの作成でエラーが発生した場合は、組織またはその組織内のプロジェクトやフォルダに CMEK 組織のポリシーが設定されているかどうかを確認します。

Security Command Center 組織を有効にするときに Google-owned and Google-managed encryption keys を選択し、組織内のプロジェクトまたはフォルダに constraints/gcp.restrictNonCmekServices CMEK 組織ポリシーを設定して、制限付きサービスとして Security Command Center をリストに登録すると、そのプロジェクトまたはフォルダに新しい保護リソースを作成できません。詳細については、Security Command Center で CMEK 組織のポリシーを使用するをご覧ください。

料金

Security Command Center スタンダードまたはプレミアムで CMEK を有効にするための追加料金は発生しませんが、Security Command Center が CMEK を使用してデータの暗号化または復号を行う場合、Cloud KMS で料金が発生します。詳細については、Cloud KMS の料金をご覧ください。