ハイブリッド ジョブとジョブトリガー

ハイブリッド ジョブとジョブトリガーには、実質すべてのソースから送信されたデータのペイロードをスキャンして機密情報を検出し、その結果を Google Cloud に保存できるようにする一連の非同期 API メソッドが含まれています。ハイブリッド ジョブを使用すると、機密データの保護のストレージ検査メソッドと同様に、動作とデータの提供を行う独自のデータクローラを作成できます。

ハイブリッド ジョブを使用すると、任意のソースから機密データの保護にデータをストリーミングできます。機密データの保護は、データに機密情報または個人情報(PII)が含まれていないか検査し、検査スキャンの結果を機密データの保護ジョブリソースに保存します。機密データの保護コンソールの UI または API でスキャン結果を調べることも、スキャン後のアクション(検査結果のデータを BigQuery テーブルに保存する、Pub/Sub 通知を発行する、など)を指定することもできます。

次の図に、ハイブリッド ジョブのワークフローをまとめます。

ハイブリッド ジョブのデータフローの図。アプリケーションが外部ソースから機密データの保護へデータを送信し、機密データの保護がデータを検査し、検出結果を保存または公開していることを示しています。

以下のトピックでは、ハイブリッド ジョブとジョブトリガー、そしてその仕組みについて説明します。 ハイブリッド ジョブとジョブトリガーを実装する方法については、ハイブリッド ジョブを使用した外部データの検査をご覧ください。

ハイブリッド環境について

ハイブリッド環境は組織で共通です。多くの組織では、次のいくつかの組み合わせを使用して機密データを保存して処理します。

  • 他のクラウド プロバイダ
  • オンプレミス サーバーまたは他のデータ リポジトリ
  • 仮想マシン内で実行されているシステムなど、非ネイティブのストレージ システム
  • ウェブアプリとモバイルアプリ
  • Google Cloud ベースのソリューション

ハイブリッド ジョブを使用すると、機密データの保護でこれらのソースから送信されるデータを検査できます。次に、シナリオの例を示します。

  • Amazon Relational Database Service(RDS)、仮想マシン内で実行されている MySQL、またはオンプレミス データベースに保存されているデータを検査します。
  • オンプレミスからクラウドに移行する際や、本番環境、開発、分析の間でデータを検査したりトークン化したりできます。
  • 保存データを格納する前に、ウェブまたはモバイル アプリケーションからのトランザクションを検査して削除します。

検査のオプション

メソッドの種類で詳しく説明しているように、機密データのコンテンツを検査する場合、機密データの保護には 3 つのデフォルト オプションが用意されています。

  • コンテンツ メソッドの検査: コンテンツ検査を使用すると、小さなデータ ペイロードと検査対象の指示が Sensitive Data Protection にストリーミングされます。次に、機密データの保護は機密のコンテンツと PII のデータを検査し、そのスキャン結果をユーザーに返します。
  • ストレージ メソッドの検査: ストレージ検査を使用すると、機密データの保護は Google Cloud ベースのストレージ リポジトリ(BigQuery データベース、Cloud Storage バケット、Datastore の種類など)を検査します。機密データの保護に検査対象と検査の目的を指示すると、機密データの保護はリポジトリをスキャンするジョブを実行します。スキャンが完了すると、機密データの保護によってスキャン結果のサマリーがジョブに保存されます。また、分析結果をさらに分析するために別の Google Cloud プロダクト(別の BigQuery テーブルなど)に送信するように指定することもできます。
  • ハイブリッド ジョブ検査: これら 2 つの方法の両方の利点を兼ね備えています。ハイブリッド ジョブのメソッドを使用すると、コンテンツ メソッドと同じようにデータをストリーミングし、ストレージ検査ジョブのように保存、可視化、アクションが可能になります。すべての検査構成は機密データの保護内で管理されるため、クライアント側で追加の構成を行う必要はありません。仮想マシン(VM)、オンプレミス、別のクラウドで実行されているデータベースなど、非ネイティブのストレージ システムをスキャンする場合にはハイブリッド ジョブが便利です。ハイブリッド メソッドは、移行ワークロードなどの処理システムの検査や、サービス間の通信をプロキシサーバーに送るのにも役立ちます。コンテンツ メソッドでもこれは可能ですが、ハイブリッド メソッドでは検出結果保存バックエンドが用意されており、複数の API 呼び出しにわたってデータを集約できるため、デベロッパーがそうした作業を行う必要はありません。

ハイブリッド ジョブとジョブトリガーについて

ハイブリッド ジョブとは、実質的にはコンテンツ メソッドとストレージ メソッドの混合です。ハイブリッド ジョブとジョブトリガーを使用するための基本的なワークフローは次のとおりです。

  1. データを機密データの保護に送信してメタデータとともに検査するスクリプトを記述するか、ワークフローを作成します。
  2. データを受信したときにアクティブになるように、ハイブリッドのジョブリソースまたはトリガーを構成して作成します。
  3. スクリプトまたはワークフローがクライアント側で実行され、hybridInspect リクエストの形式でデータが機密データの保護に送信されます。データには、アクティベーション メッセージと、検査をトリガーするジョブまたはジョブトリガーの識別子が含まれます。
  4. 機密データの保護は、ハイブリッド ジョブまたはトリガーで設定した条件に従ってデータを検査します。
  5. 機密データの保護は、指定したメタデータとともにスキャンの結果をハイブリッド ジョブリソースに保存します。結果は、Google Cloud コンソールの機密データの保護 UI を使用して確認できます。
  6. 必要に応じて、機密データの保護は、検査結果データを BigQuery テーブルに保存する、メールまたは Pub/Sub から通知するなど、スキャン後のアクションを実行できます。

ハイブリッド ジョブトリガーを使用すると、ジョブの作成、有効化、停止などの必要なアクションをいつでもトリガーできます。ハイブリッド ジョブ トリガーの識別子を含むデータがスクリプトまたはコードが確実に送信されるようにすることで、新しいジョブの開始時にスクリプトやコードを更新する必要がなくなります。

典型的なハイブリッド ジョブのシナリオ

ハイブリッド ジョブは、次のような目的にとても適しています。

  • データベースの四半期ごとのチェックの一環として、Google Cloud の外部にあるデータベースの 1 回限りのスキャンを実行する。
  • 機密データの保護でネイティブにサポートされていないデータベースに対して、新しく追加されたすべてのコンテンツを毎日モニタリングする。
  • データの分割方法を制御しながら、データベースに到着したデータをスキャンします。
  • Envoy の機密データの保護フィルタ(Envoy サイドカー プロキシの WebAssembly HTTP フィルタ)を使用してネットワーク内のトラフィックをモニタリングし、問題のある機密データの動きを特定する。

これらのシナリオにアプローチする方法については、一般的なハイブリッド検査シナリオをご覧ください。

指定できるメタデータの種類

このセクションでは、検査する外部データまたは検出結果にアタッチできるメタデータの種類について説明します。

メタデータは次のレベルで設定できます。

ハイブリッド ジョブまたはハイブリッド ジョブトリガーのメタデータ

このセクションでは、ハイブリッド ジョブまたはハイブリッド ジョブトリガーにアタッチできるメタデータの種類について説明します。

必要なラベル

ハイブリッド ジョブまたはハイブリッド ジョブのトリガーでは、送信するすべてのハイブリッド検査リクエストに含める必要がある、必要なラベルのリストを指定できます。これらの必要なラベルが含まれていないハイブリッド ジョブまたはハイブリッド ジョブトリガーのあらゆるリクエストは拒否されます。詳しくは、hybridInspect リクエストからのラベルが必要であるをご覧ください。

オプションのラベル

ハイブリッド ジョブまたはハイブリッド ジョブトリガーのすべての検出結果にアタッチする Key-Value ペアを指定できます。たとえば、ハイブリッド ジョブのすべての検出結果にラベル "env"="prod" を付ける場合は、ハイブリッド ジョブの作成時にこの Key-Value ペアを指定します。

表形式のデータのオプション

データ内のテーブル オブジェクトの行識別子(主キー)である任意の列を指定できます。指定した列がテーブルに存在する場合は、所与の列の値が各検出結果とともに存在するため、その検出結果を元の行まで追跡できます。こうした表形式のオプションは、CSV のような item.table 形式や byteItem 形式などの表形式のデータを送信するリクエストにのみ適用されます。

事前に主キーを知っている場合は、ハイブリッド ジョブまたはハイブリッド ジョブトリガーを作成する際に識別フィールドとして設定できます。hybridOptions.tableOptions.identifyingFields フィールドには 3 つまでの列名を列挙できます。

hybridInspect リクエストのメタデータ

このセクションでは、hybridInspect リクエストにアタッチできるメタデータの種類について説明します。hybridInspect リクエストで送信されたメタデータは、そのリクエストにのみ適用されます。

コンテナの詳細

ハイブリッド ジョブまたはハイブリッド ジョブトリガーに送信する各リクエストでは、fullPathrootPathrelativePathtypeversion、その他の要素を含むデータソースに関する詳細を指定できます。たとえば、データベース内のテーブルをスキャンする場合は、次のフィールドを設定する場合があります。

{
  "hybridItem": {
    "item": {...},
    "findingDetails": {
      "containerDetails": {
        "fullPath": "10.0.0.20/database1/table1",
        "relativePath": "table1",
        "rootPath": "10.0.0.20/database1",
        "type": "postgres",
        "version": "9.6"
      },
      "labels": {...}
    }
  }
}

コンテナの詳細を、ハイブリッド ジョブまたはハイブリッド ジョブトリガーのレベルで設定することはできません。

必要なラベル

ハイブリッド ジョブまたはハイブリッド ジョブトリガーの作成時に必要なラベルを設定した場合、そのハイブリッド ジョブまたはハイブリッド ジョブトリガーに送信する任意の hybridInspect リクエストには、それらの必要なラベルを含める必要があります。詳しくは、hybridInspect リクエストからのラベルが必要であるをご覧ください。

オプションのラベル

hybridInspect リクエストで、そのリクエスト内の検出結果にアタッチする Key-Value ペアを指定できます。このメソッドを使用すると、hybridInspect リクエストごとに異なるラベルをアタッチできます。

表形式のデータのオプション

データ内のテーブル オブジェクトの行識別子(主キー)である任意の列を指定できます。指定した列がテーブルに存在する場合は、所与の列の値が各検出結果とともに存在するため、その検出結果を元の行まで追跡できます。こうした表形式のオプションは、CSV のような item.table 形式や byteItem 形式などの表形式のデータを送信するリクエストにのみ適用されます。

事前に主キーがわからない場合は、ハイブリッド ジョブまたはハイブリッド ジョブトリガーのレベルで設定する必要はありません。検査する表データとともに、hybridInspect リクエストでそれらを設定できます。ハイブリッド ジョブまたはハイブリッド ジョブトリガーのレベルで列挙した任意のフィールドは、hybridInspect リクエストで列挙したフィールドと結合されます。

サポートされているアクション

他の機密データの保護ジョブと同様に、ハイブリッド ジョブでもアクションがサポートされます。ハイブリッド ジョブの種類によっては適用されないアクションもあります。現在サポートされているアクションと、それらの処理方法に関する情報は次の通りです。Pub/Sub、メール、Cloud Monitoring のアクションでは、ジョブの終了時に検出結果が得られることに注意してください。

  • 検出結果を機密データの保護に保存するおよび検出結果を BigQuery に保存する: 検出結果はそれぞれ機密データの保護リソースまたは BigQuery テーブルに保存されます。これらのアクションは、他のジョブタイプの場合と同じような方法でハイブリッド ジョブで機能しますが、重要な違いとして、ハイブリッド ジョブの実施中、ジョブの実行中に検出結果を取得できます。他のジョブタイプの場合は、ジョブの終了後に結果が利用可能になります。
  • Pub/Sub の送信: ジョブが完了すると、Pub/Sub メッセージが生成されます。

  • メールを送信: ジョブが完了すると、メッセージがメールで送信されます。

  • Cloud Monitoring に公開: ジョブが完了すると、検出結果が Monitoring に公開されます。

概要

ハイブリッド ジョブとジョブトリガーの主な機能と使用するうえでの利点は次のとおりです。

  • ハイブリッド ジョブを使用すると、クラウドの内外を問わず、事実上あらゆるソースから機密データの保護にデータをストリーミングできます。
  • ハイブリッド ジョブトリガーは、機密データの保護がアクティベーション メッセージとジョブトリガーの識別子を含むデータ ストリームを受信すると有効になります。
  • 検査スキャンが完了するまで待つか、ジョブを手動で停止できます。ジョブの終了を許可するか、ジョブを早期に停止するかどうかにかかわらず、検査結果は機密データの保護または BigQuery に保存されます。
  • ハイブリッド ジョブトリガーによる機密データの保護の検査スキャン結果は、機密データの保護内のハイブリッド ジョブリソースに保存されます。
  • 検査スキャンの結果は、機密データの保護内のジョブトリガー リソースを表示すると確認できます。
  • また、アクションを使用して、ハイブリッド ジョブの結果を BigQuery データベースに送信し、メールや Pub/Sub 通知で通知するように機密データの保護に指定することもできます。

次のステップ