設定 BigQuery 共用角色
如要安全地管理 BigQuery 共用資料交換和資訊公開的存取權,請授予 BigQuery 共用 (舊稱 Analytics Hub) 的特定 Identity and Access Management (IAM) 角色。您可以指派這些角色來控管資料的使用者權限,確保只有授權使用者可以探索、訂閱及管理資料共用資源。
BigQuery sharing 身分與存取權管理角色
以下各節說明預先定義的 BigQuery 共用角色。您可以將這些角色指派給使用者,讓他們在資料交易所和房源上執行各種工作。
Analytics Hub 管理員角色
如要管理資料交換,BigQuery 分享功能提供Analytics Hub 管理員角色 (roles/analyticshub.admin),您可以針對 Cloud de Confiance 專案或資料交換授予這個角色。這個角色可讓使用者執行下列操作:
- 建立、更新及刪除資料交換庫。
- 建立、更新、刪除及共用房源資訊。
- 管理 BigQuery sharing 管理員、清單管理員、發布者、訂閱者和檢視者。
您將透過這個角色成為 BigQuery 共用管理員。
Analytics Hub 發布者和項目管理員角色
如要管理清單,Sharing 提供下列預先定義的角色,您可以為專案、資料交換或清單授予這些角色:
Analytics Hub 發布者角色 (
roles/analyticshub.publisher),可讓使用者執行下列操作:- 建立、更新及刪除房源資訊。
- 設定房源的 IAM 政策。
您將透過這個角色成為 BigQuery sharing 發布端。
Analytics Hub 清單管理員角色 (
roles/analyticshub.listingAdmin),可讓使用者執行下列操作:- 更新及刪除房源資訊。
- 設定房源的 IAM 政策。
您會成為 BigQuery 共用清單管理員。
Analytics Hub 訂閱者和檢視者角色
如要查看及訂閱清單和資料交換,共用功能提供下列預先定義的角色,可授予專案、資料交換或清單:
Analytics Hub 訂閱者角色 (
roles/analyticshub.subscriber),可供使用者查看及訂閱房源。您會透過這個角色成為 BigQuery sharing 訂閱者。
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.s3ns-system.iam.gserviceaccount.com - Google Workspace 網域:
example.com
- Google 帳戶電子郵件地址:
在「Select a role」(選取角色) 清單中,將指標懸停在「Analytics Hub」(數據分析中心) 上,然後選取下列其中一個角色:
- Analytics Hub 管理員
- Analytics Hub 清單管理員
- Analytics Hub 發布者
- Analytics Hub 訂閱者
- Analytics Hub 訂閱項目擁有者
- Analytics Hub 檢視者
選用:如要進一步控管對 Cloud de Confiance by S3NS 資源的存取權,請新增條件式角色繫結。
儲存變更。
您可以使用相同的 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.s3ns-system.iam.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。
授予資料交換的角色
如要授予資料交換庫的角色,請按照下列步驟操作:
控制台
前往 Cloud de Confiance 控制台的「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 面板刪除及更新資料交換角色。
授予房源角色
如要授予商家資訊的角色,請按照下列步驟操作:
控制台
前往 Cloud de Confiance 控制台的「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 共用角色和權限。
- 瞭解 BigQuery 共用。
- 瞭解如何管理資料交換。
- 瞭解如何管理房源資訊。
- 瞭解如何查看及訂閱清單和資料交換。