设置跨项目部署

您可以为 Dataproc Metastore 设置跨项目部署,以分离以下资源:

  • Dataproc Metastore 服务。
  • 挂接到 Dataproc Metastore 服务的 Managed Service for Apache Spark 集群。
  • Managed Service for Apache Spark 集群使用的网络。

准备工作

所需的角色

如需获得创建 Dataproc metastore 和 Managed Service for Apache Spark 集群所需的权限,请让您的管理员为您授予以下 IAM 角色:

  • 如需授予对 Dataproc Metastore 资源的完全控制权: Dataproc Metastore Editor (roles/metastore.editor) 在 Metastore 项目中 。

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

如需详细了解特定的 Dataproc Metastore 角色和权限,请参阅使用 IAM 管理访问权限

跨项目部署简介

Dataproc Metastore 的跨项目部署可以包含以下配置:

  • 两个项目:

    • 项目 1 包含 Managed Service for Apache Spark 集群(集群项目)。
    • 项目 2 包含 Dataproc Metastore 服务和网络(Metastore 项目和网络项目)。
  • 两个项目:

    • 项目 1 包含 Managed Service for Apache Spark 集群。
    • 项目 2 包含 Dataproc Metastore 服务和网络(Metastore 项目和网络项目)。
  • 两个项目:

    • 项目 1 包含 Managed Service for Apache Spark 集群和 Dataproc Metastore 服务(集群项目和 Metastore 项目)。
    • 项目 2 包含网络(网络项目)。
  • 三个项目:

    • 项目 1 包含 Managed Service for Apache Spark 集群(集群项目)。
    • 项目 2 包含 Dataproc Metastore 服务(Metastore 项目)。
    • 项目 3 包含网络(网络项目)。

下图简要展示了您可以使用的项目配置。

部署 Dataproc Metastore 和 Managed Service for Apache Spark 集群时可能的项目配置概览

跨项目权限

在设置跨项目权限之前,请确定您的配置是否需要这些权限:

您必须设置额外的跨项目权限

  • 如果您的 Managed Service for Apache Spark 集群和 Dataproc Metastore 服务位于不同的项目中。

  • 如果您的 Dataproc Metastore 服务和网络位于不同的项目中。

设置跨项目权限

如果集群项目和 Metastore 项目位于不同的项目中,请授予以下角色:

  • 向集群项目的 Managed Service for Apache Spark 服务代理账号(包含在 Metastore 项目的 IAM 政策中)授予 roles/metastore.user。此 配置适用于 Thrift 和 gRPC 端点协议。

如果网络项目和 Metastore 项目位于不同的项目中,请授予以下角色:

  • Metastore 项目服务代理 (包含在网络项目的 IAM 政策中)授予 roles/metastore.serviceAgent。此配置仅适用于 Thrift 端点协议。

控制台

如需查找项目编号,请执行以下操作:

  1. 前往“IAM 和管理” 设置 标签页。

  2. 从页面顶部的项目列表中,选择要用于创建 Managed Service for Apache Spark 集群的项目。

  3. 记下项目编号。

配置权限:

  1. 前往 IAM 标签页。

  2. 从页面顶部的项目列表中,选择 Metastore 项目。

  3. 点击 Add (添加)。

  4. 主账号 字段中输入服务帐号。

  5. 从“角色”菜单中,选择 Dataproc Metastore > Dataproc Metastore Viewer

  6. 点击 Add (添加)。

完成上述步骤后,您可以创建挂接到 Dataproc Metastore 服务的 Managed Service for Apache Spark 集群。请注意,为此,Managed Service for Apache Spark 集群的网络或子网配置必须与 Dataproc Metastore 网络或子网匹配。

例如:

gcloud metastore services create SERVICE \
     --network=projects/HOST_PROJECT/global/networks/NETWORK_ID

后续步骤