【问题标题】:Git clone works in AWS CodeCommit but pushing fails with 403Git 克隆在 AWS CodeCommit 中工作,但推送失败并出现 403
【发布时间】:2018-03-08 08:50:33
【问题描述】:

我可以成功克隆我的 CodeCommit 存储库,但是当我尝试推送到它时,我得到 403。但是,获取和拉取工作正常。好像我有只读权限。

我已将我的 .gitconfig 设置为使用 AWS CLI 作为凭证​​管理器:

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

问题是错误没有告诉我为什么推送失败:

$ git push origin test-branch
fatal: unable to access 'https://git-codecommit.us-east-1.amazonaws.com/v1/repos/my-example-repo/': The requested URL returned error: 403

互联网上关于他的错误的大多数问题都是克隆失败时,但克隆对我有用。我发现克隆成功和推送失败的这个问题,但他的错误是不同的 - aws codecommit cannot push

编辑::查看我的 CodeCommit 政策后,它有 Full: Read Limited: List, Write

还有一个ResourceSpecifier = foo-*,但它适用于GitPull 权限和拉动工作,所以我怀疑它是资源说明符。

【问题讨论】:

  • 这是在mac还是windows上?
  • 我在 Windows 上。
  • 好的,你是如何在 windows 上使用 git 的?您是否安装了凭据管理器?使用 Eclipse?视觉工作室? Git Bash 还是 Cygwin?以及你如何使用 git 的版本。
  • 我在官方网站上使用 git bash for Windows。但请记住,克隆和拉取已经起作用。您想到的大多数问题都会阻止我克隆,而不仅仅是推动。
  • 您的用户拥有的完整 IAM 政策是什么?

标签: git amazon-web-services git-push aws-codecommit


【解决方案1】:

对于 MacOS:删除 Keychain 中的代码提交互联网密码,然后重试。另外:

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

【讨论】:

    【解决方案2】:

    我想您对只读权限的看法是正确的。作为 docs 状态,您需要在 IAM 策略中获得 codecommit:GitPush 权限,才能将提交从本地存储库推送到 CodeCommit 存储库。

    能够提取存储库意味着您的凭据设置正确,否则您将根本无法git pull / git fetch

    【讨论】:

    • 我用有关我的 IAM 政策的详细信息更新了我的问题。
    • 您能提供您的实际政策吗?它将拥有您实际拥有的特定权限,而不是“受限”,后者可以是任意数量的东西。
    • 我发现它确实是ResourceSpecifier。在 Policy 中更改它以匹配我的 repo 名称后,它开始工作。我会接受你的回答,因为它引导我朝着正确的方向前进。
    【解决方案3】:

    @Tom 的回答让我朝着正确的方向前进。进一步扩展,原因是我的用户仅对名称与包含通配符的特定模式匹配的存储库具有写入权限。

    此模式来自策略 JSON,如下所示:

    "Resource": "arn:aws:codecommit:*:*:bar*"
    

    这种模式将赋予我对任何名称以bar 开头的存储库的写入权限,因此我可以推送到名为barbar2 的存储库,但不能推送到名为foo-bar 的存储库,因为它没有t 以 bar 开头,即使它包含它。

    【讨论】:

      猜你喜欢
      • 2023-02-02
      • 2017-11-23
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      相关资源
      最近更新 更多