設定 BigQuery 共用角色
本文說明 BigQuery 共用 (舊稱 Analytics Hub) 的 Identity and Access Management (IAM) 角色,以及如何授予這些角色。詳情請參閱「BigQuery 共用角色和權限」。
BigQuery sharing 身分與存取權管理角色
以下各節說明預先定義的 BigQuery 共用角色。您可以將這些角色指派給使用者,讓他們在資料交易所和房源刊登中執行各種工作。
Analytics Hub 管理員角色
如要管理資料交換,BigQuery 共用功能提供Analytics Hub 管理員角色 (roles/analyticshub.admin),您可以為 Google Cloud 專案或資料交換授予這個角色。這個角色可讓使用者執行下列操作:
- 建立、更新及刪除資料交換。
- 建立、更新、刪除及共用房源資訊。
- 管理 BigQuery sharing 管理員、清單管理員、發布者、訂閱者和檢視者。
您將透過這個角色成為 BigQuery 共用管理員。
Analytics Hub 發布者和清單管理員角色
如要管理清單,Sharing 提供下列預先定義的角色,您可以為專案、資料交換或清單授予這些角色:
Analytics Hub 發布者角色 (
roles/analyticshub.publisher),可讓使用者執行下列操作:- 建立、更新及刪除房源資訊。
- 設定房源的 IAM 政策。
您將透過這個角色成為 BigQuery 共用發布者。
Analytics Hub 清單管理員角色 (
roles/analyticshub.listingAdmin),可讓使用者執行下列操作:- 更新及刪除房源資訊。
- 設定房源的 IAM 政策。
您會成為 BigQuery 共用清單管理員。
Analytics Hub 訂閱者和檢視者角色
如要查看及訂閱清單和資料交換,Sharing 提供下列預先定義的角色,可授予專案、資料交換或清單:
Analytics Hub 訂閱者角色 (
roles/analyticshub.subscriber),可讓使用者查看及訂閱房源。您會透過這個角色成為 BigQuery 共享訂閱者。
Analytics Hub 檢視者角色 (
roles/analyticshub.viewer),可讓使用者查看商家資訊和資料交換權限。您會成為 BigQuery 共用檢視者。
Analytics Hub 訂閱項目擁有者角色
如要管理訂閱項目,Sharing 提供下列預先定義角色,您可以在專案層級授予這些角色:
- Analytics Hub 訂閱項目擁有者角色
(
roles/analyticshub.subscriptionOwner),可讓使用者管理訂閱項目。
您會成為 BigQuery 共用訂閱方案擁有者。
授予 BigQuery 共用 IAM 角色
您可以視需求,在資源階層的下列層級授予 IAM 角色:
- 專案。如果您授予專案的角色,該角色會套用至專案中的所有資料交換和刊登。
- 資料交換。如果您授予資料交換庫的角色,該角色會套用至資料交換庫中的所有清單。
- 房源資訊:如果授予房源的角色,只會套用至該特定房源。
授予專案角色
如要在專案中設定 IAM 政策,您必須具備該專案的專案 IAM 管理員角色 (roles/resourcemanager.projectIamAdmin)。如要授予專案預先定義的 BigQuery sharing 身分與存取權管理角色,請選取下列其中一個選項。
控制台
前往專案的「IAM」頁面。
點選 「授予存取權」。
在「New principals」(新增主體) 欄位中,輸入要授予存取權的身分電子郵件地址。例如:
- Google 帳戶電子郵件地址:
test-user@gmail.com - Google 群組:
admins@googlegroups.com - 服務帳戶:
server@example.gserviceaccount.com - Google Workspace 網域:
example.com
- Google 帳戶電子郵件地址:
在「Select a role」(選取角色) 清單中,將指標懸停在「Analytics Hub」(數據分析中心) 上,然後選取下列其中一個角色:
- Analytics Hub 管理員
- Analytics Hub 清單管理員
- Analytics Hub 發布者
- Analytics Hub 訂閱者
- Analytics Hub 訂閱項目擁有者
- Analytics Hub 檢視者
選用:如要進一步控管對 Google Cloud 資源的存取權,請新增條件式角色繫結。
儲存變更。
您可以使用相同的 IAM 面板刪除及更新專案管理員。
gcloud
如要在專案層級授予角色,請使用 gcloud projects add-iam-policy-binding 指令:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='PRINCIPAL' \
--role='roles/analyticshub.admin'
更改下列內容:
PROJECT_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
- Google 帳戶電子郵件地址:
API
使用資源的
getIamPolicy方法讀取現有政策。如果是專案,請使用projects.getIamPolicy方法。POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
將
PROJECT_ID改為專案,例如my-project-1。如要新增主體及其相關聯的角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
舉例來說,如要將
roles/analyticshub.admin角色授予group:admins@example.com,請在政策中新增下列繫結:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }使用
setIamPolicy方法寫入更新後的政策。舉例來說,如要在專案層級設定政策,請使用
project.setIamPolicy方法。在要求主體中,提供上一個步驟中更新的 IAM 政策。POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
將
PROJECT_ID替換為專案 ID。
授予資料交換的角色
如要授予資料交換庫的角色,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Sharing (Analytics Hub)」頁面。
按一下要設定權限的資料交換名稱。
前往「詳細資料」分頁。
按一下 「設定權限」。
如要新增主體,請按一下「新增主體」。
在「New principals」(新增主體) 欄位中,新增要授予存取權的電子郵件 ID。您也可以使用
allUsers將資源設為公開,讓網際網路上的所有人都能存取,或使用allAuthenticatedUsers將資源設為僅供登入 Google 的使用者存取。在「Select a role」(選取角色) 選單中,選取「Analytics Hub」(資料分析中心),然後選取下列任一 Identity and Access Management (IAM) 角色:
- Analytics Hub 管理員
- Analytics Hub 清單管理員
- Analytics Hub 發布者
- Analytics Hub 訂閱者
- Analytics Hub 訂閱項目擁有者
- Analytics Hub 檢視者
按一下 [儲存]。
API
使用
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) 會傳回目前的政策。
如要新增或移除成員及其相關聯的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
舉例來說,如要將
roles/analyticshub.subscriber角色授予group:subscribers@example.com,請在政策中新增下列繫結:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }使用
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 面板刪除及更新資料交換角色。
授予房源角色
如要授予商家資訊的角色,請按照下列步驟操作:
控制台
前往 Google Cloud 控制台的「Sharing (Analytics Hub)」頁面。
按一下包含產品資訊的資料交換名稱。
按一下要新增使用者的房源資訊。
按一下 「設定權限」。
如要新增主體,請按一下 「新增主體」。
在「New principals」(新增主體) 欄位中,新增要授予存取權的身分電子郵件 ID。
在「Select a role」(選取角色) 選單中,選取「Analytics Hub」(資料分析中心),然後選取下列任一 Identity and Access Management (IAM) 角色:
- Analytics Hub 管理員
- Analytics Hub 清單管理員
- Analytics Hub 發布者
- Analytics Hub 訂閱者
- Analytics Hub 訂閱項目擁有者
- Analytics Hub 檢視者
按一下 [儲存]。
API
使用
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。
分享會傳回目前的政策。
如要新增或移除成員及其相關聯的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
舉例來說,如要將
roles/analyticshub.publisher角色授予group:publishers@example.com,請在政策中新增下列繫結:{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }使用
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 面板刪除及更新商家檔案角色。
後續步驟
- 瞭解 BigQuery IAM 角色。
- 瞭解 BigQuery sharing。
- 瞭解如何管理資料交換。
- 瞭解如何管理房源資訊。
- 瞭解如何查看及訂閱清單和資料交換。