You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置AWS CodeCommit IAM策略仅显示指定仓库遇权限报错问题

解决AWS CodeCommit仓库概览页面仅显示指定仓库的IAM策略问题

我来帮你搞定这个报错!你遇到的问题根源在于codecommit:ListRepositories这个API操作的特殊性——它是全局级别的操作,不能直接绑定到单个仓库的ARN资源上。你当前的策略里把List*都挂在了单个仓库Resource下,导致这个操作被拒绝,因为IAM会认为你要对该仓库执行ListRepositories,但这个操作根本不支持指定单个仓库作为目标。

正确的策略配置方案

你需要把codecommit:ListRepositories单独拆分出来,配合IAM条件codecommit:RepositoryName来限制用户只能看到指定的仓库,同时保留其他操作绑定到单个仓库ARN。修改后的策略如下:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowFullAccessToSpecificRepo",
      "Effect": "Allow",
      "Action": [
        "codecommit:Merge*",
        "codecommit:Post*",
        "codecommit:Describe*",
        "codecommit:Update*",
        "codecommit:Get*",
        "codecommit:Test*",
        "codecommit:BatchGet*",
        "codecommit:GitPull",
        "codecommit:Create*",
        "codecommit:Put*",
        "codecommit:GitPush",
        "codecommit:DeleteBranch"
      ],
      "Resource": "arn:aws:codecommit:eu-central-1:12345678:mycompany.drupal.myrepo.website"
    },
    {
      "Sid": "AllowListOnlySpecificRepo",
      "Effect": "Allow",
      "Action": "codecommit:ListRepositories",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "codecommit:RepositoryName": "mycompany.drupal.myrepo.website"
        }
      }
    }
  ]
}

关键细节解释

  • 第一个Statement:保留了你原来需要的所有针对单个仓库的操作,绑定到目标仓库的ARN,确保用户只能对这个仓库执行这些操作。
  • 第二个Statement:单独允许codecommit:ListRepositories操作,Resource设为*(因为这个操作不支持单个仓库ARN),然后通过Condition里的StringEquals限制返回的仓库只能是你指定的名称。这样GUI的概览页面就能正常加载,并且只显示这个仓库。

验证方法

修改完策略后,记得让用户重新登录AWS控制台(或者刷新页面),然后进入CodeCommit概览页面,应该就能看到指定的仓库,不会再出现授权错误了。

内容的提问来源于stack exchange,提问作者Basti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:11:13