사용자가 CodeBuild와 상호 작용하도록 허용
콘솔을 사용하여 시작하기의 단계를 따라 처음으로 AWS CodeBuild에 액세스하는 경우 이 주제의 정보가 거의 필요 없습니다. 그러나 CodeBuild를 계속 사용하면 조직의 다른 사용자 및 그룹에 CodeBuild와 상호 작용할 수 있는 기능을 부여하는 등의 작업을 수행할 수 있습니다.
IAM 사용자 또는 그룹이 AWS CodeBuild와 상호 작용하도록 허용하려면 CodeBuild에 대한 액세스 권한을 부여해야 합니다. 이 섹션에서는 IAM 콘솔이나 AWS CLI를 사용하여 이를 수행하는 방법을 설명합니다.
AWS 루트 계정(권장 안 함)을 사용하여 또는 AWS 계정의 관리자 사용자로 CodeBuild에 액세스하는 경우 다음 지침을 따르지 않아도 됩니다.
AWS 계정 루트 사용자 및 관리자 사용자에 대한 자세한 내용은 사용 설명서에서 AWS 계정 루트 사용자 및 첫 번째 AWS 계정 루트 사용자 및 그룹 생성을 참조하세요.
IAM 그룹 또는 사용자에게 CodeBuild 액세스 권한을 추가하려면(콘솔)
https://console.aws.amazon.com/iam/
에서 IAM 콘솔을 엽니다. 다음 중 하나를 사용하여 AWS Management Console에 이미 로그인되어 있어야 합니다.
-
사용자의 AWS 루트 계정. 이는 권장하지 않습니다. 자세한 내용은 사용 설명서의 AWS 계정 루트 사용자를 참조하세요.
-
AWS 계정의 관리자 사용자. 자세한 내용은 사용 설명서에서 첫 번째 AWS 계정 루트 사용자 및 그룹 생성을 참조하세요.
-
최소한 다음 작업 세트를 수행할 수 있는 권한이 있는 AWS 계정의 사용자.
iam:AttachGroupPolicy iam:AttachUserPolicy iam:CreatePolicy iam:ListAttachedGroupPolicies iam:ListAttachedUserPolicies iam:ListGroups iam:ListPolicies iam:ListUsers
자세한 내용은 사용 설명서의 IAM 정책 개요를 참조하세요.
-
-
탐색 창에서 Policies를 선택합니다.
-
IAM 그룹이나 IAM 사용자에게 사용자 지정 AWS CodeBuild 액세스 권한 세트를 추가하려면 이 절차의 4단계로 이동합니다.
IAM 그룹이나 IAM 사용자에게 기본 CodeBuild 액세스 권한 세트를 추가하려면 정책 유형, AWS 관리형을 선택한 후 다음을 수행합니다.
-
CodeBuild에 대한 전체 액세스 권한을 추가하려면 AWSCodeBuildAdminAccess 확인란을 선택하고 정책 작업을 선택한 다음, 연결을 선택합니다. 대상 IAM 그룹 및 사용자 옆의 확인란을 선택하고 정책 연결을 선택합니다. [AmazonS3ReadOnlyAccess] 및 [IAMFullAccess]라는 정책에 대해서도 이 절차를 반복합니다.
-
빌드 프로젝트 관리를 제외한 모든 항목에 CodeBuild에 대한 액세스 권한을 추가하려면 AWSCodeBuildDeveloperAccess 확인란을 선택하고 정책 작업을 선택한 다음, 연결을 선택합니다. 대상 IAM 그룹 및 사용자 옆의 확인란을 선택하고 정책 연결을 선택합니다. [AmazonS3ReadOnlyAccess] 정책에 대해서도 이 절차를 반복합니다.
-
CodeBuild에 대해 읽기 전용 액세스 권한을 추가하려면 AWSCodeBuildReadOnlyAccess 확인란을 선택합니다. 대상 IAM 그룹 및 사용자 옆의 확인란을 선택하고 정책 연결을 선택합니다. [AmazonS3ReadOnlyAccess] 정책에 대해서도 이 절차를 반복합니다.
이제 IAM 그룹 또는 사용자에게 기본 CodeBuild 액세스 권한 세트가 추가되었습니다. 이 절차의 나머지 단계는 건너뜁니다.
-
-
정책 생성(Create Policy)을 선택합니다.
-
[Create Policy] 페이지에서 [Create Your Own Policy] 옆의 [Select]를 선택합니다.
-
정책 검토 페이지의 정책 이름에 정책 이름을 입력합니다(예:
CodeBuildAccessPolicy
). 다른 이름을 사용하는 경우 이 절차 전체에서 해당 이름을 사용해야 합니다. -
정책 문서에 다음을 입력한 다음 정책 생성을 선택합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-ID
:role/role-name
" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }참고
다음 정책은 모든 CodeBuild 작업 및 대다수의 AWS 리소스에 대한 액세스를 허용합니다. 특정 CodeBuild 작업으로 권한을 제한하려면 CodeBuild 정책 명령에서
codebuild:*
의 값을 변경합니다. 자세한 내용은 자격 증명 및 액세스 관리 단원을 참조하십시오. 특정 AWS 리소스로 액세스를 제한하려면Resource
객체 값을 변경하십시오. 자세한 내용은 자격 증명 및 액세스 관리 단원을 참조하십시오. -
탐색 창에서 [Groups] 또는 [Users]를 선택합니다.
-
그룹 또는 사용자 목록에서 CodeBuild 액세스 권한을 추가하려는 IAM 그룹 또는 IAM 사용자의 이름을 선택합니다.
-
그룹의 경우 그룹 설정 페이지의 권한 탭에서 관리형 정책을 확장한 다음 정책 연결을 선택합니다.
사용자의 경우 사용자 설정 페이지의 [Permissions] 탭에서 [Add permissions]를 선택합니다.
-
그룹의 경우 정책 연결 페이지에서 CodeBuildAccessPolicy를 선택한 후 정책 연결을 선택합니다.
사용자의 경우 권한 추가 페이지에서 기존 정책 직접 연결을 선택합니다. CodeBuildAccessPolicy, 다음: 검토를 차례로 선택한 후 권한 추가를 선택합니다.
CodeBuild 액세스 권한을 IAM 그룹 또는 사용자에게 추가하려면(AWS CLI)
-
이전 절차에서 설명한 대로 IAM 엔터티 중 하나에 해당하는 AWS 액세스 키 및 AWS 비밀 액세스 키를 사용하여 AWS CLI를 구성했는지 확인합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서의 AWS Command Line Interface 설정을 참조하세요.
-
IAM 그룹이나 IAM 사용자에게 사용자 지정 AWS CodeBuild 액세스 권한 세트를 추가하려면 이 절차의 3단계로 이동합니다.
IAM 그룹 또는 IAM 사용자에게 기본 CodeBuild 액세스 권한 세트를 추가하려면 다음을 수행합니다.
IAM 그룹 또는 사용자에게 권한을 추가할 것인지에 따라 다음 명령 중 하나를 실행합니다.
aws iam attach-group-policy --group-name
group-name
--policy-arnpolicy-arn
aws iam attach-user-policy --user-nameuser-name
--policy-arnpolicy-arn
group-name
또는user-name
을 IAM 그룹 이름 또는 사용자 이름으로 변경하고 다음 정책 Amazon 리소스 이름(ARN)마다 한 번씩policy-arn
을 변경하는 등 명령을 3번 실행해야 합니다.-
CodeBuild에 전체 액세스 권한을 추가하려면 다음 정책 ARN을 사용합니다.
-
arn:aws:iam::aws:policy/AWSCodeBuildAdminAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
arn:aws:iam::aws:policy/IAMFullAccess
-
-
CodeBuild에 빌드 프로젝트 관리를 제외한 전체 액세스 권한을 추가하려면 다음 정책 ARN을 사용합니다.
-
arn:aws:iam::aws:policy/AWSCodeBuildDeveloperAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
-
CodeBuild에 읽기 전용 액세스 권한을 추가하려면 다음 정책 ARN을 사용합니다.
-
arn:aws:iam::aws:policy/AWSCodeBuildReadOnlyAccess
-
arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
-
이제 IAM 그룹 또는 사용자에게 기본 CodeBuild 액세스 권한 세트가 추가되었습니다. 이 절차의 나머지 단계는 건너뜁니다.
-
-
AWS CLI가 설치된 로컬 워크스테이션 또는 인스턴스의 빈 디렉터리에
put-group-policy.json
또는put-user-policy.json
이라는 파일을 생성합니다. 다른 파일 이름을 선택하는 경우 이 절차 전체에서 해당 이름을 사용해야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildAccessPolicy", "Effect": "Allow", "Action": [ "codebuild:*" ], "Resource": "*" }, { "Sid": "CodeBuildRolePolicy", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-ID
:role/role-name
" }, { "Sid": "CloudWatchLogsAccessPolicy", "Effect": "Allow", "Action": [ "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Sid": "S3AccessPolicy", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetObject", "s3:List*", "s3:PutObject" ], "Resource": "*" }, { "Sid": "S3BucketIdentity", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "*" } ] }참고
다음 정책은 모든 CodeBuild 작업 및 대다수의 AWS 리소스에 대한 액세스를 허용합니다. 특정 CodeBuild 작업으로 권한을 제한하려면 CodeBuild 정책 명령에서
codebuild:*
의 값을 변경합니다. 자세한 내용은 자격 증명 및 액세스 관리 단원을 참조하십시오. 특정 AWS 리소스로 액세스를 제한하려면 관련된Resource
객체 값을 변경하십시오. 자세한 정보는 자격 증명 및 액세스 관리 또는 특정 AWS 서비스의 보안 설명서를 참조하십시오. -
파일을 저장한 디렉터리로 전환한 다음, 다음 명령 중 하나를 실행합니다.
CodeBuildGroupAccessPolicy
및CodeBuildUserAccessPolicy
에 다른 값을 사용할 수도 있습니다. 다른 값을 사용하는 경우 여기에서 사용해야 합니다.IAM 그룹의 경우:
aws iam put-group-policy --group-name
group-name
--policy-name CodeBuildGroupAccessPolicy --policy-document file://put-group-policy.json사용자의 경우:
aws iam put-user-policy --user-name
user-name
--policy-name CodeBuildUserAccessPolicy --policy-document file://put-user-policy.json앞의 명령에서
group-name
또는user-name
을 대상 IAM 그룹 또는 사용자의 이름으로 변경합니다.