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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

EMRStudio 支持以下基于 Git 的服务:

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

集群互联网访问

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

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

重要

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

的权限 AWS Secrets Manager

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

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

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

按照以下说明为 Amazon EMR Studio 配置私有托管存储库。提供包含您DNS和 Git 服务器信息的配置文件。EMRStudio 使用这些信息来配置可以将流量路由到您的自我管理存储库的工作空间。

注意

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

先决条件

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

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

    • DnsServerIpV4-您的DNS服务器IPv4地址。如果您同时为DnsServerIpV4和提供值GitServerIpV4List,则的值优DnsServerIpV4先,EMRStudio 使用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

    重要

    我们强烈建议您限制 Studio 管理员和您的 Stu EMR dio 服务角色访问您的life-cycle-configuration文件夹,并确保configuration.json防止未经授权的访问。有关说明,请参阅使用用户策略控制对存储桶的访问Amazon S3 的安全最佳实践

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