Cloud Build는 사용자를 대신하여 특별 서비스 계정을 사용하여 빌드를 실행합니다. Google Cloud 프로젝트에서 Cloud Build API를 사용 설정하면 Cloud Build 서비스 계정이 자동으로 생성되고 프로젝트에 대해 Cloud Build 서비스 계정 역할이 부여됩니다. 이 역할은 서비스 계정에 여러 작업을 수행할 수 있는 권한을 제공하지만, 서비스 계정에 대해 권한을 더 부여해서 추가 작업을 수행할 수 있습니다. 이 페이지에서는 Cloud Build 서비스 계정에 대해 권한을 부여하고 취소하는 방법을 설명합니다.
시작하기 전에
- Cloud Build 역할 및 권한을 이해합니다.
- Cloud Build 서비스 계정을 읽습니다.
설정 페이지를 사용하여 Cloud Build 서비스 계정에 역할 부여
Google Cloud Console의 Cloud Build 설정 페이지를 사용하여 일반적으로 사용되는 특정 IAM 역할을 Cloud Build 서비스 계정에 부여할 수 있습니다.
Cloud Build 설정 페이지를 엽니다.
서비스 계정 권한 페이지가 표시됩니다.
추가할 역할의 상태를 사용 설정으로 설정합니다.
IAM 페이지를 사용하여 Cloud Build 서비스 계정에 역할 부여
부여할 역할이 Google Cloud Console의 Cloud Build 설정 페이지에 없으면 IAM 페이지를 사용하여 역할을 부여합니다.
IAM 페이지 열기:
Google Cloud 프로젝트를 선택합니다.
권한 테이블 위에서 Google 제공 역할 부여 포함 체크박스를 선택합니다.
권한 테이블에 더 많은 행이 표시됩니다.
권한 표에서
@cloudbuild.gserviceaccount.com
으로 끝나는 이메일 주소가 있는 행을 찾습니다. 이것이 사용자의 Cloud Build 서비스 계정입니다.연필 아이콘을 클릭합니다.
Cloud Build 서비스 계정에 부여하려는 역할을 선택합니다.
저장을 클릭합니다.
Cloud Build 서비스 계정에서 역할 취소
IAM 페이지 열기:
Google Cloud 프로젝트를 선택합니다.
권한 테이블 위에서 Google 제공 역할 부여 포함 체크박스를 선택합니다.
권한 테이블에 더 많은 행이 표시됩니다.
권한 표에서
@cloudbuild.gserviceaccount.com
으로 끝나는 이메일 주소가 있는 행을 찾습니다. 이것이 사용자의 Cloud Build 서비스 계정입니다.연필 아이콘을 클릭합니다.
취소할 역할을 찾고 역할 옆에 있는 삭제 휴지통을 클릭합니다.
Cloud Build 서비스 에이전트에 역할 부여
Cloud Build 서비스 계정 외에도 Cloud Build에는 다른 Google Cloud 서비스가 리소스에 액세스하도록 허용하는 Cloud Build 서비스 에이전트가 있습니다. Cloud Build API를 사용 설정한 후 Google Cloud 프로젝트에 서비스 에이전트가 자동으로 생성됩니다.
서비스 에이전트의 형식은 다음과 같습니다. 여기서 PROJECT_NUMBER
는 프로젝트 번호입니다.
service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
Google Cloud 콘솔의 IAM 페이지로 이동하여 Google 관리형 서비스 계정 표시 체크박스를 선택하면 프로젝트의 서비스 에이전트를 볼 수 있습니다.
프로젝트에서 Cloud Build 서비스 에이전트의 역할을 실수로 취소한 경우 다음 단계에 따라 수동으로 이를 부여할 수 있습니다.
콘솔
Google Cloud Console에서 IAM 페이지를 엽니다.
액세스 권한 부여를 클릭합니다.
다음 주 구성원을 추가합니다. 여기서
PROJECT_NUMBER
는 프로젝트 번호입니다.service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
역할로 서비스 에이전트 > Cloud Build 서비스 에이전트를 선택합니다.
저장을 클릭합니다.
gcloud
Cloud Build 서비스 에이전트에 roles/cloudbuild.serviceAgent
IAM 역할을 부여합니다.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com" \
--role="roles/cloudbuild.serviceAgent"
명령어의 자리 표시자 값을 다음으로 바꿉니다.
PROJECT_ID
: 프로젝트 IDPROJECT_NUMBER
: 프로젝트 번호
다음 단계
- 사용자 지정 서비스 계정 알아보기
- 서비스 계정에 대해 자세히 알아보기
- Cloud Build 리소스에 대한 액세스 구성 알아보기
- 빌드 로그 확인에 필요한 권한 알아보기