请求协助:IAM用户创建AWS CodeStar项目所需权限配置
解决AWS CodeStar项目创建权限拒绝问题
要让IAM用户/组能创建AWS CodeStar项目,账号所有者/根账号需要配置以下权限:
1. 直接使用托管策略(推荐)
给目标IAM用户或组附加AWSCodeStarFullAccess托管策略,该策略预定义了创建和管理CodeStar项目所需的全部权限,涵盖CodeStar本身及关联服务的必要操作。
2. 自定义精细权限(如需最小权限原则)
如果不想使用全权限托管策略,可创建自定义IAM策略,包含以下核心权限动作:
- CodeStar核心操作:
codestar:CreateProject、codestar:ListProjects、codestar:CreateUserProfile、codestar:DescribeProject - 关联服务必要操作:
- CloudFormation:
cloudformation:CreateStack、cloudformation:DescribeStacks、cloudformation:DeleteStack、cloudformation:ValidateTemplate - IAM:
iam:CreateRole、iam:AttachRolePolicy、iam:PassRole、iam:CreateInstanceProfile、iam:AddRoleToInstanceProfile - CodeCommit:
codecommit:CreateRepository、codecommit:GetRepository、codecommit:ListRepositories - CodeBuild:
codebuild:CreateProject、codebuild:DeleteProject、codebuild:BatchGetProjects - CodePipeline:
codepipeline:CreatePipeline、codepipeline:DeletePipeline、codepipeline:GetPipeline - S3:
s3:CreateBucket、s3:GetBucketPolicy、s3:PutBucketPolicy、s3:GetBucketLocation
- CloudFormation:
自定义策略示例(JSON格式):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codestar:CreateProject", "codestar:ListProjects", "codestar:CreateUserProfile", "codestar:DescribeProject", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DeleteStack", "cloudformation:ValidateTemplate", "iam:CreateRole", "iam:AttachRolePolicy", "iam:PassRole", "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile", "codecommit:CreateRepository", "codecommit:GetRepository", "codecommit:ListRepositories", "codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetProjects", "codepipeline:CreatePipeline", "codepipeline:DeletePipeline", "codepipeline:GetPipeline", "s3:CreateBucket", "s3:GetBucketPolicy", "s3:PutBucketPolicy", "s3:GetBucketLocation" ], "Resource": "*" } ] }
注意事项
- 确保目标IAM用户/组没有被附加任何带有
Deny效果的策略,因为IAM拒绝策略优先级高于允许策略。 - 若使用自定义策略,可根据实际使用的项目模板(比如不同编程语言/框架)调整权限范围,比如不需要某些服务时可移除对应动作。
内容的提问来源于stack exchange,提问作者Vishnoo Rath
相关产品推荐
相关产品推荐

