为基于 Git 的存储库建立访问和权限 - Amazon EMR

为基于 Git 的存储库建立访问和权限

EMR Studio 支持以下基于 Git 的服务:

要让 EMR Studio 用户将 Git 存储库与 Workspace 相关联,请设置以下访问和权限要求。您还可以按照为 EMR Studio 配置私有托管的 Git 存储库中的说明配置在专用网络中托管的基于 Git 的存储库。

集群互联网访问

在 Amazon EC2 上运行的 Amazon EMR 集群和附加到 Studio Workspaces 的 Amazon EMR on EKS 集群都必须位于使用网络地址转换(NAT)网关的私有子网中,或者它们必须能够通过虚拟私有网关访问互联网。有关更多信息,请参阅 Amazon VPC 选项

您与 EMR Studio 一起使用的安全组还必须包含一个出站规则,该规则允许 Workspaces 将流量从附加的 EMR 集群路由到互联网。有关更多信息,请参阅 定义安全组以控制 EMR Studio 网络流量

重要

如果网络接口在公有子网,它将无法通过互联网网关 (IGW) 与互联网通信。

AWS Secrets Manager 权限

要让 EMR Studio 用户使用存储在 AWS Secrets Manager 中的密钥访问 Git 存储库,请向 EMR Studio 的服务角色添加允许 secretsmanager:GetSecretValue 运营的权限策略。

有关如何将基于 Git 的存储库链接到 Workspaces 的信息,请参阅将基于 Git 的存储库链接到 EMR Studio Workspace

为 EMR Studio 配置私有托管的 Git 存储库

按照以下说明为 Amazon EMR Studio 配置私有托管的存储库。请提供一个配置文件,其中包含有关您的 DNS 和 Git 服务器的信息。EMR Studio 使用此信息配置可将流量路由到您自行管理的存储库的 Workspaces。

注意

如果您配置 DnsServerIpV4,EMR Studio 将使用您的 DNS 服务器来解析您的 GitServerDnsName 和您的 Amazon EMR 端点,例如 elasticmapreduce.us-east-1.amazonaws.com。要为 Amazon EMR 设置端点,请通过您在 Studio 中使用的 VPC 连接到您的端点。这可确保 Amazon EMR 端点会解析为私有 IP。有关更多信息,请参阅使用接口 VPC 终端节点连接到 Amazon EMR

先决条件

在为 EMR Studio 配置私有托管的 Git 存储库之前,您需要一个 Amazon S3 存储位置,EMR Studio 可以在其中备份 Studio 中的工作区和笔记本文件。使用您在创建 Studio 时指定的相同 S3 存储桶。

为 EMR Studio 配置一个或多个私有托管的 Git 存储库
  1. 使用以下模板创建配置文件。为要在配置中指定的每个 Git 服务器包括以下值:

    • DnsServerIpV4 – 您的 DNS 服务器的 IPv4 地址。如果您同时提供 DnsServerIpV4GitServerIpV4List 的值,则 DnsServerIpV4 的值优先,而且 EMR Studio 使用 DnsServerIpV4 解析您的 GitServerDnsName

      注意

      要使用私有托管的 Git 存储库,您的 DNS 服务器必须允许来自 EMR Studio 的入站访问。我们敦促您保护您的 DNS 服务器,防止其他未经授权的访问。

    • GitServerDnsName – 您的 Git 服务器的 DNS 名称。例如 "git.example.com"

    • GitServerIpV4List – 属于您的 Git 服务器的 IPv4 地址列表。

    [ { "Type": "PrivatelyHostedGitConfig", "Value": [ { "DnsServerIpV4": "<10.24.34.xxx>", "GitServerDnsName": "<enterprise.git.com>", "GitServerIpV4List": [ "<xxx.xxx.xxx.xxx>", "<xxx.xxx.xxx.xxx>" ] }, { "DnsServerIpV4": "<10.24.34.xxx>", "GitServerDnsName": "<git.example.com>", "GitServerIpV4List": [ "<xxx.xxx.xxx.xxx>", "<xxx.xxx.xxx.xxx>" ] } ] } ]
  2. 将配置文件另存为 configuration.json

  3. 将配置文件上载到名为 life-cycle-configuration 的文件夹中的 Amazon S3 存储位置。例如,如果您的默认 S3 位置是 s3://DOC-EXAMPLE-BUCKET/studios,则您的配置文件将位于 s3://DOC-EXAMPLE-BUCKET/studios/life-cycle-configuration/configuration.json

    重要

    我们敦促您将 life-cycle-configuration 文件夹的访问权限限制为仅限 Studio 管理员和您的 EMR Studio 服务角色,并保护 configuration.json 免受未经授权的访问。有关说明,请参阅使用用户策略控制对存储桶的访问Amazon S3 的安全最佳实践

    有关上载说明,请参阅《Amazon Simple Storage Service 用户指南》中的创建文件夹上载对象。要将您的配置应用到现有 Workspace,您应该在将配置文件上传到 Amazon S3 后关闭并重新启动 Workspace。