我们正从github过渡到aws codecommit,以拥有一个紧密集成的环境。
一个需要是通过https访问一个存储库。此repo可访问ny spring cloud config server产品,该产品使用jgit读取repo并克隆文件以供使用。
当通过https连接时,aws codecommit显然需要使用凭证帮助器,但我的设置不是这样的。我想要一个用户和密码设置,jgit可以使用,而不需要生成一个临时凭证使用凭证助手。有什么办法做到这一点吗?
是否有任何方法可以将codecommit配置为访问固定用户,并将密码配置为通过https访问存储库?
最佳答案
更新
截至2016年12月22日,AWS CodeCommit supports the use of a static user name and password作为通过https向您的aws codecommit存储库进行身份验证的简化方法:
使用git凭据,可以在identity and access management(iam)控制台中生成静态用户名和密码,您可以使用该控制台从命令行、git cli或任何支持https身份验证的git工具访问aws codecommit存储库。
因为这些是静态凭据,所以可以使用本地操作系统中包含的密码管理工具缓存它们,或者将它们存储在凭据管理实用程序中。这允许您在几分钟内开始使用aws codecommit。您不需要下载aws cli或配置git客户端来连接到https上的aws codecommit存储库。您还可以使用用户名和密码从支持用户名和密码身份验证的第三方工具(包括流行的git gui客户端(如towerui)和ide(如eclipse、intellij和visual studio))连接到aws codecommit存储库。
[…]
初步答复
是否有任何方法可以将codecommit配置为访问固定用户,并将密码配置为通过https访问存储库?
不,如Setting Up for AWS CodeCommit中所述,您必须使用https或ssh,前者要求您的iam用户凭据的加密签名版本,或者在git需要向aws进行身份验证以便与aws codecommit中的存储库交互时使用amazon ec2实例角色。
然而,正如mark l.smith在其对using native git not jgit in Eclipse git的回答中所提到的,虽然These credentials expire in ~15 minutes,但没有什么可以阻止您自己执行签名过程,mark也善意地提供了答复。示例显示如何立即使用jgit在https上克隆aws codecommit存储库,有关详细信息,请参见jgit-codecommit。