尝试让 Cognito UserPool 用户可以访问 AWS CodeCommit,如下所述:
- 创建了一个IAM角色,
AWSCodeCommitPowerUser
- 与用户池建立信任关系,
- 安装
git-remote-codecommit
并配置了配置文件。 - 接下来,尝试以下任何操作:
- Set
source_profile = default
,其中default
凭证配置文件包含一个 IAM 用户(错误的方式,但只是为了检查)。
执行git clone codecommit://CodeAccessProfile@repo
抛出:
An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:iam::123456789:user/name.surname is not authorized to perform: sts:AssumeRole on resource...
- 在 Web 应用程序中以 Cognito 用户池用户身份登录,从响应中
获取Cognito IdToken
, 并使用它调用假设角色与网络身份。得到:
An error occurred (InvalidIdentityToken) when calling the AssumeRoleWithWebIdentity operation: Provided Token is not a Login With Amazon token
我可能需要在配置文件中进行设置web_identity_token_file=token-file.txt
,但是从哪里获取与 Cognito 用户关联的令牌?
我想知道如何使 git-remote-codecommit 为 Cognito UserPool 用户工作,避免使用 STS 令牌带来这种痛苦,只需正确配置配置文件?
UPD:
汇报
在基于 AWS 的 POC 上花了几周时间后,我们决定在运行在 k8 中的轻量级且完全可控的服务(例如Gitea )上实施所有管道