在資料領域中納入資源

Knowledge Catalog (舊稱 Dataplex Universal Catalog) 的資料網域可讓您將專案、資料產品和個別資產 (例如 BigQuery 資料集和資料表) 整理成邏輯階層。授權網域並建立資源繫結後,使用者就能在該業務情境中搜尋,找出包含的資源並查看其中繼資料。

運作方式

如要在網域中加入資源,請務必執行下列步驟:

  1. 取得要授權的網域主體 ID。詳情請參閱「取得網域主體」。
  2. 授權網域授予特定資源或專案的存取權。
  3. 在資源和網域之間建立繫結。詳情請參閱「將資源繫結至網域」。

關於資料網域授權

網域授權會在資源和網域之間建立信任關係。資源擁有者會將 IAM 權限授予目標資源或專案的資料網域 IAM 主體。這項操作可讓 Knowledge Catalog 授權並執行繫結建立作業,將資源連結至網域。

只有在建立繫結時,系統才會驗證網域授權。也就是說,如果您撤銷網域主體的資源 IAM 角色,該資源不會自動解除繫結或從網域中移除。具備 roles/dataplex.dataDomainEntryReader 角色的網域使用者會繼續探索資源並查看其中繼資料,直到資源與網域的繫結明確刪除為止。

網域授權和網域使用者權限

使用資料網域時,請務必區分「資料網域授權」和「授予使用者資料網域權限」:

  • 資料網域授權:授權目標資源的資料網域。您需要為基礎資源 (例如專案或 BigQuery 資料集) 授予資料網域 IAM 主體權限,才能建立資源與網域之間的繫結。
  • 將資料網域權限授予使用者:這代表授予使用者或服務帳戶權限,讓他們與資料網域本身互動。您可以直接在資料網域中,將 IAM 角色授予使用者,讓他們在 Knowledge Catalog 中查看、編輯或管理網域。詳情請參閱「資料網域角色和權限」。

角色類型

在目標資源上授權資料網域時,您可以選取下列其中一種 IAM 角色類型:讀取者、寫入者或管理員。

一般來說,寫入者和管理員角色類型是保留給網域,以便對其授權的資源執行更廣泛的操作,如下所示:

  • 寫入者角色類型可讓網域管理資源的中繼資料編輯權限。
  • 管理員角色類型可讓網域管理資源的任何權限。

在資料網域範圍內,這三種角色類型都允許資料網域建立與目標資源的繫結。建立繫結後,使用者就能在網域中搜尋資源,並查看資源的中繼資料。詳情請參閱「搜尋資料資源」。

選擇角色類型時,請考量您要授予網域的資源長期存取權層級。

建議用於網域授權的角色

下表列出建議的角色,可用於授權網域檢查資源。您可以為每項資源選擇建議以外的角色,但該角色必須具備執行資源繫結所需的權限。

從清單中選取要查看角色的資源類型。

資源類型 角色類型 建議的角色 說明 所需權限
專案 讀取者 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。此外,請注意下列限制:

  • 一項資源只能屬於一個網域。
  • 一個網域最多可包含 500 項資源。

啟用 API

啟用 Dataplex API (如果尚未啟用)。

啟用 API 所需的角色

您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

啟用 API

必要的角色

如要取得將資源繫結至資料網域所需的權限,請要求管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

取得網域 IAM 主體

如要授權資料網域對資源執行動作,您需要網域 IAM 主體 ID。請備妥網域主體 ID,因為您必須在授權資源上的網域時提供該 ID。

控制台

  1. 前往 Google Cloud 控制台的「Data domains」(資料網域) 頁面。

    前往「資料網域」

  2. 按一下網域名稱,前往網域詳細資料頁面。

  3. 在「總覽」分頁中,依序前往「資訊」和「ID」。

  4. 複製「IAM 主體」的值。格式大致如下:

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

REST

如要使用 REST API 取得網域主體,請使用 projects.locations.dataDomains.get 方法取得資料網域。回應包含 policyMember 欄位,其中含有網域的 IAM 主體 (iamPolicyNamePrincipal 或 iamPolicyUidPrincipal):

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • LOCATION_ID:資料網域所在的區域。例如:us-central1。
  • DOMAIN_ID:資料網域或子網域的專屬 ID。

HTTP 方法和網址:

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. 按一下「Add Principal」(新增主體) 或類似選項。

  3. 在「New principals」(新增主體) 欄位中,貼上網域的 IAM 主體。如要瞭解如何取得網域主體,請參閱「取得網域 IAM 主體」一節。

  4. 在「Select a role」(選取角色) 選單中,選取符合您用途的角色。如需完整角色清單,請參閱「建議用於網域授權的角色」一節。請等待兩到三分鐘,讓變更生效。

  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 方法和網址:

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 方法和網址:

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 控制台的「Data domains」(資料網域) 頁面。

    前往「資料網域」

  2. 選取要新增資源的網域。

  3. 按一下「資源」分頁標籤。

  4. 視要加入的項目而定,按一下「新增資源」或「新增專案」。

  5. 搜尋並選取要納入網域的資源。

  6. 按一下「選取」。

REST

如要在網域中加入資源,請使用 projects.locations.dataDomains.bindings.create 方法。

如要查看要納入網域的資源酬載,請展開下列其中一個部分:

專案

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:託管資料網域的 Google Cloud 專案 ID。
  • LOCATION_ID:資料網域所在的區域。例如:us-central1。
  • DOMAIN_ID:資料網域的專屬 ID。
  • RESOURCE_PROJECT_ID:要納入網域的目標專案 ID。
  • BINDING_ID:這項資源繫結的選用專屬 ID。

HTTP 方法和網址:

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:資料網域的專屬 ID。
  • RESOURCE_PROJECT_ID:託管資源的 Google Cloud 專案 ID。
  • DATASET_ID:目標資源的 ID (例如 BigQuery 資料集)。
  • BINDING_ID:這項資源繫結的選用專屬 ID。

HTTP 方法和網址:

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:資料網域的專屬 ID。
  • RESOURCE_PROJECT_ID:託管資料產品的 Google Cloud 專案 ID。
  • DATA_PRODUCT_ID:目標資料產品的專屬 ID。
  • BINDING_ID:這項資源繫結的選用專屬 ID。

HTTP 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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 方法和網址:

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 控制台的「Data domains」(資料網域) 頁面。

    前往「資料網域」

  2. 按一下網域名稱。

  3. 按一下「資源」分頁標籤。這份清單會顯示直接加入網域的資源。

REST

如要列出包含的資源繫結,請使用 projects.locations.dataDomains.bindings.list 方法:

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • LOCATION_ID:資料網域所在的區域。例如:us-central1。
  • DOMAIN_ID:資料網域的專屬 ID。

HTTP 方法和網址:

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 控制台的「Data domains」(資料網域) 頁面。

    前往「資料網域」

  2. 按一下網域名稱。

  3. 按一下「資源」分頁標籤。

  4. 選取要移除的資源。

  5. 按一下「Delete」(刪除) 並確認刪除。

REST

如要刪除資源繫結,請使用 projects.locations.dataDomains.bindings.delete 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID: Google Cloud 專案的 ID。
  • LOCATION_ID:資料網域所在的區域。例如:us-central1。
  • DOMAIN_ID:資料網域的專屬 ID。
  • BINDING_ID:資源繫結的專屬 ID。

HTTP 方法和網址:

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) 和空白回應。

後續步驟