Security Command Center にデータ プロファイルを公開する

このページでは、データ プロファイルで Security Command Center の検出結果を生成する場合に必要なアクションの概要について説明します。このページでは、生成された検出結果を検出するために使用できるクエリの例についても説明します。

データ プロファイルについて

組織、フォルダ、プロジェクト全体のデータに関するプロファイルを自動的に生成するように、Sensitive Data Protection を構成できます。データ プロファイルには、データに関する指標とメタデータが含まれており、機密データとリスクの高いデータの場所を特定できます。機密データの保護では、これらの指標がさまざまな詳細レベルで報告されます。プロファイリングできるデータの種類については、サポートされているリソースをご覧ください。

Security Command Center にデータ プロファイルを公開するメリット

この機能には、Security Command Center で次の利点があります。

  • Sensitive Data Protection の検出結果を使用して、機密データを一般公開したり、悪意のある行為者に公開したりする可能性のあるリソースの脆弱性構成ミスを特定して修復できます。

  • Sensitive Data Protection の検出結果を使用して、トリアージ プロセスにコンテキストを追加し、機密データを含むリソースを標的とする脅威に優先順位を付けることができます。

  • 攻撃パス シミュレーション機能を構成して、リソースに含まれるデータの機密性に基づいてリソースの優先度を自動的に設定できます。詳細については、データの機密性によってリソースの優先度値を自動的に設定するをご覧ください。

生成された Security Command Center の検出結果

Security Command Center にデータ プロファイルをパブリッシュするように検出サービスを構成すると、各テーブルデータ プロファイルまたはファイル ストア データ プロファイルは、次の Security Command Center の検出結果を生成します。

検出サービスからの脆弱性の検出結果

Sensitive Data Protection 検出サービスを使用すると、保護されていない機密性の高いデータが保存されているかどうかを判断できます。

カテゴリ 概要

API のカテゴリ名:

PUBLIC_SENSITIVE_DATA

検出結果の説明: 指定したリソースに、インターネット上の誰でもアクセスできる機密性の高いデータが含まれています。

サポートされているアセット:

  • aiplatform.googleapis.com/Dataset
  • bigquery.googleapis.com/Dataset
  • bigquery.googleapis.com/Table
  • sqladmin.googleapis.com/Instance
  • storage.googleapis.com/Bucket
  • Amazon S3 バケット
  • Azure Blob Storage コンテナ

修復:

Google Cloud データの場合は、データアセットの IAM ポリシーから allUsersallAuthenticatedUsers を削除します。

Amazon S3 データの場合は、公開アクセスのブロック設定を構成するか、オブジェクトの ACL を更新して公開読み取りアクセスを拒否します。詳細については、AWS ドキュメントで S3 バケットへのパブリック アクセス ブロック設定の構成ACL の設定をご覧ください。

Azure Blob Storage データの場合は、コンテナと blob への公開アクセスを削除します。詳細については、Azure のドキュメントの概要: blob データの匿名読み取りアクセスの修復をご覧ください。

コンプライアンス標準: マッピングされていません。

API のカテゴリ名:

SECRETS_IN_ENVIRONMENT_VARIABLES

検出結果の説明: 環境変数にシークレット(パスワード、認証トークン、 Google Cloud 認証情報など)が含まれています。

この検出機能を有効にするには、Sensitive Data Protection ドキュメントの環境変数のシークレットを Security Command Center に報告するをご覧ください。

サポートされているアセット:

修復:

Cloud Run functions の環境変数の場合は、環境変数からシークレットを削除し、代わりに Secret Manager にシークレットを保存します。

Cloud Run サービス リビジョンの環境変数の場合は、すべてのトラフィックをリビジョンから移動してから、リビジョンを削除します。

コンプライアンス標準:

  • CIS GCP Foundation 1.3: 1.18
  • CIS GCP Foundation 2.0: 1.18

API のカテゴリ名:

SECRETS_IN_STORAGE

検出結果の説明: 指定されたリソースにシークレット(パスワード、認証トークン、クラウド認証情報など)が含まれています。

サポートされているアセット:

  • aiplatform.googleapis.com/Dataset
  • bigquery.googleapis.com/Dataset
  • bigquery.googleapis.com/Table
  • sqladmin.googleapis.com/Instance
  • storage.googleapis.com/Bucket
  • Amazon S3 バケット
  • Azure Blob Storage コンテナ

修復:

  1. Google Cloud データの場合は、Sensitive Data Protection を使用して、指定したリソースの詳細な検査スキャンを実行し、影響を受けるすべてのリソースを特定します。Cloud SQL データの場合は、そのデータを Cloud Storage バケットの CSV または AVRO ファイルにエクスポートし、バケットの詳細な検査スキャンを実行します。

    他のクラウド プロバイダのデータについては、指定されたバケットまたはコンテナを手動で検査します。

  2. 検出されたシークレットを削除します。
  3. 認証情報のリセットを検討してください。
  4. Google Cloud データの場合は、検出されたシークレットを Secret Manager に保存することを検討してください。

コンプライアンス標準: マッピングされていません。

検出サービスによる構成ミスの検出結果

Sensitive Data Protection 検出サービスは、機密データを公開する可能性のある構成ミスがあるかどうかを判断する際に役立ちます。

カテゴリ 概要

API のカテゴリ名:

SENSITIVE_DATA_CMEK_DISABLED

検出結果の説明: 指定したリソースに高機密データまたは中程度の機密データが含まれていますが、リソースで顧客管理の暗号鍵(CMEK)を使用していません。

サポートされているアセット:

  • aiplatform.googleapis.com/Dataset
  • bigquery.googleapis.com/Dataset
  • bigquery.googleapis.com/Table
  • sqladmin.googleapis.com/Instance
  • storage.googleapis.com/Bucket
  • Amazon S3 バケット
  • Azure Blob Storage コンテナ

修復:

コンプライアンス標準: マッピングされていません。

検出サービスからのモニタリング結果

Data sensitivity
特定のデータアセット内のデータの機密レベルに関する指標。 PII など、追加の制御や管理を必要とする可能性がある要素が含まれるデータは、機密情報に該当します。検出結果の重大度は、データ プロファイルの生成時に Sensitive Data Protection が計算した機密性レベルです。
Data risk
現在の状態でのデータに関連するリスク。データリスクの計算時、Sensitive Data Protection では、データアセット内のデータの機密性レベルと、そのデータを保護するアクセス制御が考慮されます。検出結果の重大度は、データ プロファイルの生成時に Sensitive Data Protection が計算したデータリスク レベルです。

検出生成のレイテンシ

組織の規模によっては、機密データの検出を有効にしてから数分以内に、Sensitive Data Protection の検出結果が Security Command Center に表示され始めることがあります。大規模な組織や、検出結果の生成に影響する特定の構成を持つ組織では、最初の検出結果が Security Command Center に表示されるまでに最大 12 時間かかることがあります。

その後、検出サービスがリソースをスキャンしてから数分以内に、Sensitive Data Protection が Security Command Center で検出結果を生成します。

Security Command Center にデータ プロファイルを送信する

Security Command Center にデータ プロファイルを公開するワークフローの概要は次のとおりです。

  1. Security Command Center の有効化タイプを確認します。Security Command Center のサービスティアによっては、デフォルトの組織レベルの検出サブスクリプションが設定されている場合があります。

  2. Security Command Center が有効になっていない場合は、有効にします

  3. Security Command Center が Sensitive Data Protection からの検出結果を受け入れるように構成されていること、つまり、Security Command Center で Sensitive Data Protection が統合サービスとして有効になっていることを確認します。詳細については、Security Command Center のドキュメントのGoogle Cloud 統合サービスを追加するをご覧ください。

  4. スキャンするデータソースごとに検出スキャン構成を作成して、検出を有効にします。スキャン構成で、[Security Command Center に公開] オプションが有効になっていることを確認します。

    Security Command Center にデータ プロファイルをパブリッシュしない既存の検出スキャン構成がある場合は、このページの既存の構成で Security Command Center へのパブリッシュを有効にするをご覧ください。

組織でデフォルト設定を使用して検出を有効にする

検出を有効にするには、スキャンするデータソースごとに検出構成を作成します。作成した構成は編集できます。構成の作成プロセスで設定をカスタマイズするには、スキャン構成を作成するをご覧ください。

組織レベルでデフォルト設定を使用して検出を有効にする手順は次のとおりです。

  1. Google Cloud コンソールで、Sensitive Data Protection の [検出を有効にする] ページに移動します。

    [検出を有効にする] に移動

  2. Security Command Center を有効にした組織が表示されていることを確認します。

  3. [検出を有効にする] ペインの [サービス エージェント コンテナ] フィールドで、サービス エージェント コンテナとして使用するプロジェクトを設定します。このプロジェクト内で、システムはサービス エージェントを作成し、必要な検出ロールを自動的に付与します。

    • サービス エージェント コンテナとして使用するプロジェクトを自動的に作成する手順は次のとおりです。

      1. [作成] をクリックします。
      2. 新しいプロジェクトの名前、請求先アカウント、親組織を指定します。必要に応じて、プロジェクト ID を編集します。
      3. [作成] をクリックします。

      新しいプロジェクトのサービス エージェントにロールが付与されるまでに数分かかることがあります。

    • 以前に検出オペレーションで使用したプロジェクトを選択するには、[サービス エージェント コンテナ] フィールドをクリックしてプロジェクトを選択します。

  4. デフォルト設定を確認するには、 展開アイコンをクリックします。

  5. [検出を有効にする] セクションで、有効にする検出タイプごとに [有効にする] をクリックします。検出タイプを有効にすると、次の処理が行われます。

    • BigQuery: 組織全体の BigQuery テーブルのプロファイリング用の検出構成を作成します。Sensitive Data Protection は BigQuery データのプロファイリングを開始し、プロファイルを Security Command Center に送信します。
    • Cloud SQL: 組織全体の Cloud SQL テーブルのプロファイリング用の検出構成を作成します。Sensitive Data Protection は、各 Cloud SQL インスタンスのデフォルトの接続の作成を開始します。この処理には数時間かかることがあります。デフォルトの接続の準備ができたら、適切なデータベース ユーザー認証情報で各接続を更新し、Sensitive Data Protection の Cloud SQL インスタンスへのアクセスを許可します。
    • シークレット / 認証情報の脆弱性: Cloud Run の環境変数で暗号化されていないシークレットを検出して報告するための検出構成を作成します。Sensitive Data Protection が環境変数のスキャンを開始します。
    • Cloud Storage: 組織全体の Cloud Storage バケットのプロファイリング用の検出構成を作成します。Sensitive Data Protection は、Cloud Storage データのプロファイリングを開始し、プロファイルを Security Command Center に送信します。
    • Vertex AI データセット: 組織全体の Vertex AI データセットのプロファイリング用の検出構成を作成します。Sensitive Data Protection は、Vertex AI データセットのプロファイリングを開始し、プロファイルを Security Command Center に送信します。
    • Amazon S3: AWS コネクタがアクセスできるすべての Amazon S3 データのプロファイリング用の検出構成を作成します。

    • Azure Blob Storage: Azure コネクタがアクセスできるすべての Azure Blob Storage データのプロファイリング用の検出構成を作成します。

  6. 新しく作成した検出構成を表示するには、[検出構成に移動] をクリックします。

    Cloud SQL 検出を有効にした場合、検出構成は一時停止モードで作成され、認証情報が存在しないことを示すエラーが表示されます。検出で使用する接続を管理するを参照して、サービス エージェントに必要な IAM ロールを付与し、各 Cloud SQL インスタンスのデータベース ユーザー認証情報を提供します。

  7. ペインを閉じます。

既存の構成で Security Command Center への公開を有効にする

検出結果を Security Command Center に公開するように設定されていない既存の検出スキャン構成がある場合は、次の操作を行います。

  1. スキャン構成を編集用に開きます

  2. [アクション] セクションで、[Security Command Center に公開] を有効にします。

  3. [保存] をクリックします。

データ プロファイルに関連する Security Command Center の検出結果のクエリ

次のクエリ例を使用すると、Security Command Center で関連する Data sensitivityData risk の検出結果を見つけることができます。これらのクエリは、[クエリエディタ] フィールドに入力できます。クエリエディタの詳細については、Security Command Center ダッシュボードで検出結果クエリを編集するをご覧ください。

特定の BigQuery テーブルのすべての Data sensitivityData risk の検出結果を一覧表示する

このクエリは、BigQuery テーブルが別のプロジェクトに保存されているイベントを Security Command Center が検出する場合などに便利です。この場合、Exfiltration: BigQuery Data Exfiltration 検出結果が生成され、そこにはデータが漏洩したテーブルの完全な表示名が含まれます。テーブルに関連する Data sensitivityData risk の検出結果を検索できます。計算されたテーブルの機密性とデータリスク レベルを表示し、それに応じて対応を計画します。

state="ACTIVE"
AND NOT mute="MUTED"
AND category="DATA_RISK" OR category="DATA_SENSITIVITY"
AND resource.display_name="PROJECT_ID:DATASET_ID.TABLE_ID"

以下を置き換えます。

  • PROJECT_ID: BigQuery テーブルを含むプロジェクトの ID
  • DATASET_ID: テーブルのデータセット ID
  • TABLE_ID: テーブルの ID

特定の Cloud SQL インスタンスのすべての Data sensitivityData risk の結果を一覧表示する

このクエリは、組織外の Cloud Storage バケットにライブ Cloud SQL インスタンス データがエクスポートされたイベントを Security Command Center が検出する場合などに便利です。この場合、Exfiltration: Cloud SQL Data Exfiltration の検出結果が生成され、流出したインスタンスの完全なリソース名が含まれます。インスタンスに関連する Data sensitivityData risk の検出結果を検索できます。計算されたインスタンスの機密性とデータリスク レベルを表示し、それに応じて対応を計画します。

state="ACTIVE"
AND NOT mute="MUTED"
AND category="DATA_RISK" OR category="DATA_SENSITIVITY"
AND resource.name:"INSTANCE_NAME"

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

  • INSTANCE_NAME: Cloud SQL インスタンスの名前の一部

重大度レベルが HighData riskData sensitivity のすべての検出結果を一覧表示する

state="ACTIVE"
AND NOT mute="MUTED"
AND category="DATA_RISK" OR category="DATA_SENSITIVITY"
AND severity="HIGH"

次のステップ