管理数据交换
作为 Analytics Hub 管理员,您可以执行以下任务:
- 创建、更新、查看、共享和删除数据交换。
- 创建、更新、删除和共享清单。
- 管理 Analytics Hub 管理员,清单管理员、发布者、订阅者和查看者。
默认情况下,数据交换是不公开的,只有有权访问该交换的用户或群组才能查看或订阅数据。但是,如果您希望清单能够由 Google Cloud 用户 (allAuthenticatedUsers
) 发现和订阅,您便可以请求公开您的数据交换。
准备工作
要开始使用 Analytics Hub,您需要在 Google Cloud 项目中启用 Analytics Hub API。
所需权限
要启用 Analytics Hub API,您需要以下 Identity and Access Management (IAM) 权限:
serviceUsage.services.get
serviceUsage.services.list
serviceUsage.services.enable
以下预定义 IAM 角色可提供启用 Analytics Hub API 所需的权限:
roles/serviceusage.serviceUsageAdmin
如需详细了解 BigQuery 中的 IAM 角色,请参阅预定义的角色和权限。
启用 Analytics Hub API
如需启用 Analytics Hub API,请执行以下操作:
控制台
转到 Google Cloud 项目的 Analytics Hub API 并启用。
gcloud
运行 gcloud services enable 命令:
gcloud services enable analyticshub.googleapis.com
所需权限
如需管理数据交换,您必须具有 Analytics Hub Admin 角色 (roles/analyticshub.admin
)。如需了解详情,请参阅 Analytics Hub Admin 角色。如需了解如何向其他用户授予此角色,请参阅创建 Analytics Hub 管理员。
创建数据交换
如需创建数据交换,请按以下步骤操作:
控制台
转到 Analytics Hub 页面。
点击
创建交换。在创建交换对话框中,选择数据交换的项目和区域。创建数据交换后,您便无法更新项目和区域。
在显示名称部分,输入数据交换的名称。
可选:在以下字段中输入值:
- 主要联系人:输入数据交换的主要联系人的网址或电子邮件地址。
- 说明:输入数据交换的说明。
如需开启公开可检测性,请点击公开可检测性切换开关。可公开检测到交换后,交换中的所有清单都会显示并可在目录中进行搜索。如果您启用公开可检测性,则必须配置交换权限。由于权限继承,默认情况下,所有清单都将设置成使用交换的同一公开可检测性类型。因此,公开交换不能包含非公开清单,但非公开交换可以包含公开清单(例如,您可以在单个清单级别设置公开可检测性类型)。要在其中创建数据交换的项目必须具有关联的组织和结算账号。
点击创建交换。
可选:在交换权限部分,执行以下步骤:
在以下字段中输入电子邮件地址,以授予 Analytics Hub 用户角色:
- 管理员:系统会为这些用户分配 Analytics Hub Admin 角色。
- 发布者:系统会为这些用户分配 Analytics Hub Publisher 角色。如需了解发布者可以执行的任务,请参阅管理清单。
- 订阅者:系统会为这些用户分配 Analytics Hub Subscriber 角色。如需了解订阅者可以执行的任务,请参阅查看和订阅清单。
- 查看者:系统会为这些用户分配 Analytics Hub Viewer 角色。查看者可以查看清单。
- 如果启用了公开可检测性,请向
allUsers
或allAuthenticatedUsers
授予 Analytics Hub Viewer 角色 (roles/analyticshub.viewer
)。
- 如果启用了公开可检测性,请向
如需保存权限,请点击设置权限。
如果您没有为数据交换设置权限,请点击跳过。
API
使用 projects.locations.dataExchanges.create
方法。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID
替换以下内容:
PROJECT_ID
:要在其中创建数据交换的项目的 ID。LOCATION
:数据交换的位置。如需详细了解有哪些位置支持 Analytics Hub,请参阅支持的区域。DATAEXCHANGE_ID
:您的数据交换的 ID。
在请求正文中,提供数据交换详细信息。如果请求成功,则响应正文会包含数据交换的详细信息。
如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges
方法。
更新数据交换
如需更新数据交换,请按以下步骤操作:
控制台
转到 Analytics Hub 页面。
从数据交换清单中,点击要更新的数据交换。
点击
修改交换。在修改交换对话框中,更新以下字段:
- 显示名
- 主要联系人
- 说明
- 公开可检测性
- 如果启用公开可检测性,请向
allUsers
或allAuthenticatedUsers
授予 Analytics Hub Viewer 角色 (roles/analyticshub.viewer
)。 - 如果您停用公开可检测性,请从
allUsers
或allAuthenticatedUsers
中移除 Analytics Hub Viewer 角色 (roles/analyticshub.viewer
)。公开交换不能包含非公开清单,但非公开交换可以包含公开清单。
- 如果启用公开可检测性,请向
点击保存。
API
使用 projects.locations.dataExchanges.patch
方法。
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
将 UPDATEMASK
替换为您要更新的字段列表。如需更新多个值,请使用英文逗号分隔列表(比方说,更新数据交换的显示名和主要联系人),请输入 displayName,primaryContact
。
在请求正文中,为以下字段指定更新后的值:
- 显示名
- 说明
- 文档
- 图标
- 主要联系人
- 公开可检测性
如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges
方法。
查看数据交换
如需查看组织中您有权访问的所有数据交换,请按照以下步骤操作:
控制台
转到 Analytics Hub 页面。
查看 Google Cloud 组织中的数据交换列表。
API
使用 organizations.locations.dataExchanges.list
方法。
GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges
替换以下内容:
- ORGANIZATION_ID:组织 ID。如需了解详情,请参阅获取组织 ID。
- LOCATION:要为其列出现有数据交换的位置。
共享数据交换
如果 Analytics Hub 发布者与包含数据交换的组织属于不同组织,则发布者无法在 Analytics Hub 中查看数据交换。您必须与发布者共享数据交换的链接。
转到 Analytics Hub 页面。
从数据交换列表中,点击
更多选项。点击
复制共享链接。
向用户授予对数据交换的访问权限
如需向用户授予访问数据交换的权限,您必须为该数据交换设置 IAM 政策。如需了解预定义的 IAM 用户角色,请参阅 Analytics Hub 用户角色。请按以下步骤操作:
控制台
在 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
在请求正文中,提供清单详细信息。如果请求成功,则响应正文包含列表的详情。
创建 Analytics Hub 管理员
如需管理数据交换,您必须创建 Analytics Hub 管理员。如需创建交换管理员,您需要在项目或数据交换级别向用户授予 Analytics Hub Admin 角色 (roles/analyticshub.admin
)。
如果您希望管理员管理项目中的所有数据交换,请授予项目的 Analytics Hub Admin 角色。如果您希望管理员管理特定数据交换,请授予该数据交换的 Analytics Hub Admin 角色。
公开数据交换
默认情况下,数据交换是不公开的,只有有权访问该交换的用户或群组才能查看或订阅其清单。但是,您可以选择公开数据交换。Google Cloud 用户 (allAuthenticatedUsers
) 可以发现和订阅公共数据交换中的清单。
如需公开数据交换,请按以下步骤操作:
如需让
allAuthenticatedUsers
查看清单,您必须在数据交换级层授予他们 Analytics Hub Viewer 角色。如需让
allAuthenticatedUsers
订阅清单,您必须在数据交换级层授予他们 Analytics Hub Subscriber 角色。
删除数据交换
删除数据交换后,其中的所有清单也会被删除。 但是,共享数据集和关联的数据集不会被删除。此外,项目被删除后,项目内的数据交换不会被删除。您需要先删除这些数据交换,然后再删除项目。删除数据交换后,此操作无法撤消。
要删除数据交换,请按以下步骤操作:
控制台
转到 Analytics Hub 页面。
从数据交换列表中,点击要删除的数据交换。
点击
删除交换。在“是否要删除交换?”对话框中,输入 delete 以确认删除。
点击删除。
API
使用 projects.locations.dataExchanges.delete
方法。
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID
如需详细了解您可以使用 API 针对数据交换执行的任务,请参阅 projects.locations.dataExchanges
方法。
后续步骤
- 了解如何管理清单。
- 了解如何授予 Analytics Hub 用户角色。
- 了解如何查看和订阅清单。
- 了解 Analytics Hub 审核日志记录。