このドキュメントでは、データドメインにリソースを含めてデータを整理する方法について説明します。
- リソースは一度に 1 つのドメインにのみ含めることができます。1 つのリソースを複数のドメインに追加することはできません。* 1 つのデータ ドメインに含めることができる直接リソースは 500 個までです。
仕組み
リソースをドメインに含めるには、次の操作を行う必要があります。
- 承認するドメインのドメイン プリンシパル ID を取得します。詳細については、ドメイン プリンシパルを取得するをご覧ください。
- 特定のユーザーまたはプロジェクトへのアクセス権を付与するようドメインを承認します。
- リソースとドメインの間にバインディングを作成します。詳細については、リソースをドメインにバインドするをご覧ください。
データ ドメインの承認について
ドメインの承認により、リソースとドメインの間に信頼が確立されます。リソース オーナーは、ターゲット リソースまたはプロジェクトのデータ ドメイン IAM プリンシパルに IAM 権限を付与します。このアクションにより、Knowledge Catalog はリソースをドメインにリンクするバインディングの作成を承認して実行できます。
ドメイン認証は、バインディングが作成されたときにのみ検証されます。つまり、リソースに対するドメイン プリンシパルの IAM ロールを取り消しても、そのリソースは自動的にバインド解除またはドメインから削除されません。roles/dataplex.dataDomainEntryReader ロールを持つドメイン ユーザーは、リソースとドメインのバインディングが明示的に削除されるまで、リソースの検出とメタデータの表示を続行します。
ドメインの承認とドメイン ユーザーの権限
データ ドメインを操作する場合は、データ ドメインの認可と、ユーザーへのデータ ドメイン権限の付与を区別することが重要です。
- データ ドメインの承認: ターゲット リソースでデータ ドメインを承認することを指します。プロジェクトや BigQuery データセットなどの基盤となるリソースに対するデータドメイン IAM プリンシパル権限を付与して、リソースとドメイン間のバインディングを作成します。
- ユーザーにデータ ドメインの権限を付与する: これは、ユーザーまたはサービス アカウントにデータ ドメイン自体を操作する権限を付与することを指します。データ ドメインでユーザーに IAM ロールを直接付与すると、ユーザーは Knowledge Catalog 内でドメインを表示、編集、管理できます。詳細については、データ ドメインのロールと権限をご覧ください。
ロールのタイプ
ターゲット リソースでデータドメインを承認するときに、リーダー、書き込み、管理者のいずれかのロールタイプに該当する IAM ロールを選択できます。
一般的に、書き込みロールと管理者ロールのタイプは、ドメインが承認されたリソースに対して次のような広範囲のアクションを実行できるように予約されています。
- 書き込みロールタイプを使用すると、ドメインでリソースのメタデータ編集権限を管理できます。
- 管理者ロールタイプを使用すると、ドメインはリソースに対する権限を管理できます。
データドメインのスコープ内では、3 つのロールタイプすべてで、データドメインがターゲット リソースへのバインディングを作成できます。バインディングが作成されると、ユーザーはドメイン内のリソースを検索して、そのメタデータを表示できます。詳細については、データリソースを検索するをご覧ください。
ロールタイプを選択する際は、リソースに対するドメインに付与する長期的なアクセスレベルを考慮してください。
ドメインの承認に推奨されるロール
次の表に、ドメインがリソースを検査することを承認するために使用できる推奨ロールを示します。リソースごとに、推奨とは異なるロールを選択できますが、そのようなロールにはリソース バインディングの実行に必要な権限が含まれている必要があります。
リストから、ロールを表示するリソースタイプを選択します。
| リソースの種類 | ロールタイプ | 推奨されるロール | 説明 | 必要な権限 |
|---|---|---|---|---|
| プロジェクト | リーダー | roles/browser |
ドメインにプロジェクトに関する情報を取得する権限を付与します。 |
resourcemanager.projects.get
|
| 書き込み | roles/editor |
ドメインに、プロジェクトに関する情報を取得してメタデータを管理する権限を付与します。 |
resourcemanager.projects.getresourcemanager.projects.update
|
|
| 管理者 | roles/owner |
検出、メタデータ ガバナンス、アクセス ポリシー管理など、プロジェクトに対するドメイン管理権限を付与します。 |
resourcemanager.projects.getresourcemanager.projects.updateresourcemanager.projects.setIamPolicy
|
|
| BigQuery データセット | リーダー | roles/bigquery.metadataViewer |
ドメインに BigQuery データセットに関する情報を取得する権限を付与します。 |
bigquery.datasets.get
|
| 書き込み | roles/bigquery.dataEditor |
BigQuery データセットに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 |
bigquery.datasets.getbigquery.datasets.updateTag
|
|
| 管理者 | roles/bigquery.dataOwner |
検出、メタデータ ガバナンス、アクセス ポリシー管理など、BigQuery データセットに対するドメイン管理権限を付与します。 |
bigquery.datasets.getbigquery.datasets.updateTagbigquery.datasets.setIamPolicy
|
|
| BigQuery テーブル | リーダー | roles/bigquery.metadataViewer |
BigQuery テーブルに関する情報を取得する権限をドメインに付与します。 |
bigquery.tables.get
|
| 書き込み | roles/bigquery.dataEditor |
BigQuery テーブルに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 |
bigquery.tables.getbigquery.tables.update
|
|
| 管理者 | roles/bigquery.dataOwner |
検出、メタデータ ガバナンス、アクセス ポリシー管理など、BigQuery テーブルに対するドメイン管理権限を付与します。 |
bigquery.tables.getbigquery.tables.updatebigquery.tables.setIamPolicy
|
|
| データ プロダクト | リーダー | roles/dataplex.dataProductsViewer |
データ プロダクトに関する情報を取得する権限をドメインに付与します。 |
dataplex.dataProducts.get
|
| 書き込み | roles/dataplex.dataProductsEditor |
データ プロダクトに関する情報を取得し、そのメタデータを管理する権限をドメインに付与します。 |
dataplex.dataProducts.getdataplex.dataProducts.update
|
|
| 管理者 | roles/dataplex.dataProductsAdmin |
データ プロダクトの検出、メタデータ ガバナンス、アクセス ポリシーの管理など、データ プロダクトに対するドメイン管理権限を付与します。 |
dataplex.dataProducts.getdataplex.dataProducts.updatedataplex.dataProducts.setIamPolicy
|
|
| Dataform リポジトリ | リーダー | roles/dataform.codeViewer |
ドメインに Dataform コードリソースに対する読み取り専用アクセス権を付与します。 |
dataform.repositories.get
|
| 書き込み | roles/dataform.codeOwner |
ドメインに Dataform リポジトリとコード リソースに対する完全アクセス権を付与します。 |
dataform.repositories.get
|
|
| 管理者 | roles/dataform.codeOwner |
ドメインに Dataform リポジトリとコード リソースに対する完全アクセス権を付与します。 |
dataform.repositories.get
|
|
| Dataproc Metastore データベース | リーダー | roles/metastore.metadataUser |
Dataproc Metastore データベースのリストを取得するドメイン権限を付与します。 |
metastore.databases.get
|
| 書き込み | roles/metastore.metadataEditor |
ドメインに、Dataproc Metastore データベースのメタデータとこれらのデータベースのテーブルの読み取りと変更のアクセス権を付与します。 |
metastore.databases.get
|
|
| 管理者 | roles/metastore.metadataOwner |
ドメインに、Dataproc Metastore データベースのメタデータとそれらのデータベースにあるテーブルへのフルアクセス権を付与します。 |
metastore.databases.get
|
|
| 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
|
|
| Cloud Spanner データベース | リーダー | roles/spanner.databaseReader |
ドメインに、Spanner データベースからの読み取り、SQL クエリの実行、データベースのスキーマの表示を行う権限を付与します。 |
spanner.databases.get
|
| 書き込み | roles/spanner.editor |
インスタンスとデータベースの管理、クエリの実行、バックアップと復元の管理、リソース管理など、Spanner リソース全体に対するドメインの管理権限と運用権限を付与します。 |
spanner.databases.get
|
|
| 管理者 | roles/spanner.databaseAdmin |
プロジェクト内の Spanner インスタンスとこれらのインスタンス内のデータベースを管理する完全アクセス権をドメインに付与します。 |
spanner.databases.get
|
|
| BigLake テーブル | リーダー | roles/biglake.metadataViewer |
すべての BigLake リソースに対する読み取り専用メタデータ アクセス権をドメインに付与します。 |
biglake.tables.get
|
| 書き込み | roles/biglake.editor |
ドメインにすべての BigLake リソースに対する読み取り / 書き込みアクセス権を付与します。 |
biglake.tables.get
|
|
| 管理者 | roles/biglake.admin |
ドメインにすべての BigLake リソースへの完全アクセス権を付与します。 |
biglake.tables.get
|
|
| AlloyDB for PostgreSQL インスタンス | リーダー | roles/alloydb.viewer |
ドメインに AlloyDB for PostgreSQL リソースに対する読み取り専用アクセス権を付与します。 |
alloydb.instances.get
|
| 書き込み | roles/alloydb.editor |
ドメインに AlloyDB for PostgreSQL リソースへの読み取り / 書き込みアクセス権を付与します。 |
alloydb.instances.get
|
|
| Gemini Enterprise Agent Platform データセット | リーダー | roles/aiplatform.viewer |
Gemini Enterprise Agent Platform 内のすべてのリソースを表示する権限をドメインに付与します。 |
aiplatform.datasets.get
|
| 書き込み | roles/aiplatform.user |
Gemini Enterprise Agent Platform 内のすべてのリソースを使用する権限をドメインに付与します。 |
aiplatform.datasets.get
|
始める前に
リソースをデータドメインに含める前に、必要なロールがあり、API が有効になっていることを確認してください。
API を有効にする
Dataplex API を有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。
必要なロール
リソースをデータ ドメインにバインドするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
ドメインとリソース バインディングを管理する: Dataplex データドメイン編集者 (
roles/dataplex.dataDomainEditor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
ドメイン IAM プリンシパルを取得する
リソースに対するアクションの実行をデータ ドメインに承認するには、ドメイン IAM プリンシパル ID が必要です。リソースでドメインを承認するときにドメイン プリンシパル ID を指定する必要があるため、ドメイン プリンシパル ID を手元に用意しておきます。
コンソール
Google Cloud コンソールで、[データ ドメイン] ページに移動します。
ドメイン名をクリックして、ドメインの詳細ページに移動します。
[概要] タブで、[情報]、[識別子] の順に移動します。
[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-central1DOMAIN_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 ロールを付与する必要があります。
コンソール
Google Cloud コンソールで、ターゲット リソースに移動し、そのリソースの権限パネルを開きます。
- プロジェクト、Gemini Enterprise Agent Platform データセット、Dataproc Metastore データベースとテーブル、Dataform リポジトリ、AlloyDB for PostgreSQL インスタンス、BigLake テーブルの場合は、[IAM] ページに移動して、[アクセス権を付与] をクリックします。
- データ プロダクトの場合は、[データ プロダクト] ページに移動し、データ プロダクトを選択して、[共有] > [権限を設定] をクリックします。
- BigQuery データセットとテーブルの場合は、BigQuery ページに移動し、データセットまたはテーブルを選択して、[共有 > 権限の管理] をクリックします。
- Spanner データベースの場合は、[Spanner] ページに移動し、データベースを選択して [権限] タブをクリックします。
[プリンシパルを追加] などのボタンをクリックします。
[新しいプリンシパル] フィールドに、ドメインの IAM プリンシパルを貼り付けます。ドメイン プリンシパルを取得する手順については、ドメイン IAM プリンシパルを取得するをご覧ください。
[ロールを選択] メニューで、目的に合ったロールを選択します。ロールの完全なリストについては、ドメイン認証に推奨されるロールのセクションをご覧ください。変更が反映されるまで 2 ~ 3 分待ちます。
[保存] をクリックします。
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-central1DOMAIN_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 ドキュメントをご覧ください。
リソースをドメインにバインドする
ターゲット リソースでドメインを承認したら、リソースをドメインにバインドできます。プロジェクトを含めると、そのプロジェクト内のすべてのリソースがドメインに自動的に追加されます。ただし、明示的にオーバーライドして除外することは可能です。
コンソール
Google Cloud コンソールで、[データ ドメイン] ページに移動します。
リソースを追加するドメインを選択します。
[リソース] タブをクリックします。
含めるアイテムに応じて、[リソースを追加] または [プロジェクトを追加] をクリックします。
ドメインに含めるリソースを検索して選択します。
[選択] をクリックします。
REST
リソースをドメインに含めるには、projects.locations.dataDomains.bindings.create メソッドを使用します。
ドメインに含めるリソースのペイロードを表示するには、次のいずれかのセクションを開きます。
プロジェクト
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: データ ドメインをホストする Google Cloud プロジェクトの ID。LOCATION_ID: データドメインが存在するリージョン。例:us-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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-central1DOMAIN_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)と空のレスポンスが返されます。
含まれるリソースを表示する
データ ドメインに直接バインドされているフォルダ、プロジェクト、リソースを表示します。
コンソール
Google Cloud コンソールで、[データ ドメイン] ページに移動します。
ドメイン名をクリックします。
[リソース] タブをクリックします。リストには、ドメインに直接含まれるリソースが表示されます。
REST
含まれているリソース バインディングを一覧表示するには、projects.locations.dataDomains.bindings.list メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION_ID: データドメインが存在するリージョン。例:us-central1DOMAIN_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)と空のレスポンスが返されます。
ドメインからリソースを削除する
リソースを削除すると、データドメイン階層からバインドが解除されます。
コンソール
Google Cloud コンソールで、[データ ドメイン] ページに移動します。
ドメイン名をクリックします。
[リソース] タブをクリックします。
削除するリソースを選択します。
[削除] をクリックして、削除を確定します。
REST
リソース バインディングを削除するには、projects.locations.dataDomains.bindings.delete メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。LOCATION_ID: データドメインが存在するリージョン。例:us-central1DOMAIN_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)と空のレスポンスが返されます。
次のステップ
- 詳しくは、データ ドメインをご覧ください。
- 詳しくは、リソースのバインディングとインクルードをご覧ください。
- データ ドメインを作成する方法を学習する。
- データ ドメインを使用する方法を確認する。