データドメインにリソースを含める

このドキュメントでは、データドメインにリソースを含めてデータを整理する方法について説明します。

  • リソースは一度に 1 つのドメインにのみ含めることができます。1 つのリソースを複数のドメインに追加することはできません。* 1 つのデータ ドメインに含めることができる直接リソースは 500 個までです。

仕組み

リソースをドメインに含めるには、次の操作を行う必要があります。

  1. 承認するドメインのドメイン プリンシパル ID を取得します。詳細については、ドメイン プリンシパルを取得するをご覧ください。
  2. 特定のユーザーまたはプロジェクトへのアクセス権を付与するようドメインを承認します。
  3. リソースとドメインの間にバインディングを作成します。詳細については、リソースをドメインにバインドするをご覧ください。

データ ドメインの承認について

ドメインの承認により、リソースとドメインの間に信頼が確立されます。リソース オーナーは、ターゲット リソースまたはプロジェクトのデータ ドメイン IAM プリンシパルに IAM 権限を付与します。このアクションにより、Knowledge Catalog はリソースをドメインにリンクするバインディングの作成を承認して実行できます。

ドメイン認証は、バインディングが作成されたときにのみ検証されます。つまり、リソースに対するドメイン プリンシパルの IAM ロールを取り消しても、そのリソースは自動的にバインド解除またはドメインから削除されません。roles/dataplex.dataDomainEntryReader ロールを持つドメイン ユーザーは、リソースとドメインのバインディングが明示的に削除されるまで、リソースの検出とメタデータの表示を続行します。

ドメインの承認とドメイン ユーザーの権限

データ ドメインを操作する場合は、データ ドメインの認可と、ユーザーへのデータ ドメイン権限の付与を区別することが重要です。

  • データ ドメインの承認: ターゲット リソースでデータ ドメインを承認することを指します。プロジェクトや BigQuery データセットなどの基盤となるリソースに対するデータドメイン IAM プリンシパル権限を付与して、リソースとドメイン間のバインディングを作成します。
  • ユーザーにデータ ドメインの権限を付与する: これは、ユーザーまたはサービス アカウントにデータ ドメイン自体を操作する権限を付与することを指します。データ ドメインでユーザーに IAM ロールを直接付与すると、ユーザーは Knowledge Catalog 内でドメインを表示、編集、管理できます。詳細については、データ ドメインのロールと権限をご覧ください。

ロールのタイプ

ターゲット リソースでデータドメインを承認するときに、リーダー書き込み管理者のいずれかのロールタイプに該当する IAM ロールを選択できます。

一般的に、書き込みロールと管理者ロールのタイプは、ドメインが承認されたリソースに対して次のような広範囲のアクションを実行できるように予約されています。

  • 書き込みロールタイプを使用すると、ドメインでリソースのメタデータ編集権限を管理できます。
  • 管理者ロールタイプを使用すると、ドメインはリソースに対する権限を管理できます。

データドメインのスコープ内では、3 つのロールタイプすべてで、データドメインがターゲット リソースへのバインディングを作成できます。バインディングが作成されると、ユーザーはドメイン内のリソースを検索して、そのメタデータを表示できます。詳細については、データリソースを検索するをご覧ください。

ロールタイプを選択する際は、リソースに対するドメインに付与する長期的なアクセスレベルを考慮してください。

ドメインの承認に推奨されるロール

次の表に、ドメインがリソースを検査することを承認するために使用できる推奨ロールを示します。リソースごとに、推奨とは異なるロールを選択できますが、そのようなロールにはリソース バインディングの実行に必要な権限が含まれている必要があります。

リストから、ロールを表示するリソースタイプを選択します。

リソースの種類 ロールタイプ 推奨されるロール 説明 必要な権限
プロジェクト リーダー roles/browser ドメインにプロジェクトに関する情報を取得する権限を付与します。 resourcemanager.projects.get
書き込み roles/editor ドメインに、プロジェクトに関する情報を取得してメタデータを管理する権限を付与します。 resourcemanager.projects.get
resourcemanager.projects.update
管理者 roles/owner 検出、メタデータ ガバナンス、アクセス ポリシー管理など、プロジェクトに対するドメイン管理権限を付与します。 resourcemanager.projects.get
resourcemanager.projects.update
resourcemanager.projects.setIamPolicy
BigQuery データセット リーダー roles/bigquery.metadataViewer ドメインに BigQuery データセットに関する情報を取得する権限を付与します。 bigquery.datasets.get
書き込み roles/bigquery.dataEditor BigQuery データセットに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 bigquery.datasets.get
bigquery.datasets.updateTag
管理者 roles/bigquery.dataOwner 検出、メタデータ ガバナンス、アクセス ポリシー管理など、BigQuery データセットに対するドメイン管理権限を付与します。 bigquery.datasets.get
bigquery.datasets.updateTag
bigquery.datasets.setIamPolicy
BigQuery テーブル リーダー roles/bigquery.metadataViewer BigQuery テーブルに関する情報を取得する権限をドメインに付与します。 bigquery.tables.get
書き込み roles/bigquery.dataEditor BigQuery テーブルに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 bigquery.tables.get
bigquery.tables.update
管理者 roles/bigquery.dataOwner 検出、メタデータ ガバナンス、アクセス ポリシー管理など、BigQuery テーブルに対するドメイン管理権限を付与します。 bigquery.tables.get
bigquery.tables.update
bigquery.tables.setIamPolicy
データ プロダクト リーダー roles/dataplex.dataProductsViewer データ プロダクトに関する情報を取得する権限をドメインに付与します。 dataplex.dataProducts.get
書き込み roles/dataplex.dataProductsEditor データ プロダクトに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 dataplex.dataProducts.get
dataplex.dataProducts.update
管理者 roles/dataplex.dataProductsAdmin データ プロダクトの検出、メタデータ ガバナンス、アクセス ポリシーの管理など、データ プロダクトに対するドメイン管理権限を付与します。 dataplex.dataProducts.get
dataplex.dataProducts.update
dataplex.dataProducts.setIamPolicy
Dataform リポジトリ リーダー roles/dataform.codeViewer ドメインに Dataform コードリソースに対する読み取り専用アクセス権を付与します。 dataform.repositories.get
書き込み roles/dataform.codeOwner ドメインに Dataform リポジトリとコード リソースに対する完全アクセス権を付与します。 dataform.repositories.get
dataform.repositories.update
管理者 roles/dataform.codeOwner ドメインに Dataform リポジトリとコード リソースに対する完全アクセス権を付与します。 dataform.repositories.get
dataform.repositories.setIamPolicy
Dataproc Metastore データベース リーダー roles/metastore.metadataUser Dataproc Metastore データベースのリストを取得するドメイン権限を付与します。 metastore.databases.get
書き込み roles/metastore.metadataEditor ドメインに、Dataproc Metastore データベースのメタデータとこれらのデータベースのテーブルの読み取りと変更のアクセス権を付与します。 metastore.databases.get
metastore.databases.update
管理者 roles/metastore.metadataOwner ドメインに、Dataproc Metastore データベースのメタデータとそれらのデータベースにあるテーブルへのフルアクセス権を付与します。 metastore.databases.get
metastore.databases.setIamPolicy
Dataproc Metastore テーブル リーダー roles/metastore.metadataViewer ドメインに、Dataproc Metastore データベースのメタデータとこれらのデータベースのテーブルの読み取り権限を付与します。 metastore.tables.get
書き込み roles/metastore.metadataEditor ドメインに、Dataproc Metastore データベースのメタデータとこれらのデータベースのテーブルの読み取りと変更のアクセス権を付与します。 metastore.tables.get
管理者 roles/metastore.metadataOwner ドメインに、Dataproc Metastore データベースのメタデータとそれらのデータベースにあるテーブルへのフルアクセス権を付与します。 metastore.tables.get
metastore.tables.setIamPolicy
Cloud Spanner データベース リーダー roles/spanner.databaseReader ドメインに、Spanner データベースからの読み取り、SQL クエリの実行、データベースのスキーマの表示を行う権限を付与します。 spanner.databases.get
書き込み roles/spanner.editor インスタンスとデータベースの管理、クエリの実行、バックアップと復元の管理、リソース管理など、Spanner リソース全体に対するドメインの管理権限と運用権限を付与します。 spanner.databases.get
spanner.databases.update
管理者 roles/spanner.databaseAdmin プロジェクト内の Spanner インスタンスとこれらのインスタンス内のデータベースを管理する完全アクセス権をドメインに付与します。 spanner.databases.get
spanner.databases.setIamPolicy
BigLake テーブル リーダー roles/biglake.metadataViewer すべての BigLake リソースに対する読み取り専用メタデータ アクセス権をドメインに付与します。 biglake.tables.get
書き込み roles/biglake.editor ドメインにすべての BigLake リソースに対する読み取り / 書き込みアクセス権を付与します。 biglake.tables.get
biglake.tables.update
管理者 roles/biglake.admin ドメインにすべての BigLake リソースへの完全アクセス権を付与します。 biglake.tables.get
biglake.tables.setIamPolicy
AlloyDB for PostgreSQL インスタンス リーダー roles/alloydb.viewer ドメインに AlloyDB for PostgreSQL リソースに対する読み取り専用アクセス権を付与します。 alloydb.instances.get
書き込み roles/alloydb.editor ドメインに AlloyDB for PostgreSQL リソースへの読み取り / 書き込みアクセス権を付与します。 alloydb.instances.get
alloydb.instances.update
Gemini Enterprise Agent Platform データセット リーダー roles/aiplatform.viewer Gemini Enterprise Agent Platform 内のすべてのリソースを表示する権限をドメインに付与します。 aiplatform.datasets.get
書き込み roles/aiplatform.user Gemini Enterprise Agent Platform 内のすべてのリソースを使用する権限をドメインに付与します。 aiplatform.datasets.get
aiplatform.datasets.update

始める前に

リソースをデータドメインに含める前に、必要なロールがあり、API が有効になっていることを確認してください。

API を有効にする

Dataplex API を有効にします。

API を有効にするために必要なロール

API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

API の有効化

必要なロール

リソースをデータ ドメインにバインドするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

ドメイン IAM プリンシパルを取得する

リソースに対するアクションの実行をデータ ドメインに承認するには、ドメイン IAM プリンシパル ID が必要です。リソースでドメインを承認するときにドメイン プリンシパル ID を指定する必要があるため、ドメイン プリンシパル ID を手元に用意しておきます。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. ドメイン名をクリックして、ドメインの詳細ページに移動します。

  3. [概要] タブで、[情報]、[識別子] の順に移動します。

  4. [IAM プリンシパル] の値をコピーします。形式は次のようになります。

principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID

REST

REST API を使用してドメイン プリンシパルを取得するには、projects.locations.dataDomains.get メソッドを使用してデータ ドメインを取得します。レスポンスには、ドメインの IAM プリンシパル(iamPolicyNamePrincipal または iamPolicyUidPrincipal)を含む policyMember フィールドが含まれます。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインまたはサブドメインの固有識別子。

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

リソースでドメインを承認する

リソースをバインドする前に、ドメインのプリンシパルにターゲット リソースに対する必要な IAM ロールを付与する必要があります。

コンソール

  1. Google Cloud コンソールで、ターゲット リソースに移動し、そのリソースの権限パネルを開きます。

    • プロジェクト、Gemini Enterprise Agent Platform データセット、Dataproc Metastore データベースとテーブル、Dataform リポジトリ、AlloyDB for PostgreSQL インスタンス、BigLake テーブルの場合は、[IAM] ページに移動して、[アクセス権を付与] をクリックします。
    • データ プロダクトの場合は、[データ プロダクト] ページに移動し、データ プロダクトを選択して、[共有] > [権限を設定] をクリックします。
    • BigQuery データセットとテーブルの場合は、BigQuery ページに移動し、データセットまたはテーブルを選択して、[共有 > 権限の管理] をクリックします。
    • Spanner データベースの場合は、[Spanner] ページに移動し、データベースを選択して [権限] タブをクリックします。
  2. [プリンシパルを追加] などのボタンをクリックします。

  3. [新しいプリンシパル] フィールドに、ドメインの IAM プリンシパルを貼り付けます。ドメイン プリンシパルを取得する手順については、ドメイン IAM プリンシパルを取得するをご覧ください。

  4. [ロールを選択] メニューで、目的に合ったロールを選択します。ロールの完全なリストについては、ドメイン認証に推奨されるロールのセクションをご覧ください。変更が反映されるまで 2 ~ 3 分待ちます。

  5. [保存] をクリックします。

gcloud

プロダクトの Google Cloud CLI コマンドを使用して、必要なロールをドメイン プリンシパルに付与します。

principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID

たとえば、gcloud を使用してプロジェクトをバインドします。

gcloud projects add-iam-policy-binding RESOURCE_PROJECT_ID \
--member "principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID" \
--role ROLE

次のように置き換えます。

  • RESOURCE_PROJECT_ID: 承認するターゲット プロジェクトの ID。
  • DOMAIN_PROJECT_NUMBER: データドメインをホストするプロジェクトのプロジェクト番号。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • ROLE: 必要なバインディングの目的に適した IAM ロール。

BigQuery の bq add-iam-policy-binding などの特定のプロダクト コマンドについては、プロダクトの API ドキュメントをご覧ください。

REST

ドメイン プリンシパルにリソースに対する権限を付与するには、通常、getIamPolicy を使用して既存の IAM ポリシーを取得し、選択したロールでドメイン プリンシパル バインディングを追加して、setIamPolicy を使用して更新されたポリシーを設定します。

次の例は、プロジェクトの IAM ポリシーを設定する方法を示しています。

現在の IAM ポリシーを取得する

リクエストのデータを使用する前に、次のように置き換えます。

  • RESOURCE_PROJECT_ID: 承認するターゲット プロジェクトの ID。

HTTP メソッドと URL:

POST https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:getIamPolicy" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

ドメイン プリンシパルを含む更新されたポリシーを設定する

リクエストのデータを使用する前に、次のように置き換えます。

  • RESOURCE_PROJECT_ID: 承認するターゲット プロジェクトの ID。
  • DOMAIN_PROJECT_NUMBER: データドメインをホストするプロジェクトのプロジェクト番号。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • ROLE: 必要なバインディングの目的に適した IAM ロール。

HTTP メソッドと URL:

POST https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy

リクエストの本文(JSON):

{
  "policy": {
    "bindings": [
      {
        "role": "ROLE",
        "members": [
          "principal://dataplex.googleapis.com/projects/DOMAIN_PROJECT_NUMBER/name/locations/LOCATION_ID/dataDomains/DOMAIN_ID"
        ]
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudresourcemanager.googleapis.com/v1/projects/RESOURCE_PROJECT_ID:setIamPolicy" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

他のリソースのポリシーを設定する手順については、次の API ドキュメントをご覧ください。

リソースをドメインにバインドする

ターゲット リソースでドメインを承認したら、リソースをドメインにバインドできます。プロジェクトを含めると、そのプロジェクト内のすべてのリソースがドメインに自動的に追加されます。ただし、明示的にオーバーライドして除外することは可能です。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. リソースを追加するドメインを選択します。

  3. [リソース] タブをクリックします。

  4. 含めるアイテムに応じて、[リソースを追加] または [プロジェクトを追加] をクリックします。

  5. ドメインに含めるリソースを検索して選択します。

  6. [選択] をクリックします。

REST

リソースをドメインに含めるには、projects.locations.dataDomains.bindings.create メソッドを使用します。

ドメインに含めるリソースのペイロードを表示するには、次のいずれかのセクションを開きます。

プロジェクト

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: データ ドメインをホストする Google Cloud プロジェクトの ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。
  • RESOURCE_PROJECT_ID: ドメインに含めるターゲット プロジェクトの ID。
  • BINDING_ID: このリソース バインディングの省略可能な固有識別子。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//cloudresourcemanager.googleapis.com/projects/RESOURCE_PROJECT_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

BigQuery データセットとテーブル

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: データ ドメインをホストする Google Cloud プロジェクトの ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。
  • RESOURCE_PROJECT_ID: リソースをホストする Google Cloud プロジェクトの ID。
  • DATASET_ID: ターゲット リソース(BigQuery データセットなど)の ID。
  • BINDING_ID: このリソース バインディングの省略可能な固有識別子。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//bigquery.googleapis.com/projects/RESOURCE_PROJECT_ID/datasets/DATASET_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

データ プロダクト

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: データ ドメインをホストする Google Cloud プロジェクトの ID。
  • LOCATION_ID: データ ドメインとリソースが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。
  • RESOURCE_PROJECT_ID: データ プロダクトをホストする Google Cloud プロジェクトの ID。
  • DATA_PRODUCT_ID: ターゲット データ プロダクトの一意の ID。
  • BINDING_ID: このリソース バインディングの省略可能な固有識別子。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//dataplex.googleapis.com/projects/RESOURCE_PROJECT_ID/locations/LOCATION_ID/dataProducts/DATA_PRODUCT_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Dataform リポジトリ

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: リポジトリをホストするプロジェクトの ID。
  • LOCATION_ID: リポジトリをホストするリージョン。
  • REPOSITORY_ID: Dataform リポジトリの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//dataform.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/repositories/REPOSITORY_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Dataproc Metastore データベース

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: データベースをホストするプロジェクトの ID。
  • LOCATION_ID: サービスをホストするリージョン。
  • SERVICE_ID: Dataproc Metastore サービスの ID。
  • DATABASE_ID: データベースの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//metastore.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID/databases/DATABASE_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Dataproc Metastore テーブル

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: テーブルをホストするプロジェクトの ID。
  • LOCATION_ID: サービスをホストするリージョン。
  • SERVICE_ID: Dataproc Metastore サービスの ID。
  • DATABASE_ID: データベースの ID。
  • TABLE_ID: テーブルの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//metastore.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/services/SERVICE_ID/databases/DATABASE_ID/tables/TABLE_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Spanner データベース

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: データベースをホストするプロジェクトの ID。
  • INSTANCE_ID: Spanner インスタンスの ID。
  • DATABASE_ID: データベースの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

BigLake

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: カタログをホストするプロジェクトの ID。
  • LOCATION_ID: カタログをホストするリージョン。
  • CATALOG_ID: カタログの ID。
  • DATABASE_ID: データベースの ID。
  • TABLE_ID: テーブルの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//biglake.googleapis.com/projects/PROJECT_ID/catalogs/CATALOG_ID/databases/DATABASE_ID/tables/TABLE_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

AlloyDB for PostgreSQL

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: クラスタをホストするプロジェクトの ID。
  • LOCATION_ID: クラスタをホストするリージョン。
  • CLUSTER_ID: クラスタの ID。
  • INSTANCE_ID: インスタンスの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//alloydb.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances/INSTANCE_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

Gemini Enterprise Agent Platform

リクエストのデータを使用する前に、次のように置き換えます。

  • DOMAIN_PROJECT_ID: データ ドメインをホストするプロジェクトの ID。
  • DOMAIN_LOCATION_ID: データドメインがホストされているリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの ID。
  • BINDING_ID: 新しいデータ ドメイン バインディングに割り当てる ID。
  • PROJECT_ID: データセットをホストするプロジェクトの ID。
  • LOCATION_ID: データセットをホストするリージョン。
  • DATASET_ID: データセットの ID。

HTTP メソッドと URL:

POST https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID

リクエストの本文(JSON):

{
  "resource": "//aiplatform.googleapis.com/projects/PROJECT_ID/locations/LOCATION_ID/datasets/DATASET_ID"
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://dataplex.googleapis.com/v1/projects/DOMAIN_PROJECT_ID/locations/DOMAIN_LOCATION_ID/dataDomains/DOMAIN_ID/bindings?data_domain_binding_id=BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

含まれるリソースを表示する

データ ドメインに直接バインドされているフォルダ、プロジェクト、リソースを表示します。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. ドメイン名をクリックします。

  3. [リソース] タブをクリックします。リストには、ドメインに直接含まれるリソースが表示されます。

REST

含まれているリソース バインディングを一覧表示するには、projects.locations.dataDomains.bindings.list メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。

HTTP メソッドと URL:

GET https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

ドメインからリソースを削除する

リソースを削除すると、データドメイン階層からバインドが解除されます。

コンソール

  1. Google Cloud コンソールで、[データ ドメイン] ページに移動します。

    [データ ドメイン] に移動

  2. ドメイン名をクリックします。

  3. [リソース] タブをクリックします。

  4. 削除するリソースを選択します。

  5. [削除] をクリックして、削除を確定します。

REST

リソース バインディングを削除するには、projects.locations.dataDomains.bindings.delete メソッドを使用します。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION_ID: データドメインが存在するリージョン。例: us-central1
  • DOMAIN_ID: データ ドメインの固有識別子。
  • BINDING_ID: リソース バインディングの固有識別子。

HTTP メソッドと URL:

DELETE https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

次のコマンドを実行します。

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID"

PowerShell

次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/DOMAIN_ID/bindings/BINDING_ID" | Select-Object -Expand Content

成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。

次のステップ