このガイドでは、Cloud Data Fusion で Sensitive Data Protection を使用する方法について説明します。
Cloud Data Fusion には、機密データの保護pluginが用意されています。このプラグインでは 3 つの変換を使用して、機密データをフィルタリング、秘匿化、複合できます。
PII フィルタ変換を使用すると、データの入力ストリームから機密レコードをフィルタリングできます。
秘匿化変換を使用すると、データのマスキングや暗号化などの機密データの変換を行えます。
Decrypt 変換を使用すると、Redact 変換を使用して暗号化された機密データを復号できます
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
Google Cloud コンソールでプロジェクト セレクタ ページに移動し、プロジェクトを選択または作成します。
プロジェクトで Cloud Data Fusion API を有効にします。
プロジェクトで DLP API(機密データの保護の一部)を有効にします。
機密データの保護の権限を付与する
Google Cloud Console の [IAM] ページに移動します。
権限テーブルの [プリンシパル] 列で、次のいずれかのサービス アカウントを選択します。
ランタイム リソースに対する権限の場合は、Dataproc クラスタで使用するサービス アカウントを選択します。デフォルトは Compute Engine サービス アカウントですが、セキュリティ上の理由から推奨されません。
ランタイムではなく Cloud Data Fusion で Wrangler または Preview を使用する際のリソース権限の場合は、代わりに、
service-project-number@gcp-sa-datafusion.iam.gserviceaccount.com
の形式に一致するサービス アカウントを選択します。
サービス アカウントの右側にある鉛筆アイコンをクリックします。
[別の役割を追加] をクリックします。
表示されるプルダウンをクリックします。
検索バーを使用して DLP 管理者を検索し選択します。
[保存] をクリックします。DLP 管理者が [役割] 列に表示されていることを確認します。
機密データの保護プラグインをデプロイする
インスタンスに移動します:
Google Cloud コンソールで、Cloud Data Fusion のページに移動します。
Cloud Data Fusion Studio でインスタンスを開くには、[インスタンス]、[インスタンスを表示] の順にクリックします。
Cloud Data Fusion ウェブ UI で、右上にある [Hub] をクリックします。
[Data Loss Prevention] プラグインをクリックします。
[デプロイ] をクリックします。
[完了] をクリックします。
[Create a pipeline] をクリックします。
PII フィルタ変換を使用する
この変換では、機密レコードが機密でないレコードから分離されます。レコードが機密データの保護テンプレートで定義した条件と一致すると、そのレコードは機密と見なされます。たとえば、テンプレートを作成する際に、クレジット カード情報や社会保障番号を機密データとして定義できます。
Cloud Data Fusion でパイプラインを開き、[Studio] > [変換] をクリックします。
[PII Filter] 変換をクリックします。
[PII Filter] ノードの上にポインタを重ねて、[Properties] をクリックします。
[Filter on] で、レコードまたはフィールドをフィルタリングするかどうかを選択します。
機密データの保護の制限に従い、レコードが 0.5 MB を超えていると、Cloud Data Fusion パイプラインは失敗します。このようなエラーを回避するには、レコードではなくフィールドでフィルタリングします。
[Template ID] に、作成した機密データの保護テンプレートのテンプレート ID を入力します。
[Error Handling] で、パイプラインで機密データが検出された場合の処理方法を定義します。次のいずれかのエラー処理オプションを選択します。
- Stop pipeline: エラーが発生すると同時にパイプラインを停止します。
- Skip record: エラーの原因となったレコードをスキップします。パイプラインは引き続き実行され、エラーは報告されません。
- Send to error: エラーポートにエラーを送信します。パイプラインは引き続き実行されます。
[X] ボタンをクリックします。
秘匿化変換を使用する
この変換では、入力ストリーム内の機密レコードを識別し、定義した変換をそれらのレコードに適用します。レコードが選択した事前定義されている機密データの保護フィルタまたは自分で定義したカスタム テンプレートと一致すると、そのレコードは機密と見なされます。
Cloud Data Fusion ウェブ UI の [Studio] ページで、[Transform] メニューをクリックして展開します。
[Redact] 変換をクリックします。
ポインタを Redact ノードの上に置き、[Properties] をクリックします。
変換を事前定義されているフィルタに適用するか、独自のフィルタを作成するかを選択します。
この 2 つのオプションを同時に使用することはできません。事前定義されているフィルタを使用するか、カスタム テンプレートを作成するかのどちらかを選択します。
事前定義されているフィルタ
変換を事前定義されているフィルタに適用するには、[Custom Template] を [No] に設定したままにして、[Matching] でルールを定義します。
[Apply] をクリックし、プルダウンをクリックして変換を選択します。 使用可能な変換について詳しくは、プラグインの [Documentation] タブにある [Description] セクションをご覧ください。
[on] をクリックし、プルダウンをクリックしてカテゴリを選択します。カテゴリには、事前定義されている機密データの保護フィルタがタイプ別にグループ化されています。用意されているカテゴリとそれぞれのカテゴリに含まれるフィルタの完全なリストについては、プラグインの [Documentation] タブにある [DLP Filter Mapping] セクションをご覧ください。
複数のマッチング ルールを設定するには、[+] ボタンをクリックします。
カスタム テンプレート
カスタム テンプレートに従って変換を適用するには、[Custom Template] を [Yes] に設定します。
Cloud Data Fusion ウェブ UI に戻り、[Redact properties] メニューの [Template ID] に、作成したカスタム テンプレートのテンプレート ID を入力します。
[X] ボタンをクリックします。
Decrypt 変換を使用する
この変換は、入力ストリームで Sensitive Data Protection を使用して暗号化されたレコードを識別し、復号を適用します。復号できるのは、形式保持暗号化や確定的暗号化などの可逆アルゴリズムを使用して暗号化されたレコードのみです。
Cloud Data Fusion ウェブ UI の [Studio] ページで、[Transform] メニューをクリックして展開します。
[Decrypt] 変換をクリックします。
ポインタを Decrypt ノードの上に置き、[Properties] をクリックします。
そのデータを暗号化した Redact プラグインの構成に使用したのと同じ値を入力します。このプラグインのプロパティは、Redact プラグインと同じです。
[X] ボタンをクリックします。
次のステップ
- 機密性の高いユーザーデータを秘匿化するチュートリアルに取り組む。
- Sensitive Data Protection の詳細を確認する。