联合用户访问AWS CodeCommit



我已经为AWS帐户实现了身份联合,使开发人员能够通过公司单点登录/SAML使用AWS服务。

我所做的关于AWS CodeCommit的所有初始阅读似乎都需要连接到特定IAM用户的SSH密钥,以使该用户能够通过SSH访问CodeCommit,或者需要访问密钥ID&HTTPS访问的密钥组合。

我看不出有什么方法可以让联邦用户(即可以通过假定角色而不是特定IAM用户登录AWS的用户)访问CodeCommit回购。有人能帮我吗?我是不是错过了一些显而易见的东西?

CodeCommit定价讨论了出于定价目的将联合用户计数为活动用户,这意味着这是可能的。

HTTPS上的AWS CodeCommit可以使用来自AWS CLI的任何凭据,包括假定的角色凭据。例如,您可以在AWS CLI配置中有以下内容(示例取自此处):

[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadmin
source_profile = default

您可以将git配置为将该配置文件用于CodeCommit存储库,并且当您推送或拉取CodeCommit repo时,将为您承担该角色。

git config --global credential.helper '!aws --profile marketingadmin codecommit credential-helper $@'

对于SAML,有更多的设置可以让AWS CLI能够承担SAML的角色。有关说明,请参阅此处和此处的AWS博客文章。遵循这些说明并运行之后/samlapi.py或/samlapi_formauth.py,您可以将git配置为使用CodeCommit存储库的"saml"配置文件:

git config --global credential.helper '!aws --profile saml codecommit credential-helper $@'

对于OSX

  1. 安装git和AWS cli
  2. 配置AWS cli凭据:

    aws configure
    
  3. 设置我的配置文件配置文件,该配置文件包含要通过修改~/.aws/credentials文件来承担的角色。请注意,管理员应该在拥有CodeCommit repos的AWS帐户中创建此角色,该角色应该将您的帐户作为受托人,并具有足够的CodeCommit权限

    [my-profile]
    role_arn = ARN_OF_THE_ROLE_TO_BE_ASSUMED
    source_profile = default
    
  4. 在~/.aws/config:中仔细检查您的区域配置

    [default]
    region = us-east-1
    

将git配置为在克隆/推送/拉取等过程中使用AWS CLI配置文件。。。操作。注意使用我的配置文件作为要使用的配置文件名称,这反过来又承担了我们已经讨论过的的角色

 git config --global credential.helper '!aws --profile "my-profile" codecommit credential-helper $@'
 git config --global credential.UseHttpPath true

您应该能够使用http端点

对属于AWS帐户的CodeCommit repo执行git操作

相关内容

  • 没有找到相关文章

最新更新