Cloud Run(완전 관리형)의 서비스 계정

이 페이지에서는 Cloud Run(완전 관리형) 서비스에 특정 서비스 계정을 할당하는 방법을 설명합니다.

서비스 ID 설정 및 업데이트

각 서비스에 전용 ID를 할당하고 IAM을 사용해 최소한의 권한 집합을 부여하여 액세스할 수 있는 항목을 제한하는 것이 좋습니다. 이를 위해 올바른 IAM 역할이 있는 명명된 서비스 계정을 할당하면 됩니다. 서비스 계정은 Cloud Run(완전 관리형) 서비스와 동일한 프로젝트에서만 사용할 수 있습니다.

기본이 아닌 ID를 사용하는 데 필요한 권한

기본이 아닌 서비스 계정으로 서비스를 배포하려면 배포되는 서비스 계정에 대한 iam.serviceAccounts.actAs 권한이 배포자에게 있어야 합니다.

사용자가 서비스 계정을 만들면 해당 사용자에게 자동으로 이 권한이 부여됩니다. 그렇지 않으면 올바른 권한을 가진 사용자가 배포자에게 서비스 계정에 대한 이 권한을 부여해야만 사용자가 함수를 배포할 수 있습니다.

기본이 아닌 ID로 새 서비스 배포

새 ID로 서비스를 배포하기 전에 사용할 서비스 계정이 이미 만들어져 있는지 확인합니다. 그렇지 않으면 서비스 계정 생성 및 관리 방법에 대해 알아보세요.

새 서비스를 만들거나 새 버전을 배포할 때 Cloud Console 또는 gcloud 명령줄을 사용하여 환경 변수를 설정할 수 있습니다. 새 ID와 연결된 서비스 계정 이메일로 서비스 계정을 업데이트합니다.

Console

  1. Cloud Run으로 이동

  2. 배포할 새 서비스를 구성하려면 서비스 만들기를 클릭합니다. 기존 서비스를 구성하는 경우 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.

  3. 고급 설정에서 컨테이너를 클릭합니다.

    이미지

  4. 서비스 계정 드롭다운을 클릭하고 원하는 서비스 계정을 선택합니다.

  5. 만들기 또는 배포를 클릭합니다.

gcloud

다음 명령어로 기존 서비스를 업데이트하여 새 런타임 서비스 계정을 만들 수 있습니다.

gcloud run services update SERVICE --service-account SERVICE_ACCOUNT

다음과 같이 바꿉니다.

  • SERVICE를 서비스 이름으로 바꿉니다.
  • SERVICE_ACCOUNT를 새 ID와 연결된 서비스 계정으로 바꿉니다.

배포 중에 다음 명령어를 사용하여 서비스 계정을 설정할 수도 있습니다.

gcloud run deploy --image IMAGE_URL --service-account SERVICE_ACCOUNT

다음과 같이 바꿉니다.

  • IMAGE_URL을 컨테이너 이미지에 대한 참조(예: gcr.io/myproject/my-image:latest)로 바꿉니다.
  • SERVICE_ACCOUNT를 새 ID와 연결된 서비스 계정으로 바꿉니다.

YAML

YAML 형식으로 정리된 결과를 반환하는 gcloud run services describe --format export 명령어를 사용하면 기존 서비스 구성을 다운로드하고 볼 수 있습니다. 그런 다음 아래 설명된 필드를 수정하고 gcloud beta run services replace 명령어를 사용하여 수정된 YAML을 업로드할 수 있습니다. 설명된 대로 필드만 수정해야 합니다.

  1. 구성을 보고 다운로드하려면 다음을 실행합니다.

    gcloud run services describe SERVICE --format export > service.yaml
  2. serviceAccountName: 속성을 업데이트합니다.

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        spec:
          serviceAccountName: SERVICE_ACCOUNT

    바꾸기

    • SERVICE를 Cloud Run 서비스 이름으로 바꿉니다.
    • SERVICE_ACCOUNT를 새 ID와 연결된 서비스 계정으로 바꿉니다.
  3. 다음 명령어를 사용하여 서비스를 새 구성으로 바꿉니다.

    gcloud beta run services replace service.yaml