AWS:无法克隆 repo Codecommit,请求的 URL 返回错误:403

Posted

技术标签:

【中文标题】AWS:无法克隆 repo Codecommit,请求的 URL 返回错误:403【英文标题】:AWS: Can't clone repo Codecommit, The requested URL returned error: 403 【发布时间】:2019-01-28 13:36:53 【问题描述】:

我有两个 AWS 账户:DEV 和 PRD。我需要在 PRD 帐户上设置CodeCommit。我先在 DEV 上测试。它运作良好。 DEV 和 PRD 均在欧盟(爱尔兰)地区设置 CodeCommit。然后我将所有策略从 DEV 克隆到 PRD 帐户。

当我尝试在 PRD 帐户上克隆 repo CodeCommit 时,我遇到了这样的问题: fatal: unable to access 'URL xxx': The requested URL returned error: 403.

在研究过程中,我检查了 git 和 curl 版本。 Git版本是git version 2.14.4 ,curl版本是curl 7.53.1 (x86_64-redhat-linux-gnu) libcurl/7.53.1 NSS/3.28.4 zlib/1.2.8 libidn2/0.16 libpsl/0.6.2 (+libicu/50.1.2) libssh2/1.4.2 nghttp2/1.21.1 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz HTTP2 UnixSockets HTTPS-proxy PSL

已为 IAM 用户附加了策略 AWSCodeCommitPowerUser。当然,我完全编辑了我希望用户可以访问的 repo。 IAM 用户还启用了 HTTP 凭证来访问 Repo CodeCommit

我也尝试添加凭据:

[credential] helper = !aws codecommit credential-helper $@ UseHttpPath = true

我不知道我想念什么?在 DEV 帐户上,我设置相同。有效。 为什么PRD账户会出现错误?谁能帮我解释一下?

谢谢!

更新

我在 PRD 帐户上遇到了该错误,我必须为 IAM 用户启用 MFA。 解决了! 谢谢大家!

【问题讨论】:

【参考方案1】:

有完全相同的事情,只是在他们的文档中找到了答案:

"如果您使用的是 macOS,请使用 HTTPS 连接 AWS CodeCommit 存储库。第一次使用 HTTPS 连接 AWS CodeCommit 存储库后,大约十五分钟后,后续访问将失败。macOS 上的默认 Git 版本使用钥匙串访问实用程序来存储凭证。出于安全措施,为访问您的 AWS CodeCommit 存储库而生成的密码是临时的,因此存储在钥匙串中的凭证将在大约 15 分钟后停止工作。"

https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-https-unixes.html#setting-up-https-unixes-credential-helper

【讨论】:

以上是关于AWS:无法克隆 repo Codecommit,请求的 URL 返回错误:403的主要内容,如果未能解决你的问题,请参考以下文章

AWS CodeBuild 和 CodeCommit 存储库作为 npm 依赖项

无法将更改从 AWS CodeBuild 推送到 AWS CodeCommit

无法使用 SSH 访问 AWS CodeCommit

Eclipse:尝试克隆 CodeCommit 存储库并收到以下错误:“...git-upload-pack not allowed on...”

在推送到 Codecommit 时需要特定的提交消息 AWS Lambda

AWS攻略——使用CodeCommit托管代码