

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

# 使用凭证助手设置与 Linux、macOS 或 Unix 上 AWS CodeCommit 存储库的 HTTPS 连接的 AWS CLI 步骤
<a name="setting-up-https-unixes"></a>

在首次连接之前，必须完成初始配置步骤。 AWS CodeCommit 对于大多数用户来说，可通过执行[适用于使用 Git 凭证的 HTTPS 用户](setting-up-gc.md)中的步骤来轻松完成这一过程。但是，如果您想 CodeCommit 使用根账户、联合访问或临时证书进行连接，则可以使用中包含的凭证帮助器。 AWS CLI

**注意**  
尽管证书助手是支持 CodeCommit 使用联合访问权限、身份提供商或临时证书进行连接的方法，但推荐的方法是安装和使用该**git-remote-codecommit**实用程序。有关更多信息，请参阅 [使用的 HTTPS 连接 AWS CodeCommit 的设置步骤 git-remote-codecommit](setting-up-git-remote-codecommit.md)。

**Topics**
+ [步骤 1：的初始配置 CodeCommit](#setting-up-https-unixes-account)
+ [步骤 2：安装 Git](#setting-up-https-unixes-install-git)
+ [步骤 3：设置凭证助手](#setting-up-https-unixes-credential-helper)
+ [步骤 4：连接到 CodeCommit 控制台并克隆存储库](#setting-up-https-unixes-connect-console)
+ [后续步骤](#setting-up-https-unixes-next-step)

## 步骤 1：的初始配置 CodeCommit
<a name="setting-up-https-unixes-account"></a>

按照以下步骤设置 Amazon Web Services 账户、创建和配置 IAM 用户并安装 AWS CLI。

**创建和配置用于访问的 IAM 用户 CodeCommit**

1. 前往 [http://aws.amazon.com](https://aws.amazon.com/)，并选择**注册**，创建一个 Amazon Web Services 账户。

1. 创建 IAM 用户或使用您的 Amazon Web Services 账户中的现有用户。确保您具有与该 IAM 用户关联的访问密钥 ID 和秘密访问密钥。有关更多信息，请参阅[在 Amazon Web Services 账户中创建 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SettingUpUser.html)。
**注意**  
CodeCommit 要求 AWS Key Management Service。如果您使用的是现有的 IAM 用户，请确保该用户没有明确拒绝所要求的 AWS KMS 操作的策略 CodeCommit。有关更多信息，请参阅 [AWS KMS 和加密](encryption.md)。

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 IAM 控制台的导航窗格中，选择**用户**，然后选择要配置 CodeCommit 访问权限的 IAM 用户。

1. 在 **Permissions** 选项卡上，选择 **Add Permissions**。

1. 在 **Grant permissions (授予权限)** 中，选择 **Attach existing policies directly (直接附加现有策略)**。

1. 从策略列表中，选择**AWSCodeCommitPowerUser**或其他托管策略进行 CodeCommit 访问。有关更多信息，请参阅 [AWS 的托管策略 CodeCommit](security-iam-awsmanpol.md)。

   选择要附加的策略后，选择**下一步：审核**以审核要附加到 IAM 用户的策略列表。如果列表正确，选择 **Add permissions**。

    有关 CodeCommit 托管策略以及与其他群组和用户共享仓库访问权限的更多信息，请参阅[共享存储库](how-to-share-repository.md)和[的身份验证和访问控制 AWS CodeCommit](auth-and-access-control.md)。

**要安装和配置 AWS CLI**

1. 在您的本地计算机上，下载并安装 AWS CLI。这是通过命令行与交互 CodeCommit 的先决条件。我们建议您安装 AWS CLI 版本 2。它是的最新主要版本 AWS CLI ，支持所有最新功能。它是唯一支持使用根账户、联合访问权限或临时证书的版本**git-remote-codecommit**。 AWS CLI 

   有关更多信息，请参阅[使用 AWS 命令行界面进行设置](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html)。
**注意**  
CodeCommit 仅适用于 1.7.38 及更高 AWS CLI 版本。作为最佳实践，请安装或升级 AWS CLI 到可用的最新版本。要确定 AWS CLI 您安装了哪个版本，请运行**aws --version**命令。  
要将旧版本的升级 AWS CLI 到最新版本，请参阅[安装 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)。

1. 运行此命令以验证的 CodeCommit 命令 AWS CLI 是否已安装。

   ```
   aws codecommit help
   ```

   此命令返回 CodeCommit 命令列表。

1.  AWS CLI 使用**configure**命令配置配置文件，如下所示：。

   ```
   aws configure
   ```

   出现提示时，指定要与之 AWS 配合使用的 IAM 用户的访问 AWS 密钥和私有访问密钥 CodeCommit。另外，请务必指定存储库的 AWS 区域 存在位置，例如`us-east-2`。系统提示指定默认输出格式时，指定 `json`。例如，如果您正在为 IAM 用户配置相关配置文件：

   ```
   AWS Access Key ID [None]: Type your IAM user AWS access key ID here, and then press Enter
   AWS Secret Access Key [None]: Type your IAM user AWS secret access key here, and then press Enter
   Default region name [None]: Type a supported region for CodeCommit here, and then press Enter
   Default output format [None]: Type json here, and then press Enter
   ```

   有关创建和配置用于的配置文件的更多信息 AWS CLI，请参阅以下内容：
   + [命名配置文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
   + [在中使用 IAM 角色 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html)
   + [设置命令](https://docs.aws.amazon.com/cli/latest/reference/set.html)
   + [使用轮换凭证连接到 AWS CodeCommit 存储库](temporary-access.md)

   要连接到存储库或其他存储库中的资源 AWS 区域，必须 AWS CLI 使用默认的区域名称重新配置。支持的默认区域名称 CodeCommit 包括：
   + us-east-2
   + us-east-1
   + eu-west-1
   + us-west-2
   + ap-northeast-1
   + ap-southeast-1
   + ap-southeast-2
   + ap-southeast-3
   + me-central-1
   + eu-central-1
   + ap-northeast-2
   + sa-east-1
   + us-west-1
   + eu-west-2
   + ap-south-1
   + ap-south-1
   + ca-central-1
   + us-gov-west-1
   + us-gov-east-1
   + eu-north-1
   + ap-east-1
   + me-south-1
   + cn-north-1
   + cn-northwest-1
   + eu-south-1
   + ap-northeast-3
   + af-south-1
   + il-central-1

   有关 CodeCommit 和的更多信息 AWS 区域，请参阅[区域和 Git 连接端点](regions.md)。有关 IAM、访问密钥和秘密密钥的更多信息，请参阅‭[如何获取凭证？](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_Introduction.html#IAM_SecurityCredentials)和[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html)。有关 AWS CLI 和配置文件的更多信息，请参阅[命名配置文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)。

## 步骤 2：安装 Git
<a name="setting-up-https-unixes-install-git"></a>

要处理 CodeCommit 存储库中的文件、提交和其他信息，必须在本地计算机上安装 Git。 CodeCommit 支持 Git 版本 1.7.9 及更高版本。Git 版本 2.28 支持为初始提交配置分支名称。我们建议使用最新版本的 Git。

要安装 Git，建议您访问 [Git 下载](http://git-scm.com/downloads)等网站。

**注意**  
Git 是一个不断发展的平台，会定期进行更新。有时，功能更改可能会影响其工作方式 CodeCommit。如果您在使用特定版本的 Git 时遇到问题 CodeCommit，请查看中的信息[故障排除](troubleshooting.md)。

## 步骤 3：设置凭证助手
<a name="setting-up-https-unixes-credential-helper"></a><a name="setting-up-https-unixes-ch-config"></a>

1. 在终端中，使用 Git 运行**git config**，在凭据配置文件中指定 Git 凭据助手的用法，并启用 Git 凭证助手将路径发送到存储库： AWS 

   ```
   git config --global credential.helper '!aws codecommit credential-helper $@'
   git config --global credential.UseHttpPath true
   ```
**提示**  
凭证助手使用默认 AWS 凭证配置文件或 Amazon EC2 实例角色。如果您创建了用于 CodeCommit 的 AWS 凭证配置文件，则可以指定要使用的配置文件，如 `CodeCommitProfile`：  

   ```
   git config --global credential.helper '!aws --profile CodeCommitProfile codecommit credential-helper $@'    
   ```
如果您的配置文件名称包含空格，请确保用引号 (") 将名称引起来。  
您可以使用 `--local` 而不是 `--global` 配置每个存储库的配置文件，而不是进行全局配置。

   Git 凭证辅助程序将以下值写入 `~/.gitconfig`：

   ```
   [credential]    
       helper = !aws --profile CodeCommitProfile codecommit credential-helper $@
       UseHttpPath = true
   ```
**重要**  
如果您想在同一台本地计算机上使用不同的 IAM 用户 CodeCommit，则必须再次运行该**git config**命令并指定不同的 AWS 凭证配置文件。

1. 运行 **git config --global --edit** 验证前面的值是否已写入 `~/.gitconfig`。如果成功，您应能看到前面的值（除了 Git 全局配置文件中可能已有的值）。要退出，通常需要键入 **:q**，然后按 Enter。

   如果在配置凭证辅助程序后遇到问题，请参阅[故障排除](troubleshooting.md)。
**重要**  
如果您使用的是 macOS，请通过以下步骤确保凭证助手配置正确。

1. 如果您使用的是 macOS，请使用 HTTPS [连接存储库。 CodeCommit ](how-to-connect.md)首次使用 HTTPS 连接到 CodeCommit 存储库后，后续访问将在大约 15 分钟后失败。macOS 上的默认 Git 版本使用 Keychain Access 实用程序存储凭证。出于安全考虑，为访问 CodeCommit 存储库而生成的密码是临时的，因此存储在钥匙串中的证书将在大约 15 分钟后停止工作。为防止使用这些过期凭证，您必须执行以下操作之一：
   + 安装默认不使用密钥链的 Git 版本。
   + 将 Keychain Access 实用程序配置为不为 CodeCommit 存储库提供凭据。

   1. 打开 Keychain Access 实用程序。(您可以使用 Finder 查找它。)

   1. 搜索 `git-codecommit.us-east-2.amazonaws.com`。突出显示该行，打开上下文菜单或右键单击它，然后选择 **Get Info**。

   1. 选择 **Access Control** 选项卡。

   1. 在 **Confirm before allowing access (运行访问前进行确认)** 中，选择 `git-credential-osxkeychain`，然后选择减号将它从列表中删除。
**注意**  
在从列表中删除 `git-credential-osxkeychain` 后，当您运行 Git 命令时，会看到一条弹出消息。选择**拒绝**以继续。如果您不希望显示弹出窗口，可考虑以下其他选项：  
 CodeCommit 使用 SSH 而不是 HTTPS 进行连接。有关更多信息，请参阅 [适用于 Linux、macOS 或 Unix 上的 SSH 连接](setting-up-ssh-unixes.md)。
在 Keychain Access 实用程序中，在针对 `git-codecommit.us-east-2.amazonaws.com` 的**访问控制**选项卡上，选择**允许所有应用程序访问此项目（访问此项目不受限制）**选项。这将阻止弹出窗口，但凭证最终会到期（平均而言，大约需要 15 分钟），然后会显示 403 错误消息。如果发生这种情况，您必须删除密钥链项才能恢复功能。
有关更多信息，请参阅 [macOS 版 Git：我成功配置了凭证助手，但在访问我的存储库时被系统拒绝 (403)](troubleshooting-ch.md#troubleshooting-macoshttps)。

## 步骤 4：连接到 CodeCommit 控制台并克隆存储库
<a name="setting-up-https-unixes-connect-console"></a>

如果管理员已经向您发送了 CodeCommit 存储库的名称和连接详细信息，则可以跳过此步骤直接克隆存储库。

**连接到存储 CodeCommit 库**

1. 在 [https://console.aws.amazon.com/codesuite/codemmit](https://console.aws.amazon.com/codesuite/codecommit/home) /home 打开 CodeCommit 控制台。

1. 在区域选择器中，选择存储库的创建 AWS 区域 位置。存储库特定于 AWS 区域。有关更多信息，请参阅 [区域和 Git 连接端点](regions.md)。

1. 从列表中找到您要连接的存储库并选择此存储库。选择 **Clone URL (克隆 URL)**，然后选择克隆或连接到存储库时要使用的协议。此时将复制克隆 URL。
   + 如果您使用的是 IAM 用户的 Git 凭证或 AWS CLI附带的凭证助手，请复制 HTTPS URL。
   + 如果您在本地计算机上使用 **git-remote-codecommit** 命令，请复制 HTTPS (GRC) URL。
   + 如果您与 IAM 用户一起使用 SSH public/private 密钥对，请复制 SSH 网址。
**注意**  
 如果您看到的是**欢迎**页面而不是存储库列表，则说明您登录的 AWS 区域 位置中没有与您的 AWS 账户关联的存储库。要创建存储库，请参阅[创建 AWS CodeCommit 存储库](how-to-create-repository.md)或按照[Git 入门和 CodeCommit](getting-started.md)教程中的步骤进行操作。

1. 打开终端并使用复制的 HTTPS URL 运行 **git clone** 命令。例如，要将名为的存储库克隆*MyDemoRepo*到*my-demo-repo*位于美国东部（俄亥俄州）地区的本地存储库，请执行以下操作：

   ```
   git clone https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```

## 后续步骤
<a name="setting-up-https-unixes-next-step"></a>

您已满足先决条件。按照中的步骤[入门 CodeCommit ](getting-started-cc.md)开始使用 CodeCommit。