如何配置AWS CodeCommit权限:A仓库可推拉、B仓库仅可拉取
解决AWS CodeCommit仓库权限细分问题
要实现对仓库A读写、仓库B只读的权限控制,核心是通过IAM自定义策略替换原有的全权限策略,具体步骤如下:
1. 移除原有全权限策略
找到对应IAM用户,移除之前绑定的AWSCodeCommitFullAccess(或其他全权限类策略),避免权限冲突。
2. 创建两个自定义权限策略
在IAM控制台的「策略」页面,创建两个独立的策略:
策略1:仓库A的读写权限
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GitPush", "codecommit:GetRepository", "codecommit:GetBranch", "codecommit:GetCommit" ], "Resource": "arn:aws:codecommit:你的区域ID:你的账户ID:仓库A" } ] }
替换其中的你的区域ID(如us-east-1)、你的账户ID(AWS账户的数字ID)、仓库A为实际名称。
策略2:仓库B的只读权限
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codecommit:GitPull", "codecommit:GetRepository", "codecommit:GetBranch", "codecommit:GetCommit" ], "Resource": "arn:aws:codecommit:你的区域ID:你的账户ID:仓库B" } ] }
同样替换占位符为实际信息。
3. 关联策略到目标IAM用户
回到该IAM用户的权限页面,点击「添加权限」→「附加现有策略直接」,选择刚才创建的两个自定义策略并完成关联。
这样配置后,该用户就能对仓库A正常推拉代码,对仓库B仅能拉取,无法执行推送操作。
内容的提问来源于stack exchange,提问作者Nagesh Patil
相关产品推荐
相关产品推荐

