共享存储 AWS CodeCommit 库 - AWS CodeCommit

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

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

共享存储 AWS CodeCommit 库

创建 CodeCommit 存储库后,您可以与其他用户共享。首先,确定您在访问时是使用联合访问权限、临时证书还是网络身份提供商(例如 Identit IAM y Center) CodeCommit,或者是否要对IAM用户使用 Git 凭证或SSH密钥对。如果您使用的是前者,则需要为身份提供商设置用户、访问权限和权限,然后为用户提供使用 git-remote-codecommit 的说明。有关更多信息,请参阅使用 git-remote-codecommit 建立到 AWS CodeCommit 的 HTTPS 连接的设置步骤使用轮换凭证连接到 AWS CodeCommit 存储库

您不能将 Git 凭证或SSH密钥对与联合访问或身份提供者IDEs一起使用,但许多凭证最适合使用这些证书。在这种情况下,请决定在克隆和使用 Git 客户端HTTPS或连接到存储库时IDE向用户推荐哪种协议(或SSH)。然后将URL和连接信息发送给要与之共享存储库的用户。根据您的安全要求,共享存储库可能还需要创建一个IAM群组,对该组应用托管策略,并编辑IAM策略以优化访问权限,或者创建和使用IAM角色。

注意

在您向用户授予对存储库的控制台访问权限后,他们便可直接在控制台中添加或编辑文件,而无需设置 Git 客户端或其他连接。有关更多信息,请参阅在 AWS CodeCommit 存储库中创建或添加文件编辑 AWS CodeCommit 存储库中文件的内容

编写这些说明时,假定您已完成设置 创建存储库中的步骤。

注意

根据您的使用情况,您可能需要为创建或访问存储库付费。有关更多信息,请参阅 CodeCommit 产品信息页面上的定价

选择与用户共享的连接协议

在中创建存储库时 CodeCommit,会生成两个端点:一个用于HTTPS连接,一个用于SSH连接。两者都能提供安全的网络连接。您的用户可以使用这两种协议中的任何一种。不管您向用户推荐哪种协议,这两种终端节点都保持有效。

HTTPS连接需要以下任一条件:

  • Git 凭证,IAM用户可以在其中为自己生成IAM。对于您的存储库用户来说,Git 凭证是最容易设置和使用的方法。

  • 要代 AWS 入的访问密钥或角色,您的存储库用户必须在其凭据配置文件中配置该密钥或角色。您可以配置 git-remote-codecommit(建议)或 AWS CLI中包含的凭证辅助程序。这些是根账户或联合身份用户可用的仅有的方法。

SSH连接要求您的用户:

  • 生成公有-私有密钥对。

  • 存储公有密钥。

  • 将公钥与其IAM用户相关联。

  • 在本地计算机上配置已知主机文件。

  • 在本地计算机上创建并维护配置文件。

由于这是一个更复杂的配置过程,因此我们建议您选择 HTTPS Git 凭据进行连接 CodeCommit。

有关HTTPS、SSH、Git 和远程仓库的更多信息git-remote-codecommit,请参阅设置 使用轮换凭证连接到 AWS CodeCommit 存储库、或查阅您的 Git 文档。有关通信协议的一般概述以及每种协议如何与远程存储库通信的信息,请参阅服务器上的 Git - 协议

注意

尽管 Git 支持多种连接协议,但 CodeCommit 不支持使用不安全的协议(例如本地协议或通用HTTP协议)进行连接。

为仓库创建IAM策略

AWS 在 for 中IAM提供了三个托管策略 CodeCommit。这些策略无法编辑,应用于与您的 Amazon Web Services 账户关联的所有存储库。不过,您可以使用这些策略作为模板来创建自定义管理的策略,只将它们应用于要共享的存储库。您的客户管理策略可专门应用于要共享的存储库。有关更多信息,请参阅托管策略以及IAM用户和群组

提示

为了更精细地控制对存储库的访问权限,您可以创建多个客户托管策略并将这些策略应用于不同的IAM用户和群组。

有关查看托管策略的内容和使用策略创建和应用权限的信息,请参阅AWS CodeCommit的身份验证和访问控制

为存储库创建客户托管策略
  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. Dashboard 导航区域中选择 Policies,然后选择 Create Policy

  3. 创建策略页面上,选择导入管理型策略

  4. 导入管理型策略页面的筛选策略中,输入 AWSCodeCommitPowerUser。选择策略名称旁的按钮,然后选择导入

  5. 创建策略页面上,选择JSON。将 CodeCommit 操作Resource行的 “*” 部分替换为 CodeCommit 存储库的 Amazon 资源名称 (ARN),如下所示:

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" ]
    提示

    要查找 CodeCommit 存储库ARN的,请转到 CodeCommit 控制台,从列表中选择存储库名称,然后选择 “设置”。有关更多信息,请参阅 查看存储库详细信息

    如果要将此策略应用于多个存储库,请通过指定每个存储库将其添加为资源ARN。在每个资源语句之间加上逗号,如下所示:

    "Resource": [ "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo", "arn:aws:codecommit:us-east-2:111111111111:MyOtherDemoRepo" ]

    完成编辑后,选择查看策略

  6. 在 “查看策略” 页面的 “名称” 中,输入该策略的新名称(例如 AWSCodeCommitPowerUser-MyDemoRepo)。 (可选)提供此政策的描述。

  7. 请选择创建策略

为存储库用户创建IAM群组

要管理对存储库的访问权限,请为其用户创建一个IAM组,将IAM用户添加到该组,然后附加您在上一步中创建的客户托管策略。或者,您也可以使用附加的客户管理型策略创建一个角色,然后让用户代入该角色。

如果您使用SSH,则必须将另一个托管策略附加到该IAMUserSSHKeys组,即允许用户上传其SSH公钥并将其与他们用来连接的IAM用户关联的IAM托管策略 CodeCommit。

  1. 登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. Dashboard 导航区域中选择 Groups,然后选择 Create New Group

  3. 在 “设置组名” 页面的 “组名” 中,输入该组的名称(例如 MyDemoRepoGroup),然后选择 “下一步”。请考虑在组名称中包含存储库名称。

    注意

    该名称必须在 Amazon Web Services 账户间保持唯一。

  4. 选中您在上一节中创建的客户托管策略旁边的复选框(例如,AWSCodeCommitPowerUser-MyDemoRepo)。

  5. Review 页面上,选择 Create Group。IAM使用已附加的指定策略创建此组。此组会显示在与您的 Amazon Web Services 账户关联的组列表中。

  6. 从列表中选择您的组。

  7. 在组摘要页面上,选择用户 选项卡,然后选择向组添加多个用户。在显示与您的 Amazon Web Services 账户关联的所有用户的列表中,选中要允许其访问 CodeCommit 存储库的用户旁边的复选框,然后选择添加用户

    提示

    您可以使用搜索框快速地按名称查找用户。

  8. 添加用户后,关闭IAM控制台。

与用户共享连接信息

  1. https://console.aws.amazon.com/codesuite/codemmit /home 打开 CodeCommit 控制台。

  2. 在区域选择器中,选择存储库的创建 AWS 区域 位置。存储库特定于 AWS 区域。有关更多信息,请参阅 区域和 Git 连接端点

  3. Repositories (存储库) 页面上,选择要共享的存储库。

  4. 在 “克隆” 中URL,选择您希望用户使用的协议。这将复制连接协议URL的克隆。

  5. 向您的用户发送克隆文件URL以及任何其他说明,例如安装 AWS CLI、配置配置文件或安装 Git。确保包括连接协议的配置信息(例如HTTPS)。

以下示例电子邮件为在美国东部(俄亥俄州)(us-east-2) 地区使用HTTPS连接协议和 Git 凭据连接到 MyDemoRepo 存储库的用户提供信息。编写该电子邮件时假定用户已安装 Git 并能够熟练地使用它。

I've created a CodeCommit repository for us to use while working on our project. The name of the repository is MyDemoRepo, and it is in the US East (Ohio) (us-east-2) region. Here's what you need to do in order to get started using it: 1. Make sure that your version of Git on your local computer is 1.7.9 or later. 2. Generate Git credentials for your IAM user by signing into the IAM console here: https://console.aws.amazon.com/iam/. Switch to the Security credentials tab for your IAM user and choose the Generate button in HTTPS Git credentials for CodeCommit. Make sure to save your credentials in a secure location! 3. Switch to a directory of your choice and clone the CodeCommit repository to your local machine by running the following command: git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo 4. When prompted for user name and password, use the Git credentials you just saved. That's it! If you'd like to learn more about using CodeCommit, you can start with the tutorial here.

您可以在设置 中找到完整的设置说明。