AWS CodeCommit 与接口VPC端点一起使用 - AWS CodeCommit

AWS CodeCommit 不再向新客户提供。 AWS CodeCommit 的现有客户可以继续正常使用该服务。了解更多

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

AWS CodeCommit 与接口VPC端点一起使用

如果您使用亚马逊虚拟私有云 (AmazonVPC) 托管 AWS 资源,则可以在VPC和之间建立私有连接 CodeCommit。您可以使用此连接 CodeCommit 来实现与您的资源通信,VPC而无需通过公共互联网。

Amazon VPC 是一项 AWS 服务,可用于在您定义的虚拟网络中启动 AWS 资源。使用 aVPC,您可以控制自己的网络设置,例如 IP 地址范围、子网、路由表和网络网关。对于VPC终端节点,VPC和 AWS 服务之间的路由由 AWS 网络处理,您可以使用IAM策略来控制对服务资源的访问。

要将您的连接VPC到 CodeCommit,您需要为定义接口VPC终端节点 CodeCommit。接口终端节点是一个带有私有 IP 地址的 elastic network 接口,该地址用作发往受支持 AWS 服务的流量的入口点。该端点 CodeCommit 无需互联网网关、网络地址转换 (NAT) 实例或VPN连接,即可提供可靠、可扩展的连接。有关更多信息,请参阅《亚马逊VPC用户指南》VPC中的 “什么是亚马逊”。

注意

其他提供VPC支持并与之集成的 AWS 服务 CodeCommit,例如 AWS CodePipeline,可能不支持使用亚马逊VPC终端节点进行集成。例如, CodeCommit 不能将 CodePipeline 和之间的流量限制在VPC子网范围内。支持集成的服务(如 AWS Cloud9)可能需要其他服务(如 AWS Systems Manager)。

接口VPC端点由一种 AWS 技术提供支持 AWS PrivateLink,该技术使用带有私有 IP 地址的弹性网络接口实现 AWS 服务之间的私密通信。有关更多信息,请参阅 AWS PrivateLink

以下步骤适用于 Amazon 用户VPC。有关更多信息,请参阅 Amazon VPC 用户指南中的入门

可用性

CodeCommit 目前支持以下VPC端点 AWS 区域:

  • 美国东部(俄亥俄州)

  • 美国东部(弗吉尼亚州北部)

  • 美国西部(加利福尼亚北部)

  • 美国西部(俄勒冈)

  • 欧洲地区(爱尔兰)

  • 欧洲地区(伦敦)

  • 欧洲地区(巴黎)

  • 欧洲地区(法兰克福)

  • 欧洲地区(斯德哥尔摩)

  • 欧洲地区(米兰)

  • 非洲(开普敦)

  • 以色列(特拉维夫)

  • Asia Pacific (Tokyo)

  • 亚太地区(新加坡)

  • 亚太地区(悉尼)

  • 亚太地区(雅加达)

  • 中东 (UAE)

  • 亚太地区(首尔)

  • 亚太地区(大阪)

  • 亚太地区(孟买)

  • 亚太地区(海得拉巴)

  • 亚太地区(香港)

  • 南美洲(圣保罗)

  • 中东(巴林)

  • 加拿大(中部)

  • 中国(北京)

  • 中国(宁夏)

  • AWS GovCloud (美国西部)

  • AWS GovCloud (美国东部)

为创建VPC终端节点 CodeCommit

要开始在您的中 CodeCommit 使用VPC,请为创建一个接口VPC终端节点 CodeCommit。 CodeCommitGit 操作和操作需要单独的 CodeCommit API端点。根据您的业务需求,您可能需要创建多个VPC终端节点。为创建VPC终端节点时 CodeCommit,选择AWS 服务,然后在服务名称中,从以下选项中进行选择:

  • com.amazonaws。 region.git-codecomm it:如果您想使用存储库为 Git 操作创建端点VPC,请选择此选项。 CodeCommit 例如,如果您的用户使用 Git 客户端以及诸如、和之类的命令git pull,则git push当他们与 CodeCommit 仓库交互时git commit,请选择此选项。

  • com.amazonaws。 region。 git-codecommit-fips:如果您想使用符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准的 CodeCommit 存储库为 Git 操作创建VPC终端节点,请选择此选项。

    注意

    FIPSGit 的终端节点并非在所有 AWS 地区都可用。有关更多信息,请参阅 Git 连接端点

  • com.amazonaws。 region.codecommit:如果要为 CodeCommit API操作创建VPC端点,请选择此选项。例如,如果您的用户使用、或与之交互 AWS SDKs来执行诸如 CodeCommit API、和之类 CodeCommit 的操作 CreateRepositoryListRepositories,请选择此选项PutFile。 AWS CLI

  • com.amazonaws。 region.codemmit-fips:如果您要为符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准的 CodeCommit API操作创建VPC终端节点,请选择此选项。

    注意

    FIPS终端节点并非在所有 AWS 地区都可用。有关更多信息,请参阅联邦信息处理标准 (FIPS) 140-2 概述 AWS CodeCommit 中的条目。

为创建VPC终端节点策略 CodeCommit

您可以为 Amazon VPC 终端节点创建策略 CodeCommit ,您可以在其中指定:

  • 可执行操作的主体。

  • 可执行的操作。

  • 可用于执行操作的资源。

例如,一家公司可能希望将仓库的访问权限限制在的网络地址范围内VPC。您可以在此处查看此类策略的示例:示例 3:允许从指定 IP 地址范围连接的用户访问存储库 。该公司为美国东部(俄亥俄州)地区配置了两个 Git VPC 终端节点:com.amazonaws.us-east-2.codecommitcom-amazonaws.us-east-2.git-codecommit-fips。他们只想允许将代码推送到MyDemoRepo仅在FIPS符合标准的端点上命名的 CodeCommit 存储库。为了强制执行此操作,他们将在 com.amazonaws.us-east-2.codecommit 终端节点上配置一个与以下策略类似的策略,该策略专用于拒绝 Git 推送操作:

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "codecommit:GitPush", "Effect": "Deny", "Resource": "arn:aws:codecommit:us-east-2:123456789012:MyDemoRepo", "Principal": "*" } ] }
重要

git push命令IAM策略 CodeCommit存储库中aws:VpcSourceIp不支持全局条件密钥。

有关更多信息,请参阅 Amazon VPC 用户指南中的创建接口终端节点