在AWS创建CodeBuild项目时出现iam:CreatePolicy无权限错误如何解决
问题根因
你绑定的IAM策略未包含报错提示的iam:CreatePolicy权限:CodeBuild首次创建项目时默认会自动生成专属的基础权限策略,需要调用对应IAM接口完成策略创建,你现有策略的动作列表未覆盖该权限,因此触发授权报错。
解决方法
方案1(直接补全权限,适合测试/开发场景)
编辑当前绑定到binhtl-dev用户的IAM策略,在Action数组中新增缺失的权限动作,修改后参考配置如下:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "iam:CreateInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:AddRoleToInstanceProfile", "iam:PassRole", "iam:AttachRolePolicy", "iam:CreateRole", "iam:DeleteInstanceProfile", "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion" ], "Effect": "Allow", "Resource": "*" } ] }
修改策略完成后等待约30秒待权限生效,再重试创建CodeBuild项目即可。
方案2(最小权限配置,适合生产场景)
如果不想给普通用户开通IAM策略创建权限,可以提前手动创建好CodeBuild服务角色、绑定好CodeBuild全访问或者项目所需的最小权限策略,创建CodeBuild项目时直接选择「使用现有服务角色」,无需平台自动创建角色/策略,就不需要给操作用户开通上述IAM相关权限。
内容的提问来源于stack exchange,提问作者Bình Trương
相关产品推荐
相关产品推荐

