共享Amazon CodeCommit知识库 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

共享Amazon CodeCommit知识库

在你创建了CodeCommit存储库,您可以与其他用户共享它。首先,确定在用户克隆并使用 Git 客户端或 IDE 连接您的存储库时向用户推荐哪个协议(HTTPS 或 SSH)。然后,将 URL 和连接信息发送给您要与之共享存储库的用户。根据您的安全要求,共享存储库时还可能需要创建 IAM 组、向该组应用托管策略、编辑 IAM 策略以改进访问等。

注意

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

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

注意

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

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

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

HTTPS 连接需要:

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

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

SSH 连接需要您的用户:

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

  • 存储公有密钥。

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

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

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

这个配置过程较为复杂,我们建议您选择 HTTPS 和 Git 凭证来连接 CodeCommit。

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

注意

虽然 Git 支持多种连接协议,但 CodeCommit 不支持使用不安全的协议进行连接,如本地协议或通用 HTTP。

为仓库创建 IAM 策略

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

提示

要对存储库的访问进行更细粒度的控制,您可以创建多个客户管理策略,并向不同的 IAM 用户和组应用策略。

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

为存储库创建客户托管策略

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

  3. 在存储库的创建策略页面,选择导入托管策略.

  4. 在存储库的导入托管策略页,筛选策略,输入AWSCodeCommitPowerUser. 选择策略名称旁边的按钮,然后选择导入.

  5. 创建策略页面上,选择 JSON。替换的 “*” 部分Resource代码库CodeCommit使用的 Amazon 资源名称 (ARN) 进行的操作CodeCommit如此处所示:

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

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

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

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

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

  6. 在存储库的查看策略页,名称,输入策略的新名称(例如,AWSCodeCommitPowerUser-MyDemo存储库)。(可选)为此策略提供描述。

  7. 请选择创建策略

为存储库用户创建 IAM 组

要管理对您的存储库的访问,请为其用户创建一个 IAM 组,向该组添加 IAM 用户,然后附加在上一步中创建的客户管理策略。

如果您使用 SSH,则必须向 IAMUserSSHKeys 组附加另一个管理的策略,该 IAM 管理的策略允许用户上传 SSH 公钥并将其关联至用于连接的 IAM 用户。CodeCommit.

  1. 登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

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

    注意

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

  4. 选中您在前一部分中创建的客户托管策略旁边的复选框(例如,AWSCodeCommitPowerUser-MyDemo存储库)。

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

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

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

    提示

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

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

与用户共享连接信息

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

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

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

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

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

下面的示例电子邮件为连接到的用户提供了连接到MyDemo存储库在美国东部(俄亥俄)(us-east-2) 区域中使用 HTTPS 连接协议和 Git 凭证。编写该电子邮件时假定用户已安装 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.

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