AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

将 IAM 与 AWS CodeCommit 配合使用:Git 凭证、SSH 密钥和 AWS 访问密钥

AWS CodeCommit 是一种在 AWS 云中托管私有 Git 存储库的托管版本控制服务。要使用 AWS CodeCommit,您需要配置 Git 客户端,使其与 AWS CodeCommit 存储库通信。在此配置过程中,您需要提供 IAM 凭证,供 AWS CodeCommit 用来对您进行身份验证。IAM 支持 AWS CodeCommit 及以下三种凭证:

  • Git 凭证 - 一种由 IAM 生成的用户名和密码对,供您通过 HTTPS 与 AWS CodeCommit 存储库进行通信。

  • SSH 密钥 - 一种本地生成的公有-私有密钥对,供您关联至 IAM 用户,以通过 SSH 与 AWS CodeCommit 存储库进行通信。

  • AWS 访问密钥 - 供您配合 AWS CLI 中包含的凭证辅助程序使用,以通过 HTTPS 与 AWS CodeCommit 存储库通信。

请参阅下面几节了解有关每个选项的更多信息。

将 Git 凭证和 HTTPS 与 AWS CodeCommit 配合使用 (推荐)

借助 Git 凭证,您可以为 IAM 用户生成静态用户名和密码对,然后使用这些凭证进行 HTTPS 连接。您还可以将这些凭证与支持静态 Git 凭证的任何第三方工具或集成开发环境 (IDE) 配合使用。

这些凭证对所有支持的操作系统来说是通用的,并且兼容大多数凭证管理系统、开发环境及其他软件开发工具,因此,这是我们推荐使用的方法。您可以随时重置 Git 凭证的密码。如果不再需要凭证,您还可以停用或删除它们。

注意

您无法为 Git 凭证选择自己的用户名或密码。IAM 会为您生成此类凭证,以帮助确保它们符合 AWS 以及 AWS CodeCommit 中安全存储库的安全标准。凭证生成之后,您只能下载它们一次。因此,请务必将凭证保存在安全的位置。如有必要,您可以随时重置密码,但这会使通过旧密码配置的所有连接失效。您必须使用新密码重新配置连接,然后才能再次进行连接。

请参阅以下主题了解更多信息:

注意

在生成 Git 凭证后更改 IAM 用户的名称不会更改 Git 凭证的用户名。用户名和密码保持不变且仍然有效。

轮换特定于服务的凭证

  1. 除了当前正在使用的一组凭证外,创建第二组特定于服务的凭证。

  2. 更新所有应用程序以使用这组新凭证,然后验证应用程序能否正常工作。

  3. 将原始凭证的状态更改为“停用”。

  4. 确保您的所有应用程序仍能正常工作。

  5. 删除已停用的特定于服务的凭证。

对 AWS CodeCommit 使用 SSH 密钥和 SSH

借助 SSH 连接,您可以在本地计算机上创建公有和私有密钥文件,以供 Git 和 AWS CodeCommit 进行 SSH 身份验证。将公有密钥关联至 IAM 用户,并将私有密钥存储在本地计算机上。请参阅以下主题了解更多信息:

注意

公有密钥必须采用 ssh-rsa 格式或 PEM 格式进行编码。公有密钥的最小位长度为 2048 位,最大长度为 16384 位。这独立于您上传的文件大小。例如,您可以生成 2048 位密钥,但生成的 PEM 文件大小为 1679 字节。如果您采用其他格式或大小提供公有密钥,则系统会显示一条错误消息,指出该密钥格式无效。

将 HTTPS 与 AWS CLI 凭证辅助程序和 AWS CodeCommit 配合使用

作为使用 Git 凭证进行 HTTPS 连接的替代方法,您可以允许 Git 在需要进行 AWS 身份验证以与 AWS CodeCommit 存储库交互时使用 IAM 用户凭证的加密签名版本或 Amazon EC2 实例角色。这是唯一一种不需要 IAM 用户就能连接 AWS CodeCommit 存储库的方法。这也是唯一一种适用于联合访问和临时凭证的方法。除非您的业务要求进行联合访问或使用临时凭证,否则,我们强烈建议您创建和使用 IAM 用户进行访问。请参阅以下主题了解更多信息:

AWS CLI 凭证辅助程序不兼容 Keychain Access、Windows Credential Management 等其他凭证辅助系统。在使用凭证辅助程序配置 HTTPS 连接时,还有一些其他的配置注意事项。有关更多信息,请参阅 AWS CodeCommit 用户指南 中的使用 AWS CLI 凭证辅助程序在 Linux, OS X, or Unix 上进行 HTTPS 连接使用 AWS CLI 凭证辅助程序在 Windows 上进行 HTTPS 连接