Knowledge Catalog(旧称 Dataplex Universal Catalog)のデータドメインを使用すると、プロジェクト、データ プロダクト、個々のアセット(BigQuery のデータセットやテーブルなど)を論理階層に整理できます。ドメインを承認してリソース バインディングを作成すると、ユーザーはそのビジネス コンテキスト内で検索して、含まれているリソースを検出し、メタデータを表示できます。
仕組み
ドメインにリソースを含めるには、次の手順を行う必要があります。
- 承認するドメインのドメイン プリンシパル ID を取得します。詳細については、ドメイン プリンシパルを取得するをご覧ください。
- 特定のリソースまたはプロジェクトへのアクセス権を付与するドメインを承認します。
- リソースとドメインの間にバインディングを作成します。詳細については、リソースをドメインにバインドするをご覧ください。
データドメインの承認について
ドメイン認証により、リソースとドメインの間に信頼関係が確立されます。リソース オーナーは、ターゲット リソースまたはプロジェクトのデータドメイン IAM プリンシパルに IAM 権限を付与します。この操作により、Knowledge Catalog は、リソースをドメインにリンクするバインディングの作成を承認して実行できます。
ドメイン認証は、バインディングの作成時にのみ検証されます。つまり、リソースに対するドメイン プリンシパルの IAM ロールを取り消しても、そのリソースは自動的にバインド解除されたり、ドメインから削除されたりすることはありません。roles/dataplex.dataDomainEntryReader ロールを持つドメイン ユーザーは、リソースとドメインのバインディングが明示的に削除されるまで、リソースを検出してそのメタデータを表示できます。
ドメインの承認とドメイン ユーザーの権限
データドメインを操作する場合は、データドメインの認可と、ユーザーにデータドメインの権限を付与することを区別することが重要です。
- データドメインの承認: ターゲット リソースでデータドメインを承認することを指します。プロジェクトや BigQuery データセットなどの基盤となるリソースに対するデータドメインの IAM プリンシパル権限を付与して、リソースとドメイン間のバインディングを作成します。
- ユーザーにデータドメインの権限を付与する: これは、ユーザーまたはサービス アカウントにデータドメイン自体を操作する権限を付与することを指します。データドメインでユーザーに IAM ロールを直接付与すると、ユーザーは Knowledge Catalog 内でドメインを表示、編集、管理できます。詳細については、データドメインのロールと権限をご覧ください。
ロールのタイプ
ターゲット リソースでデータドメインを認可するときに、読み取り、書き込み、管理者のいずれかのロールタイプに該当する IAM ロールを選択できます。
一般的に、Writer と Admin のロールタイプは、ドメインが、認可されているリソースに対して、以下のような幅広いアクションを実行できるようにするために予約されています。
- 書き込みロールタイプを使用すると、ドメインはリソースのメタデータ編集権限を管理できます。
- 管理者ロールタイプを使用すると、ドメインはリソースに対するすべての権限を管理できます。
データドメインのスコープ内では、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 が有効になっていることを確認してください。また、次の制限を考慮してください。
- リソースは 1 つのドメインにのみ属することができます。
- ドメインには最大 500 個のリソースを含めることができます。
API を有効にする
Dataplex API が有効になっていない場合は、有効にします。
API を有効にするために必要なロール
API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法を確認する。
必要なロール
リソースをデータドメインにバインドするために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
ドメインとリソース バインディングを管理する: Dataplex データドメイン編集者 (
roles/dataplex.dataDomainEditor)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
ドメインの IAM プリンシパルを取得する
データドメインにリソースに対するアクションの実行を認可するには、ドメイン IAM プリンシパル 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)と空のレスポンスが返されます。
次のステップ
- データドメインの詳細を確認する。
- リソースのバインディングとインクルージョンの詳細を確認する。
- データドメインを作成する方法を学習する。
- データドメインを使用する方法を確認する。