レイクを保護する

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

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

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

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

基本ロール

ロール 説明
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 へのきめ細かいアクセス権を提供する事前定義ロールを管理します。

メタデータのロール

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

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

データロール

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

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

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

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

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

レイクを保護する

レイクへのアクセスとそれに関連付けられたデータを保護して管理できます。Google Cloud コンソールで、次のいずれかのビューを使用します。

  • [権限] タブの Dataplex の [管理] ビュー
  • Dataplex の Secure ビュー

[管理] ビューの使用

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

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

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

    Dataplex に移動

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

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

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

  5. [View by Roles] タブをクリックします。

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

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

Secure ビューの使用

Google Cloud コンソールの Dataplex Secure ビューには、次の機能があります。

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


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

ポリシー管理

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

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

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

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

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

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

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

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

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

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

BigQuery

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

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

Dataproc Metastore

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

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

Data Catalog

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

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

次のステップ