レイクを保護する

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. [ロール別に表示] タブをクリックします。

  6. [追加] をクリックして、新しいロールを追加します。データプレックス データ読み取りデータ書き込みデータオーナーのロールを追加します。

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

安全なビューの使用

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

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


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

ポリシー管理

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

レイクレベルで構成されたセキュリティ ポリシーは、そのレイク内で管理されるすべてのリソースに伝播されます。Dataplex では、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)を付与します。

次のステップ