CodeCommit 的 IAM 凭证:Git 凭证、SSH 密钥和 Amazon 访问密钥
CodeCommit 是一种在 Amazon 云中托管私有 Git 存储库的托管版本控制服务。要使用 CodeCommit,您需要配置 Git 客户端,使其与 CodeCommit 存储库通信。作为此配置的一部分,您需要提供 IAM 凭证,CodeCommit 将用该凭证来对您进行身份验证。IAM 支持具有三种凭证的 CodeCommit:
-
Git 凭证 - 一种由 IAM 生成的用户名和密码对,供您通过 HTTPS 与 CodeCommit 存储库进行通信。
-
SSH 密钥 - 一种本地生成的公有-私有密钥对,供您关联至 IAM 用户,以通过 SSH 与 CodeCommit 存储库进行通信。
-
Amazon 访问密钥 - 供您配合 Amazon CLI 中包含的凭证辅助程序使用,以通过 HTTPS 与 CodeCommit 存储库通信。
注意
您无法使用 SSH 密钥或 Git 凭证来访问另一个 Amazon 账户中的存储库。要了解如何在其他 Amazon Web Services 账户 中为 IAM 用户和组配置对 CodeCommit 存储库的访问权限,请参阅《Amazon CodeCommit 用户指南》使用角色配置对 Amazon CodeCommit 存储库的跨账户访问。
请参阅下面几节了解有关每个选项的更多信息。
将 Git 凭证和 HTTPS 与 CodeCommit 配合使用(推荐)
借助 Git 凭证,您可以为 IAM 用户生成静态用户名和密码对,然后使用这些凭证进行 HTTPS 连接。您还可以将这些凭证与支持静态 Git 凭证的任何第三方工具或集成开发环境 (IDE) 配合使用。
这些凭证对所有支持的操作系统来说是通用的,并且兼容大多数凭证管理系统、开发环境及其他软件开发工具,因此,这是我们推荐使用的方法。您可以随时重置 Git 凭证的密码。如果不再需要凭证,您还可以停用或删除它们。
注意
您无法为 Git 凭证选择自己的用户名或密码。IAM 会为您生成这些凭证,以帮助确保它们符合 Amazon 的安全标准和 CodeCommit 中的安全存储库。凭证生成之后,您只能下载它们一次。因此,请务必将凭证保存在安全的位置。如有必要,您可以随时重置密码,但这会使通过旧密码配置的所有连接失效。您必须使用新密码重新配置连接,然后才能再次进行连接。
请参阅以下主题了解更多信息:
-
要创建 IAM 用户,请参阅 在 Amazon Web Services 账户 中创建 IAM 用户。
-
要借助 CodeCommit 生成并使用 Git 凭证,请参阅 Amazon CodeCommit 用户指南中的适用于使用 Git 凭证的 HTTPS 用户。
注意
在生成 Git 凭证后更改 IAM 用户的名称不会更改 Git 凭证的用户名。用户名和密码保持不变且仍然有效。
更新服务特定凭证
-
除了当前正在使用的一组凭证外,创建第二组特定于服务的凭证。
-
更新所有应用程序以使用这组新凭证,然后验证应用程序能否正常工作。
-
将原始凭证的状态更改为“停用”。
-
确保您的所有应用程序仍能正常工作。
-
删除已停用的特定于服务的凭证。
借助 CodeCommit 使用 SSH 密钥和 SSH
借助 SSH 连接,您可以在本地计算机上创建公有和私有密钥文件,以供 Git 和 CodeCommit 进行 SSH 身份验证。将公有密钥关联至 IAM 用户,并将私有密钥存储在本地计算机上。请参阅以下主题了解更多信息:
-
要创建 IAM 用户,请参阅 在 Amazon Web Services 账户 中创建 IAM 用户。
-
要创建 SSH 公有密钥并将其与 IAM 用户相关联,请参阅 Amazon CodeCommit 用户指南中的适用于 Linux、macOS 或 Unix 上的 SSH 连接或请参阅适用于 Windows 上的 SSH 连接。
注意
公有密钥必须采用 ssh-rsa 格式或 PEM 格式进行编码。公有密钥的最小位长度为 2048 位,最大长度为 16384 位。这独立于您上传的文件大小。例如,您可以生成 2048 位密钥,但生成的 PEM 文件大小为 1679 字节。如果您采用其他格式或大小提供公有密钥,则系统会显示一条错误消息,指出该密钥格式无效。
将 HTTPS 与 Amazon CLI 凭证辅助程序和 CodeCommit 配合使用
作为使用 Git 凭证进行 HTTPS 连接的替代方法,您可以允许 Git 在需要进行 Amazon 身份验证以与 CodeCommit 存储库交互时使用 IAM 用户凭证的加密签名版本或 Amazon EC2 实例角色。这是唯一一种不需要 IAM 用户就能连接 CodeCommit 存储库的方法。这也是唯一一种适用于联合访问和临时凭证的方法。请参阅以下主题了解更多信息:
-
有关联合访问的更多信息,请参阅身份提供程序和联合身份验证和访问经过外部身份验证的用户(身份联合验证)。
-
有关临时凭证的更多信息,请参阅 IAM 临时安全凭证 和临时访问 CodeCommit 存储库。
Amazon CLI 凭证辅助程序不兼容 Keychain Access、Windows Credential Management 等其他凭证辅助系统。在使用凭证辅助程序配置 HTTPS 连接时,还有一些其他的配置注意事项。有关更多信息,请参阅 Amazon CodeCommit 用户指南中的使用 Amazon CLI 凭证辅助程序在 Linux、macOS 或 Unix 上进行 HTTPS 连接或使用 Amazon CLI 凭证辅助程序在 Windows 上进行 HTTPS 连接。