配置 Analytics Hub 角色
本文档介绍 Analytics Hub 用户角色以及如何向用户授予这些角色。如需了解详情,请参阅 Analytics Hub 角色。
Analytics Hub 用户角色
以下部分介绍了预定义的 Analytics Hub 角色。您可以将这些角色分配给用户,以对您的数据交换和清单执行各种任务。
Analytics Hub Admin 角色
为了管理数据交换,Analytics Hub 提供了您可以授予项目或数据交换的 Analytics Hub Admin 角色 (roles/analyticshub.admin
)。凭借此角色,用户可以执行以下任务:
- 创建、更新和删除数据交换。
- 创建、更新、删除和共享清单。
- 管理 Analytics Hub 管理员,清单管理员、发布者、订阅者和查看者。
具有此角色的用户称为管理员。
Analytics Hub Publisher 和 Listing Admin 角色
为了管理清单,Analytics Hub 提供了您可以为项目、数据交换或清单授予的以下预定义角色:
Analytics Hub Publisher 角色 (
roles/analyticshub.publisher
),用于执行以下任务:- 创建、更新和删除清单。
- 为清单设置 IAM 政策。
具有此角色的用户称为发布商。
Analytics Hub Listing Admin (
roles/analyticshub.listingAdmin
) 角色,该角色使用户可以执行以下任务:- 更新和删除清单。
- 为清单设置 IAM 政策。
Analytics Hub Subscriber 和 Viewer 角色
为了查看和订阅清单,Analytics Hub 提供了以下预定义角色,您可以将这些角色授予项目、数据交换或清单:
Analytics Hub Subscriber 角色 (
roles/analyticshub.subscriber
),使用户可以查看和订阅清单。具有此角色的用户称为订阅者。
Analytics Hub Viewer 角色 (
roles/analyticshub.viewer
),使用户可以查看清单和数据交换的权限。具有此角色的用户称为查看者。
Analytics Hub Subscription Owner 角色
为了管理订阅,Analytics Hub 提供了以下预定义角色,您可以在项目级层授予这些角色:
- Analytics Hub Subscription Owner 角色 (
roles/analyticshub.subscriptionOwner
),该角色允许用户管理其订阅。
授予 Analytics Hub 角色
您可以根据需要,在资源层次结构的以下级层授予 Analytics Hub 角色:
项目。如果您为用户授予项目的角色,则该角色将应用于项目包含的所有数据交换和清单。
数据交换。如果您为用户授予数据交换角色,则它将应用于数据交换包含的所有清单。
清单。如果您向用户授予清单的角色,则该角色将仅应用于这一特定清单。
授予项目的角色
如果要针对项目设置 IAM 政策,您必须拥有该项目的 roles/resourcemanager.projectIamAdmin
角色。要向项目授予预定义的 Analytics Hub 用户角色,请按照以下步骤操作:
控制台
转到项目的 IAM。
点击
Add。在新建主账号字段中,输入您要向其授予访问权限的身份的电子邮件地址。例如:
- Google 账号电子邮件地址:
test-user@gmail.com
- Google 群组:
admins@googlegroups.com
- 服务账号:
server@example.gserviceaccount.com
- Google Workspace 网域:
example.com
- Google 账号电子邮件地址:
在角色列表中,将指针悬停在 Analytics Hub 上,然后选择以下角色之一:
- Analytics Hub Admin
- Analytics Hub Publisher
- Analytics Hub Listing Admin
- Analytics Hub Subscriber
- Analytics Hub Viewer
可选:如需进一步控制用户对 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
:项目 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
替换为项目 ID,例如my-project-1
。如需添加主账号及其关联的角色,请使用文本编辑器修改该政策。请按以下格式添加成员:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
例如,如需向
group:admins@example.com
授予roles/analyticshub.admin
角色,请将以下绑定添加到政策中:{ "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 控制台中,转到 Analytics Hub 页面。
点击您要设置权限的数据交换名称。
点击
设置权限。如需添加主账号,请点击
添加主账号。在新建主账号字段中,添加要授予其访问权限的电子邮件。
对于选择角色,请将指针悬停在 Analytics Hub 上,然后选择以下 Identity and Access Management (IAM) 角色之一:
- Analytics Hub Admin
- Analytics Hub Publisher
- Analytics Hub Listing Admin
- Analytics Hub Subscriber
- Analytics Hub Viewer
点击保存。
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。
Analytics Hub 会返回当前政策。
如需添加或移除成员及其关联的 Identity and Access Management (IAM) 角色,请使用文本编辑器修改该政策。请按以下格式添加成员:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
例如,如需向
group:subscribers@example.com
授予roles/analyticshub.subscriber
角色,请将以下绑定添加到政策中:{ "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
在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含清单的详细信息。
您可以通过同一 IAM 面板删除和更新数据交换的角色,如前面的步骤中所述。
授予清单的角色
要授予清单的角色,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,转到 Analytics Hub 页面。
点击包含清单的数据交换名称。
点击要为其添加用户的清单。
点击
设置权限。如需添加主账号,请点击
添加主账号。在新建主账号字段中,添加您要授予其访问权限的身份的电子邮件。
对于选择角色,请将指针悬停在 Analytics Hub 上,然后选择以下角色之一:
- Analytics Hub Admin
- Analytics Hub Publisher
- Analytics Hub Listing Admin
- Analytics Hub Subscriber
- Analytics Hub Viewer
点击保存。
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。
Analytics Hub 会返回当前政策。
如需添加或移除成员及其关联的 Identity and Access Management (IAM) 角色,请使用文本编辑器修改该政策。请按以下格式添加成员:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
例如,如需向
group:publishers@example.com
授予roles/analyticshub.publisher
角色,请将以下绑定添加到政策中:{ "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
在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含清单的详细信息。
您可以通过同一 IAM 面板删除和更新清单的角色,如前面的步骤中所述。
后续步骤
- 了解 IAM。
- 了解 BigQuery IAM 角色。
- 查看 Analytics Hub IAM 角色列表。
- 了解 Analytics Hub。
- 了解如何管理数据交换。
- 了解如何管理清单。
- 了解如何查看和订阅清单。
- 了解 Analytics Hub 审核日志记录。