建立資料網域

本文說明如何使用Google Cloud 控制台和 REST API 建立資料網域和子網域,以及如何將身分與存取權管理 (IAM) 角色和權限授予與網域及其資源互動的使用者。

事前準備

建立資料網域及指派網域擁有者之前,請先確認您具備所需角色,並已啟用 API。

  • 網域和子網域的巢狀結構深度上限為五層。
  • 單一資料網域最多可建立 50 個直接子網域。
  • 在專案中,每個地區最多可有 1,000 個網域。

啟用 API

啟用 Dataplex API。

啟用 API 時所需的角色

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

啟用 API

必要的角色

如要取得建立資料網域及指派網域擁有者所需的權限,請要求管理員授予您專案的下列 IAM 角色:

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

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

建立資料網域

建立資料網域,做為專案和位置中資料資產和產品的邏輯分組。

控制台

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

    前往「資料網域」

  2. 點按「建立資料網域」,然後提供下列資訊:

    • 在「顯示名稱」欄位中,提供網域的易記名稱。例如:Finance
    • 在「資料網域 ID」欄位中,提供網域的專屬 ID。系統建立網域後,您就無法變更這個值。
    • 在「Location」(位置) 欄位中,選取要建立資料網域的區域。
    • 在「專案 ID」欄位中,選取要建立資料網域的專案。
    • 選用:在「Description」(說明) 欄位中,提供網域的簡短說明。
    • 在「擁有者」欄位中,新增網域擁有者。您可以同時輸入多個電子郵件地址。
  3. 選用:在「標籤」欄位中輸入標籤,將相關物件組成群組,或是與其他 Google Cloud 資源分為一組。

  4. 點選「建立」。您可能需要等待幾分鐘,才能存取或搜尋資料網域。

REST

如要建立資料網域,請使用 projects.locations.dataDomains.create 方法。

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

  • PROJECT_ID:專案的 ID。 Google Cloud
  • LOCATION_ID:要建立資料網域的區域。例如:us-central1
  • DATA_DOMAIN_ID:資料網域的專屬 ID。

HTTP 方法和網址:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=DATA_DOMAIN_ID

JSON 要求主體:

{
  "display_name": "Finance Domain",
  "description": "Domain for finance datasets and reports.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

建立資料子網域

建立子網域,擴充資料網域階層。

控制台

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

    前往「資料網域」

  2. 選取要建立子網域的網域。

  3. 按一下「建立資料子網域」,然後提供下列資訊:

    • 在「顯示名稱」欄位中,提供網域的易記名稱。例如:Finance
    • 在「資料網域 ID」欄位中,提供網域的專屬 ID。系統建立網域後,您就無法變更這個值。
    • 選用:在「Description」(說明) 欄位中,提供網域的簡短說明。
    • 在「擁有者」欄位中,新增網域擁有者的電子郵件地址。您可以同時輸入多個電子郵件地址。
  4. 選用:在「標籤」欄位中輸入標籤,將相關物件組成群組,或是與其他 Google Cloud 資源分為一組。

  5. 點選「建立」。您可能需要等待幾分鐘,才能存取或搜尋資料子網域。

REST

如要建立資料子網域,請使用 projects.locations.dataDomains.create 方法,並在要求主體中指定 parent_data_domain

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

  • PROJECT_ID:專案的 ID。 Google Cloud
  • LOCATION_ID:父項資料網域所在的區域。例如:us-central1
  • SUBDOMAIN_ID:資料子網域的專屬 ID。
  • PARENT_DATA_DOMAIN_ID:建立這個子網域的父項資料網域專屬 ID。

HTTP 方法和網址:

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/dataDomains?data_domain_id=SUBDOMAIN_ID

JSON 要求主體:

{
  "display_name": "Finance Subdomain",
  "description": "A subdomain within the Finance domain.",
  "contacts": {
    "identities": [
      {
        "contact_name": "Alice Wonderland",
        "contact_role": "owner",
        "contact_id": "alice@example.com"
      }
    ]
  },
  "parent_data_domain": "projects/PROJECT_ID/locations/LOCATION_ID/dataDomains/PARENT_DATA_DOMAIN_ID"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

資料網域角色和權限

下表列出可授予資料網域擁有者和使用者的預先定義 IAM 角色。

角色名稱 IAM 角色 說明
Dataplex 資料網域管理員 roles/dataplex.dataDomainAdmin 可建立及管理資料網域和子網域,以及這些網域的繫結。管理員角色也能讓您管理網域的所有 IAM 角色和權限。
Dataplex 資料網域設定檢視者 roles/dataplex.dataDomainViewer 可查看資料網域和資源網域繫結的設定。
Dataplex 資料網域設定編輯者 roles/dataplex.dataDomainEditor 可編輯現有網域,以及建立及管理資源網域繫結。編輯者角色也能管理中繼資料授權,讓使用者探索網域資源。
Dataplex 資料網域項目讀取者 roles/dataplex.dataDomainEntryReader 可探索及查看資料網域、子網域,以及所有資源的中繼資料。

將角色授予網域擁有者或使用者時,請注意下列事項:

  • 身分與存取權管理資料網域角色會從父項網域傳播至子網域,但不會直接傳播至納入的資源。也就是說,如果您將 roles/dataplex.dataDomainEntryReader 授予包含 BigQuery 資料集的網域使用者,該使用者不會在資料集 Identity and Access Management 角色中看到該角色。
  • 在網域中授予的 roles/dataplex.dataDomainEntryReader 角色可讓您執行下列動作:

    • 您可以探索資源、詳細資料和中繼資料,但無法在網域中查看資源。詳情請參閱「資料網域限制」。
    • 您可以在網域中的資源上使用 lookupEntry 等 API 方法。

授予資料網域存取權

控制台

如要授予資料網域的存取權,請按照下列步驟操作:

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

    前往「資料網域」

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

  3. 按一下頂端列中的「權限」

  4. 按一下「Add principal」(新增主體)

  5. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址。

  6. 在「Select a role」(選取角色) 欄位中,選擇資料網域角色。舉例來說,使用 Dataplex Data Domain Entry Reader 可讓使用者探索及查看資料網域、子網域,以及所含資源的中繼資料。如要授予其他角色,請按一下「新增其他角色」

  7. 按一下 [儲存]

REST

如要設定資料網域的 IAM 政策,請使用 projects.locations.dataDomains.setIamPolicy 方法。

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

  • PROJECT_ID:專案的 ID。 Google Cloud
  • LOCATION_ID:資料網域所在的區域。例如:us-central1
  • DOMAIN_ID:資料網域的專屬 ID。
  • ROLE:要授予網域使用者的角色。

HTTP 方法和網址:

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

JSON 要求主體:

{
  "policy": {
    "bindings": [
      {
        "role": "ROLE",
        "members": [
          "user:example-user@google.com",
          "group:finance-consumers@google.com"
        ]
      }
    ]
  }
}

請展開以下其中一個選項,以傳送要求:

您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

撤銷資料網域存取權

如要從主體移除角色或權限,請按照下列步驟操作:

控制台

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

    前往「資料網域」

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

  3. 按一下頂端列中的「權限」

  4. 在「Permissions」(權限) 窗格中,找出要撤銷角色權限的主體。

  5. 找出要移除的角色,然後按一下旁邊的「刪除」圖示。

  6. 按一下 [儲存]

REST

如要使用 REST API 撤銷資料網域的存取權,請使用 projects.locations.dataDomains.getIamPolicy 方法擷取現有政策,從 bindings 清單中移除角色或主體,然後使用 projects.locations.dataDomains.setIamPolicy 方法設定更新後的政策:

  1. 取得目前的 IAM 政策:

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

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

    HTTP 方法和網址:

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

    請展開以下其中一個選項,以傳送要求:

    您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

  2. 設定更新後的政策:

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

    • PROJECT_ID:專案的 ID。 Google Cloud
    • LOCATION_ID:資料網域所在的區域。例如:us-central1
    • DOMAIN_ID:資料網域的專屬 ID。
    • ROLE:要授予網域使用者的角色。

    HTTP 方法和網址:

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

    JSON 要求主體:

    {
      "policy": {
        "bindings": [
          {
            "role": "ROLE",
            "members": [
              "user:example-user@google.com",
              "group:finance-consumers@google.com"
            ]
          }
        ]
      }
    }
    

    請展開以下其中一個選項,以傳送要求:

    您應該會收到執行成功的狀態碼 (2xx) 和空白回應。

後續步驟