レイクを保護する

このドキュメントでは、Dataplex Universal Catalog レイクへのアクセスを保護して管理する方法について説明します。

Dataplex Universal Catalog セキュリティ モデルを使用すると、次のタスクのユーザー権限を管理できます。

  • レイクの管理(アセット、ゾーン、追加のレイクの作成と接続)
  • マッピング アセット(Cloud Storage バケットや BigQuery データセットなどのGoogle Cloud リソースなど)を介してレイクに接続されたデータにアクセスする
  • レイクに接続されているデータに関するメタデータへのアクセス

レイクの管理者は、基本ロールと事前定義ロールを付与することで、レイク、ゾーン、アセットなどの Dataplex Universal Catalog リソースへのアクセスを制御します。

基本ロール

ロール 説明
Dataplex 閲覧者
roles/dataplex.viewer
レイクと構成されたゾーンとアセットを表示する機能(ただし、編集は不可)。
Dataplex 編集者
roles/dataplex.editor
レイクを編集する機能。レイク、ゾーン、アセット、タスクを作成して構成できます。
Dataplex 管理者
roles/dataplex.administrator
レイクを完全に管理する機能。
Dataplex 開発者
roles/dataplex.developer
レイクでデータ分析ワークロードを実行する機能*
* BigQuery テーブルをクエリするには、BigQuery ジョブを実行する権限が必要です。この権限は、ジョブのコンピューティング費用を割り当てる、または課金するプロジェクトに設定します。詳細については、BigQuery の事前定義ロールと権限をご覧ください。
Spark ジョブを実行するには、Dataproc クラスタを作成し、コンピューティングを関連付けるプロジェクトに Dataproc ジョブを送信します。

事前定義ロール

Google Cloud は、Dataplex Universal Catalog へのきめ細かいアクセス権を提供する事前定義ロールを管理します。

メタデータのロール

メタデータ ロールには、テーブル スキーマなどのメタデータを表示する権限があります。

ロール 説明
Dataplex メタデータ ライター
roles/dataplex.metadataWriter
特定のリソースのメタデータを更新する機能。
Dataplex メタデータ リーダー
roles/dataplex.metadataReader
メタデータを読み取る機能(テーブルをクエリするなど)。

データロール

プリンシパルにデータロールを付与すると、レイクのアセットによって参照される基盤リソースでデータを読み書きできるようになります。

Dataplex Universal Catalog は、そのロールを基盤となる各ストレージ リソース(Cloud Storage や BigQuery など)のデータロールにマッピングします。

Dataplex Universal Catalog は、Dataplex Universal Catalog データロールを変換して基盤となるストレージ リソースに伝播し、各ストレージ リソースに適切なロールを設定します。レイクの階層(例: レイク)で単一の Dataplex Universal Catalog データロールを付与でき、Dataplex Universal Catalog はそのレイクに接続されたすべてのリソースのデータへの指定されたアクセスを維持します(たとえば、Cloud Storage バケットと BigQuery データセットは、基盤となるゾーンのアセットによって参照されます)。

たとえば、プリンシパルにレイクの dataplex.dataWriter ロールを付与すると、プリンシパルはレイク内のすべてのデータ、その基盤となるゾーンとアセットへの書き込みアクセス権を取得します。下位レベル(ゾーン)で付与されたデータアクセス ロールは、レイク階層で基盤となるアセットに継承されます。

ロール 説明
Dataplex データリーダー
roles/dataplex.dataReader
ストレージ バケットと BigQuery データセット(およびその内容)を含む、アセットに接続されたストレージからデータを読み取る機能*
Dataplex データライター
roles/dataplex.dataWriter
アセットが参照する基盤となるリソースへの書き込み*
Dataplex データオーナー
roles/dataplex.dataOwner
子リソースの管理機能など、基盤となるリソースにオーナーロールを付与します。たとえば、BigQuery データセットのデータオーナーは、基盤となるテーブルを管理できます。

レイクを保護する

レイクへのアクセスと、レイクに接続されているデータを保護して管理できます。 Google Cloud コンソールで、次のいずれかのビューを使用します。

  • [権限] タブの Dataplex Universal Catalog の [管理] ビュー
  • Dataplex Universal Catalog の [セキュア] ビュー

管理ビューを使用する

[権限] タブでは、レイクリソースに対するすべての権限を管理できます。また、継承された権限を含むすべての権限をフィルタなしで表示できます。

レイクを保護する手順は次のとおりです。

  1. Google Cloud コンソールで、Dataplex Universal Catalog に移動します。

    Dataplex Universal Catalog に移動

  2. [管理] ビューに移動します。

  3. 作成したレイクの名前をクリックします。

  4. [権限] タブをクリックします。

  5. [ロール別に表示] タブをクリックします。

  6. [追加] をクリックして、新しいロールを追加します。Dataplex データリーダーデータライターデータオーナーのロールを追加します。

  7. [Dataplex データリーダー]、[データライター]、[データオーナー] ロールが表示されていることを確認します。

セキュアビューを使用する

Google Cloud コンソールの Dataplex Universal Catalog の [セキュア] ビューには、次の機能があります。

  • 特定のリソースを中心にした Dataplex Universal Catalog ロールのみをフィルタ可能なビュー
  • データロールとレイク リソースロールを分離する
上位のレイクリソースから継承されない権限の例
図 1: レイクのこの例では、両方のプリンシパルに Cloud Storage データ(GCS データ)と呼ばれるアセットに対するデータ権限があります。これらの権限は、上位のレイクリソースから継承されません。


上位のレイクリソースから継承されない権限の例
図 2: この例は次のとおりです。
  1. プロジェクトから Dataplex 管理者のロールを継承するサービス アカウント。
  2. プロジェクトから Dataplex 編集者と閲覧者のロールを継承するプリンシパル(メールアドレス)。これらのロールは、すべてのリソースに適用されます。
  3. プロジェクトから Dataplex 管理者のロールを継承するプリンシパル(メールアドレス)。

ポリシー管理

セキュリティ ポリシーを指定すると、Dataplex Universal Catalog は権限をマネージド リソースの IAM ポリシーに伝播します。

レイクレベルで構成されたセキュリティ ポリシーは、そのレイク内で管理されているすべてのリソースに伝播されます。Dataplex Universal Catalog の [管理 > 権限] タブでは、これらの大規模な伝播の伝播ステータスと可視性を確認できます。Dataplex Universal Catalog 外の IAM ポリシーの変更がないか、マネージド リソースを継続的にモニタリングします。

リソースに対する権限がすでにあるユーザーは、リソースが Dataplex Universal Catalog レイクに接続された後もその権限を保持します。同様に、リソースを Dataplex Universal Catalog に接続した後に作成または更新された Dataplex Universal Catalog 以外のロール バインディングは変更されません。

列レベル、行レベル、テーブルレベルのポリシーを設定する

Cloud Storage バケット アセットには、関連付けられた BigQuery 外部テーブルが接続されています。

Cloud Storage バケット アセットをアップグレードできます。これにより、Dataplex Universal Catalog は接続された外部テーブルを削除し、代わりに BigLake テーブルを接続します。

外部テーブルの代わりに BigLake テーブルを使用すると、行レベルのコントロール列レベルのコントロール列データ マスキングなどの詳細なアクセス制御を行うことができます。

メタデータのセキュリティ

メタデータは主に、レイクで管理されているリソースに存在するユーザーデータに関連付けられたスキーマ情報を参照します。

Dataplex Universal Catalog Discovery は、マネージド リソース内のデータを調べて、表形式のスキーマ情報を抽出します。これらのテーブルは、BigQuery、Dataproc Metastore、Data Catalog(非推奨)システムに公開されます。

BigQuery

検出された各テーブルには、BigQuery に登録された関連テーブルがあります。ゾーンごとに、そのデータゾーンで検出されたテーブルに関連付けられたすべての外部テーブルが登録される BigQuery データセットが関連付けられています。

検出された Cloud Storage でホストされているテーブルは、ゾーン用に作成されたデータセットに登録されます。

Dataproc Metastore

データベースとテーブルは、Dataplex Universal Catalog レイク インスタンスに関連付けられた Dataproc Metastore で使用できます。各データゾーンには関連付けられたデータベースがあり、各アセットには 1 つ以上の関連付けられたテーブルを設定できます。

Dataproc Metastore サービスのデータは、VPC-SC ネットワークを構成することで保護されます。Dataproc Metastore インスタンスは、レイクの作成時に Dataplex Universal Catalog に提供されます。これにより、ユーザー管理リソースになります。

Data Catalog

検出された各テーブルには、検索と検出を可能にするために Data Catalog にエントリ(非推奨)が関連付けられています。

Data Catalog では、エントリの作成時に IAM ポリシー名が必要です。そのため、Dataplex Universal Catalog は、エントリを関連付ける必要がある Dataplex Universal Catalog アセット リソースの IAM ポリシー名を提供します。その結果、Dataplex Universal Catalog エントリの権限はアセット リソースの権限によって決まります。アセット リソースに Dataplex メタデータ読み取りロール(roles/dataplex.metadataReader)と Dataplex メタデータ書き込みのロール(roles/dataplex.metadataWriter)を付与します。

次のステップ