設定 Analytics Hub 角色

本文將說明 Analytics Hub 使用者角色,以及如何將這些角色授予使用者。詳情請參閱「Analytics Hub 角色」。

Analytics Hub 使用者角色

以下各節將說明預先定義的 Analytics Hub 角色。您可以將這些角色指派給使用者,讓他們在資料交換和產品資訊中執行各種工作。

Analytics Hub 管理員角色

為了管理資料交換,分享 (原名 Analytics Hub) 提供 Analytics Hub 管理員角色 (roles/analyticshub.admin),您可以為專案或資料交換授予此角色。使用者可透過這個角色執行下列工作:

  • 建立、更新及刪除資料交換。
  • 建立、更新、刪除及分享產品資訊。
  • 管理 Analytics Hub 管理員、清單管理員、發布者、訂閱者和觀看者。

具備這個角色的使用者稱為「管理員」

Analytics Hub 發布者和清單管理員角色

如要管理清單,共用功能提供下列預先定義的角色,您可以為專案、資料交換或清單授予這些角色:

  • Analytics Hub 發布者角色 (roles/analyticshub.publisher),可讓使用者執行下列工作:

    具備這個角色的使用者稱為「發布者」

  • Analytics Hub 清單管理員角色 (roles/analyticshub.listingAdmin),可讓使用者執行下列工作:

Analytics Hub 訂閱者和檢視者角色

如要查看及訂閱清單,您可以為專案、資料交換或清單授予下列預先定義的角色:

  • Analytics Hub 訂閱者角色 (roles/analyticshub.subscriber),可讓使用者查看及訂閱商家資訊。

    具備這個角色的使用者稱為「訂閱者」

  • Analytics Hub 檢視者角色 (roles/analyticshub.viewer),可讓使用者查看資訊清單和資料交換的權限。

    具備此角色的使用者稱為「檢視者」

Analytics Hub 訂閱項目擁有者角色

為了管理訂閱項目,Sharing 提供下列預先定義角色,可在專案層級授予:

  • Analytics Hub 訂閱項目擁有者角色 (roles/analyticshub.subscriptionOwner),可讓使用者管理自己的訂閱項目。

授予 Analytics Hub 角色

視需求而定,您可以在資源階層的下列層級授予 Analytics Hub 角色:

  • 專案。如果您授予使用者專案角色,該角色會套用至專案中包含的所有資料交換和產品資訊。

  • 資料交換。如果您為資料交換授予使用者角色,則該角色會套用至資料交換包含的所有清單。

  • 產品資訊。如果您授予使用者商店資訊的角色,則該角色只會套用至該特定商店資訊。

授予專案角色

如要在專案中設定 IAM 政策,您必須具備該專案的 roles/resourcemanager.projectIamAdmin 角色。如要為專案授予預先定義的 Analytics Hub 使用者角色,請按照下列步驟操作:

主控台

  1. 前往專案的「IAM」頁面。

    前往身分與存取權管理頁面

  2. 按一下「授予存取權」圖示

  3. 在「New principals」(新增主體) 欄位中,輸入您要授予存取權的 ID 的電子郵件地址。例如:

    • Google 帳戶電子郵件:test-user@gmail.com
    • Google 群組:admins@googlegroups.com
    • 服務帳戶:server@example.gserviceaccount.com
    • Google Workspace 網域:example.com
  4. 在「請選取角色」清單中,將游標懸停在「Analytics Hub」上,然後選取下列其中一個角色:

    • Analytics Hub 管理員
    • Analytics Hub 清單管理員
    • Analytics Hub 發布者
    • Analytics Hub 訂閱者
    • Analytics Hub 訂閱項目擁有者
    • Analytics Hub 檢視器
  5. 選用:如要進一步控制使用者對 Google Cloud 資源的存取權,請新增條件式角色繫結

  6. 儲存變更。

您可以透過相同的 IAM 面板刪除及更新專案的管理員,如前述步驟所述。

gcloud

如要在專案層級授予角色,請使用 gcloud projects add-iam-policy-binding 指令

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

更改下列內容:

  • PROJECT_ID:專案 ID,例如 my-project-1
  • PRINCIPAL:您要授予角色的有效身分

    例如:

    • Google 帳戶電子郵件:user:user@gmail.com
    • Google 群組:group:admins@googlegroups.com
    • 服務帳戶:serviceAccount:server@example.gserviceaccount.com
    • Google Workspace 網域:domain:example.com

API

  1. 使用資源的 getIamPolicy 方法讀取現有政策。如要使用專案,請使用 projects.getIamPolicy 方法

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

    PROJECT_ID 替換為專案 ID,例如 my-project-1

  2. 如要新增主體及其相關角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    舉例來說,如要將 roles/analyticshub.admin 角色授予 group:admins@example.com,請將下列繫結加入政策:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. 使用 setIamPolicy 方法編寫更新後的政策。

    舉例來說,如要在專案層級設定政策,請使用 project.setIamPolicy 方法。在要求主體中,提供上一個步驟中更新的 IAM 政策。

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

    PROJECT_ID 替換為專案 ID。

授予資料交換的角色

如要授予資料交換的角色,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Sharing (Analytics Hub)」(分享 (數據分析中心) 頁面。

    前往「分享」(Analytics Hub)

  2. 按一下要設定權限的資料交換名稱。

  3. 前往「詳細資料」分頁。

  4. 按一下 「設定權限」

  5. 如要新增主體,請按一下 「新增主體」

  6. 在「New principals」(新增主體) 欄位中,新增您要授予存取權的電子郵件 ID。您也可以使用 allUsers 將資源設為公開,讓網際網路上的所有使用者都能存取,或是使用 allAuthenticatedUsers 將資源設為僅供已登入 Google 的使用者存取。

  7. 在「請選取角色」選單中,選取「Analytics Hub」,然後選取下列其中一個 Identity and Access Management (IAM) 角色:

    • Analytics Hub 管理員
    • Analytics Hub 清單管理員
    • Analytics Hub 發布者
    • Analytics Hub 訂閱者
    • Analytics Hub 訂閱項目擁有者
    • Analytics Hub 檢視器
  8. 按一下 [儲存]

API

  1. 使用 projects.locations.dataExchanges.getIamPolicy 方法,透過列出 getIamPolicy 方法讀取現有政策:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    更改下列內容:

    • PROJECT_ID:專案 ID,例如 my-project-1
    • LOCATION:資料交換的位置。請使用小寫英文字母。
    • DATAEXCHANGE_ID:資料交換 ID。

    BigQuery sharing (原 Analytics Hub) 會傳回目前的政策。

  2. 如要新增或移除成員及其相關的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    舉例來說,如要將 roles/analyticshub.subscriber 角色授予 group:subscribers@example.com,請將下列繫結加入政策:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. 使用 projects.locations.dataExchanges.setIamPolicy 方法編寫更新後的政策。在要求主體中提供先前步驟中更新的 IAM 政策。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    在要求內容中提供商家詳細資料。如果要求成功,回應主體會包含清單的詳細資料。

在資源層級 (例如資料交換) 授予權限時,您必須使用小寫字母來表示資源名稱的位置部分。使用大寫或大小寫混合值可能會導致 Permission Denied 錯誤。

  • 請使用:projects/myproject/locations/us/dataExchanges/123
  • 避免使用:projects/myproject/locations/US/dataExchanges/123
  • 避免使用:projects/myproject/locations/Eu/dataExchanges/123

您可以透過相同的 IAM 面板刪除及更新資料交換的角色,如前述步驟所述。

授予商家資訊角色

如要授予商家資訊的角色,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「Sharing (Analytics Hub)」(分享 (數據分析中心) 頁面。

    前往「分享」(Analytics Hub)

  2. 按一下包含商家資訊的資料交換名稱。

  3. 按一下要新增使用者的商店資訊。

  4. 按一下 「設定權限」

  5. 如要新增主體,請按一下 「新增主體」

  6. 在「New principals」欄位中,新增您要授予存取權的 ID 身分。

  7. 在「請選取角色」選單中,選取「Analytics Hub」,然後選取下列其中一個 Identity and Access Management (IAM) 角色:

    • Analytics Hub 管理員
    • Analytics Hub 清單管理員
    • Analytics Hub 發布者
    • Analytics Hub 訂閱者
    • Analytics Hub 訂閱項目擁有者
    • Analytics Hub 檢視器
  8. 按一下 [儲存]

API

  1. 使用 projects.locations.dataExchanges.listings.getIamPolicy 方法,透過列出 getIamPolicy 方法讀取現有政策:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    更改下列內容:

    • PROJECT_ID:專案 ID,例如 my-project-1
    • LOCATION:包含刊登資料的資料交換位置。請使用小寫英文字母。
    • DATAEXCHANGE_ID:資料交換 ID。
    • LISTING_ID:商家資訊 ID。

    共用會傳回目前的政策。

  2. 如要新增或移除成員及其相關的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    舉例來說,如要將 roles/analyticshub.publisher 角色授予 group:publishers@example.com,請將下列繫結加入政策:

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. 使用 projects.locations.dataExchanges.listings.setIamPolicy 方法編寫更新後的政策。在要求主體中提供先前步驟中更新的 IAM 政策。

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
    

    在要求內容中提供商家詳細資料。如果要求成功,回應主體會包含清單的詳細資料。

在資源層級 (例如在產品資訊上) 授予權限時,請務必使用小寫字母來表示資源名稱中的位置部分。使用大寫或大小寫混合值可能會導致 Permission Denied 錯誤。

  • 請使用:projects/myproject/locations/us/dataExchanges/123/listings/456
  • 避免使用:projects/myproject/locations/US/dataExchanges/123/listings/456
  • 避免使用:projects/myproject/locations/Eu/dataExchanges/123/listings/456

你可以透過相同的 IAM 面板刪除和更新產品資訊的角色,如前述步驟所述。

後續步驟