IAM 역할 및 권한

Cloud Build의 액세스 제어는 Identity and Access Management(IAM)를 사용하여 제어됩니다. IAM을 사용하면 Google Cloud 리소스에 대한 권한을 만들고 관리할 수 있습니다. Cloud Build는 각 역할에 권한 집합이 포함된 특정 사전 정의된 IAM 역할 집합을 제공합니다. 이러한 역할을 사용하여 특정 Google Cloud 리소스에 대해 보다 세부적인 액세스 권한을 제공하고 다른 리소스에 대한 원치 않는 액세스를 방지할 수 있습니다. IAM은 최소 권한의 보안 원칙을 채택하여 리소스에 대해 필요한 액세스 권한만 부여할 수 있게 해줍니다.

이 페이지에서는 Cloud Build 역할 및 권한에 대해 설명합니다.

사전 정의된 Cloud Build 역할

IAM을 사용할 때 Cloud Build API의 모든 API 메서드를 사용하려면 API 요청을 실행하는 ID에 해당 리소스를 사용하는 데 필요한 적절한 권한이 있어야 합니다. 권한을 부여하려면 주 구성원(사용자, 그룹 또는 서비스 계정)에 역할을 부여하는 정책을 설정합니다. 주 구성원에게 동일한 리소스에 대한 여러 역할을 부여할 수 있습니다.

아래 표에는 Cloud Build IAM 역할 및 포함된 권한이 나열되어 있습니다.

역할 설명 권한
이름: roles/cloudbuild.builds.viewer
역할: Cloud Build 뷰어
Cloud Build를 볼 수 있습니다.

리소스

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

이름: roles/cloudbuild.builds.editor
역할: Cloud Build 편집자
Cloud Build에 대한 전체 제어 권한입니다.

리소스

cloudbuild.builds.create

cloudbuild.builds.get

cloudbuild.builds.list

cloudbuild.builds.update

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

이름: roles/cloudbuild.builds.approver
역할: Cloud Build 승인 담당자
대기 중인 빌드 승인 또는

거부를 위한 액세스 제공

cloudbuild.builds.approve

cloudbuild.builds.get

cloudbuild.builds.list

remotebuildexecution.blobs.get

resourcemanager.projects.get

resourcemanager.projects.list

이름: roles/cloudbuild.builds.builder
역할: Cloud Build 서비스 계정
프로젝트에
Cloud Build API를 사용 설정하면
Cloud Build 서비스 계정

프로젝트에서 자동으로 생성되고 프로젝트의
리소스에 대해 이 역할이 부여됩니다. Cloud Build
서비스 계정은
빌드를 실행할 때 작업을 수행하는 데 필요한
로의 역할만 사용합니다.
이 역할에 포함된 권한
목록은 Cloud Build 서비스 계정
참조하세요.
이름: roles/cloudbuild.integrations.viewer
역할: Cloud Build 통합 뷰어
Cloud Build를 볼 수 있습니다.

호스트 연결

cloudbuild.integrations.get

cloudbuild.integrations.list

resourcemanager.projects.get

resourcemanager.projects.list

이름:roles/cloudbuild.integrations.editor
역할: Cloud Build 통합 편집자
Cloud Build의 제어를 수정합니다.

호스트 연결

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

resourcemanager.projects.get

resourcemanager.projects.list

이름:roles/cloudbuild.integrations.owner
역할: Cloud Build 통합 소유자
Cloud Build에 대한 전체 제어 권한입니다.

호스트 연결

cloudbuild.integrations.create

cloudbuild.integrations.delete

cloudbuild.integrations.get

cloudbuild.integrations.list

cloudbuild.integrations.update

compute.firewalls.create

compute.firewalls.get

compute.firewalls.list

compute.networks.get

compute.networks.updatePolicy

compute.regions.get

compute.subnetworks.get

compute.subnetworks.list

resourcemanager.projects.get

resourcemanager.projects.list

이름:roles/cloudbuild.connectionViewer
역할: Cloud Build 연결 뷰어
연결을 보고 나열할 수 있습니다.

저장소

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.getIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

이름:roles/cloudbuild.connectionAdmin
역할: Cloud Build 연결 관리자
연결을 관리할 수 있습니다.

저장소

resourcemanager.projects.get

resourcemanager.projects.list

cloudbuild.connections.get

cloudbuild.connections.fetchLinkableRepositories

cloudbuild.connections.list

cloudbuild.connections.create

cloudbuild.connections.update

cloudbuild.connections.delete

cloudbuild.connections.getIamPolicy

cloudbuild.connections.setIamPolicy

cloudbuild.repositories.get

cloudbuild.repositories.list

cloudbuild.repositories.create

cloudbuild.repositories.delete

이름:roles/cloudbuild.readTokenAccessor
역할: Cloud Build 읽기 전용 토큰 접근자
연결, 저장소를 보고

읽기 전용 토큰에 액세스할 수 있습니다.

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

이름:roles/cloudbuild.tokenAccessor
역할: Cloud Build 토큰 접근자
연결, 저장소를 보고

읽기 전용 및 읽기/쓰기 토큰에 액세스할 수 있습니다.

cloudbuild.connections.get

cloudbuild.repositories.get

cloudbuild.repositories.accessReadToken

cloudbuild.repositories.accessReadWriteToken

이름: roles/cloudbuild.workerPoolOwner
역할: Cloud Build WorkerPool 소유자
비공개 풀에 대한 전체 제어 권한입니다. cloudbuild.workerpools.create

cloudbuild.workerpools.delete

cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

이름:roles/cloudbuild.workerPoolEditor
역할: Cloud Build WorkerPool 편집자
비공개 풀을 업데이트할 수 있습니다. cloudbuild.workerpools.get

cloudbuild.workerpools.list

cloudbuild.workerpools.update

resourcemanager.projects.get

resourcemanager.projects.list

이름: roles/cloudbuild.workerPoolViewer
역할: Cloud Build WorkerPool 뷰어
비공개 풀을 볼 수 있습니다. cloudbuild.workerpools.get

cloudbuild.workerpools.list

resourcemanager.projects.get

resourcemanager.projects.list

이름: roles/cloudbuild.workerPoolUser
역할: Cloud Build WorkerPool 사용자
비공개 풀에서 빌드를 실행할 수 있습니다. cloudbuild.workerpools.use

사전 정의된 위의 Cloud Build 역할 외에 기본 뷰어, 편집자, 소유자 역할에는 Cloud Build와 관련된 권한도 포함합니다. 하지만 가능한 한 최소 권한의 보안 원칙에 맞게 사전 정의된 역할을 부여하는 것이 좋습니다.

아래 표에는 기본 역할과 여기에 포함된 Cloud Build IAM 역할이 나와 있습니다.

역할 포함된 역할
roles/viewer roles/cloudbuild.builds.viewer, roles/cloudbuild.integrations.viewer
roles/editor roles/cloudbuild.builds.editor, roles/cloudbuild.integrations.editor
roles/owner roles/cloudbuild.integrations.owner

권한

다음 표에서는 호출자가 각 메서드를 호출하는 데 필요한 권한 목록을 보여줍니다.

API 메서드 필요한 권한 역할 칭호
builds.create()
triggers.create()
triggers.patch()
triggers.delete()
triggers.run()
cloudbuild.builds.create Cloud Build 편집자
builds.cancel() cloudbuild.builds.update Cloud Build 편집자
builds.get()
triggers.get()
cloudbuild.builds.get Cloud Build 편집자, Cloud Build 뷰어
builds.list()
triggers.list()
cloudbuild.builds.list Cloud Build 편집자, Cloud Build 뷰어

빌드 로그를 볼 수 있는 권한

빌드 로그를 보려면 빌드 로그를 기본 Cloud Storage 버킷에 저장할지 아니면 사용자가 지정한 Cloud Storage 버킷에 저장할지에 따라 추가 권한이 필요합니다. 빌드 로그를 보는 데 필요한 권한에 대한 자세한 내용은 빌드 로그 저장 및 보기를 참조하세요.

다음 단계