빌드 서비스 계정 설정(소스 배포)

소스 배포 중에 Cloud Run은 Cloud Run 서비스를 빌드하고 배포할 때 Cloud Build를 활용합니다.

이 페이지에서는 Cloud Build가 사용자를 대신하여 서비스 빌드를 실행할 때 사용할 사용자 지정 서비스 계정을 설정하는 방법을 보여줍니다. 이 가이드는 Google Cloud CLI를 사용하여 Cloud Run 서비스 또는 함수를 배포하고 Cloud Build에서 사용하는 빌드 서비스 계정을 맞춤설정해야 하는 플랫폼 개발자를 대상으로 합니다. 빌드 서비스 계정 gcloud CLI 플래그는 소스 배포(--source)에 지원되며 컨테이너 이미지 배포(--image)에는 지원되지 않습니다.

시작하기 전에

  1. Cloud Build API를 사용 설정합니다.

    gcloud services enable cloudbuild.googleapis.com
  2. Cloud Build 서비스 계정으로 사용할 서비스 계정을 만들거나 기존 서비스 계정을 보유하고 있어야 합니다.

필요한 역할

개발자 또는 관리자가 배포자 계정과 Cloud Build 서비스 계정에 다음 IAM 역할을 부여해야 합니다.

클릭하여 배포자 계정에 필요한 역할 보기

소스에서 빌드하고 배포하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

Cloud Build 서비스 계정에 필요한 역할을 보려면 클릭

Cloud Build 서비스 계정이 함수를 배포할 때 빌드를 실행하도록 허용하려면 관리자에게 프로젝트의 Cloud Build 서비스 계정에 Cloud Run 빌더(roles/run.builder) 역할을 부여해 달라고 요청하세요.

Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할Cloud Run IAM 권한을 참조하세요. Cloud Run 서비스가 Cloud 클라이언트 라이브러리와 같은Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

Cloud Build 서비스 계정 지정

기본적으로 소스에서 서비스 또는 함수를 배포할 때 Cloud Build 서비스 계정이 지정되지 않으면 Cloud Build에서 기본 Cloud Build 서비스 계정을 사용합니다

서비스의 보안 상황을 개선하기 위해 최소 권한의 원칙을 따르는 권장사항으로, 소스에서 서비스를 배포할 때 빌드를 실행할 자체 서비스 계정을 지정하는 것이 좋습니다.

gcloud

소스 코드에서 서비스를 배포할 때 Cloud Build 서비스 계정을 지정하려면 --build-service-account 플래그를 사용하세요.

gcloud run deploy SERVICE \
    --source . \
    --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT

다음과 같이 바꿉니다.

  • SERVICE: Cloud Run 서비스 이름
  • PROJECT_ID: 빌드 서비스 계정이 생성된 프로젝트 ID
  • BUILD_SERVICE_ACCOUNT를 사용자 지정 서비스 계정으로 바꿉니다.

함수를 배포하는 경우 소스 코드의 함수 진입점과 함께 --function 플래그를 추가합니다.