AWS CodeCommit
用户指南 (API 版本 2015-04-13)

对 AWS CodeCommit 存储库的临时访问权限

您可以向用户授予对您的 AWS CodeCommit 存储库的临时访问权限。您可以这样做以允许 IAM 用户在独立的 AWS 账户中访问 CodeCommit 存储库(一项称作跨账户访问 的技术)。有关配置对存储库的跨账户访问的演练,请参阅配置对 AWS CodeCommit 存储库的跨账户访问

当用户想要或必须通过以下方式进行身份验证时,您也可以为这些用户配置访问权限:

  • 安全断言标记语言 (SAML)

  • 多重验证 (MFA)

  • 联合身份验证

  • 以 Login with Amazon 登录

  • Amazon Cognito

  • Facebook

  • Google

  • OpenID Connect (OIDC) 兼容身份提供商

注意

以下信息只适用于使用 AWS CLI 凭证辅助程序连接到 CodeCommit 存储库的情况。您不能使用 SSH 或 Git 凭证及 HTTPS 通过临时访问凭证连接到 CodeCommit 存储库。

要允许用户临时访问您的 CodeCommit 存储库,请完成以下步骤。

如果满足以下所有要求,则不要完成这些步骤:

已将满足上述要求的 Amazon EC2 实例设为使用临时访问凭证代表您与 CodeCommit 通信。

步骤 1:完成前提条件

完成设置步骤,为用户提供临时访问您的 CodeCommit 存储库的权限:

使用AWS CodeCommit 的身份验证和访问控制中的信息指定要临时授予用户的 CodeCommit 权限。

步骤 2:获取临时访问凭证

根据您设置临时访问的方式,您的用户可以通过以下方法之一获取临时访问凭证:

您的用户应收到一组临时访问凭证,其中包括 AWS 访问密钥 ID、秘密访问密钥和会话令牌。您的用户应记下这三个值,因为他们在下一步中会用到它们。

步骤 3:为 AWS CLI 配置临时访问凭证

您的用户必须配置开发计算机以使用那些临时访问凭证。

  1. 按照设置 中的说明设置 AWS CLI。使用 aws configure 命令配置一个配置文件。

    注意

    在继续之前,请确保将 gitconfig 文件配置为使用您在 AWS CLI 中配置的 AWS 配置文件。

  2. 您可以使用下列方法之一将临时访问凭证与用户的 AWS CLI 命名配置文件关联。请勿使用 aws configure 命令。

    • ~/.aws/credentials 文件(适用于 Linux)或 %UserProfile%.aws\credentials 文件(适用于 Windows)中,向用户的 AWS CLI 命名配置文件中添加 aws_access_key_idaws_secret_access_keyaws_session_token 设置值:

      [CodeCommitProfileName] aws_access_key_id=TheAccessKeyID aws_secret_access_key=TheSecretAccessKey aws_session_token=TheSessionToken

      -或-

    • 设置 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN 环境变量:

      对于 Linux, macOS, or Unix:

      export AWS_ACCESS_KEY_ID=TheAccessKey export AWS_SECRET_ACCESS_KEY=TheSecretAccessKey export AWS_SESSION_TOKEN=TheSessionToken

      对于 Windows:

      set AWS_ACCESS_KEY_ID=TheAccessKey set AWS_SECRET_ACCESS_KEY=TheSecretAccessKey set AWS_SESSION_TOKEN=TheSessionToken

    有关更多信息,请参阅 AWS Command Line Interface 用户指南中的配置 AWS Command Line Interface

  3. 使用与临时访问凭证关联的 AWS CLI 命名配置文件设置 Git 凭证辅助程序。

    按照这些步骤操作时,请勿调用 aws configure 命令。您已通过凭证文件或环境变量指定了临时访问凭证。如果您使用环境变量而不是凭证文件,请在 Git 凭证辅助程序中指定 default 作为配置文件名称。

步骤 4:访问 CodeCommit 存储库

假定您的用户已按照连接存储库中的说明连接到 CodeCommit 存储库,之后,用户就可以使用 Git 调用 git clonegit pushgit pull 来对自己拥有临时访问权限的 CodeCommit 存储库执行克隆、推送和提取操作。

如果用户使用 AWS CLI 并指定与临时访问凭证关联的 AWS CLI 命名配置文件,则所返回结果的范围限定为该配置文件。

如果用户调用 Git 命令或者在 AWS CLI 中运行命令时遇到 403: Forbidden 错误,可能是临时访问凭证已过期造成的。如果是这种情况,用户必须返回步骤 2,并获取一组新的临时访问凭证。