您可以为 Dataproc Metastore 设置跨项目部署,以分隔以下资源:
- Dataproc Metastore 服务。
- 已关联到 Dataproc Metastore 服务的 Dataproc 集群。
- Dataproc 集群使用的网络。
准备工作
所需的角色
如需获得创建 Dataproc Metastore 和 Dataproc 集群所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
如需授予对 Dataproc Metastore 资源的完全控制权,请执行以下操作:
在 Metastore 项目中使用 Dataproc Metastore 编辑器 (
roles/metastore.editor
)。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
如需详细了解特定 Dataproc Metastore 角色和权限,请参阅使用 IAM 管理访问权限。跨项目部署简介
Dataproc Metastore 的跨项目部署可以由以下配置组成:
两个项目:
- 项目 1 包含 Dataproc 集群(集群项目)。
- 项目 2 包含 Dataproc Metastore 服务和网络(Metastore 项目和网络项目)。
两个项目:
- 项目 1 包含 Dataproc 集群。
- 项目 2 包含 Dataproc Metastore 服务和网络(Metastore 项目和网络项目)。
两个项目:
- 项目 1 包含 Dataproc 集群和 Dataproc Metastore 服务(集群项目和 Metastore 项目)。
- 项目 2 包含网络(网络项目)。
三个项目:
- 项目 1 包含 Dataproc 集群(集群项目)。
- 项目 2 包含 Dataproc Metastore 服务(Metastore 项目)。
- 项目三包含网络(网络项目)。
下图简要展示了您可以使用的可能的项目配置。
跨项目权限
在设置跨项目权限之前,请确定您的配置是否需要这些权限:
您必须设置其他跨项目权限
如果您的 Dataproc 集群和 Dataproc Metastore 服务位于不同的项目中。
如果您的 Dataproc Metastore 服务和网络位于不同的项目中。
设置跨项目权限
如果集群项目和 Metastore 项目位于不同的项目中,请授予以下角色:
roles/metastore.user
到集群项目的 Dataproc Service Agent 账号(包含在 Metastore 项目的 IAM 政策中)。此配置同时适用于 Thrift 和 gRPC 端点协议。
如果影音平台项目和 Metastore 项目位于不同的项目中,请授予以下角色:
roles/metastore.serviceAgent
到 Metastore 项目服务代理(包含在网络项目的 IAM 政策中)。此配置仅适用于 Thrift 端点协议。
控制台
如需查找项目编号,请执行以下操作:
前往“IAM 和管理”设置标签页。
从页面顶部的项目列表中,选择要用于创建 Dataproc 集群的项目。
记下项目编号。
配置权限:
前往 IAM 标签页。
从页面顶部的项目列表中,选择 Metastore 项目。
点击添加。
在主账号字段中输入服务账号。
从“角色”菜单中,依次选择 Dataproc Metastore > Dataproc Metastore Viewer。
点击添加。
完成上述步骤后,您可以创建关联到 Dataproc Metastore 服务的 Dataproc 集群。请注意,为此,Dataproc 集群的网络或子网配置必须与 Dataproc Metastore 网络或子网一致。
例如:
gcloud metastore services create SERVICE \ --network=projects/HOST_PROJECT/global/networks/NETWORK_ID