2015-11-16 36 views
3

我已经实施了AWS账户的联合身份验证,以使开发人员能够通过企业单点登录/ SAML使用AWS服务。联合用户访问AWS CodeCommit

我对AWS CodeCommit所做的所有初步阅读似乎都需要一个SSH密钥连接到特定的IAM用户,以允许该用户通过SSH访问CodeCommit或访问密钥ID & Secret Key组合HTTPS访问。

我看不到一种方法来启用联合用户(即可以通过假定的角色而不是特定的IAM用户登录AWS的用户)访问CodeCommit回购协议。有谁能够帮助我?我错过了明显的东西吗?

CodeCommit pricing讨论联合用户计数作为定价目的的活跃用户,这意味着这是可能的。

回答

5

通过HTTPS的AWS CodeCommit可以使用来自AWS CLI的任何凭证,包括假定的角色凭证。例如,你可以在你的AWS CLI配置下(例如,从here拍摄):

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

将配置的git用于CodeCommit库该配置文件,并且角色会被假定为你,当你推或者拉一个CodeCommit回购。

git config --global credential.helper '!aws --profile marketingadmin codecommit credential-helper [email protected]' 

对于SAML,还有更多设置让AWS CLI能够承担SAML的角色。有关说明,请参阅AWS博客文章herehere。下面这些指令并运行./samlapi.py或./samlapi_formauth.py后,将配置的git用于CodeCommit库的 “SAML” 简介:

git config --global credential.helper '!aws --profile saml codecommit credential-helper [email protected]' 
+0

+1非常感谢帮助,您的建议让我获得了大部分途径。实际上,需要安装AWS Tools并运行git-credential-AWSS4.exe工具而不是您的git config调用才能正确安装凭证助手。 –

+0

当我按照上述过程并尝试执行git克隆时,系统提示输入用户名和密码。我不确定要使用哪一个。有小费吗? – hynespm

0

对于OSX

  1. 安装Git和AWS cli来
  2. 配置AWS CLI凭据:

    AWS配置

  3. 设置my-profile配置文件,其中包含通过修改〜/ .aws/credentials文件来承担的角色。请注意,管理员应该创造拥有该CodeCommit回购和作用应该把你的帐户作为受托人,并有足够的CodeCommit权限

    [我 - 资料]

    role_arn = ARN_OF_THE_ROLE_TO_BE_ASSUMED

    的AWS账户这个角色

    source_profile =默认

  4. 仔细检查在〜/ .aws /配置您的区域配置:

[default] region = us-east-1

配置git在clone/push/pull/etc ...操作过程中使用AWS CLI配置文件。注意使用的我的瞩目为使用这又是承担角色的配置文件名称,因为我们已经讨论

git config --global credential.helper '!aws --profile "my-profile" codecommit credential-helper [email protected]' 
git config --global credential.UseHttpPath true 

你应该能够对属于AWS 父CodeCommit回购执行git的操作使用http端点的帐号