GitHub Actions에서 OIDC를 사용해서 Google Cloud Run에 배포하도록 구성하는 방법은 어떻게 되나요?

Google Cloud Run에 OIDC를 통해 배포하려면 몇 가지 전제 조건을 정확히 맞춰야 합니다:

  1. Workload Identity Federation 설정 확인
    Google Cloud 콘솔에서 Workload Identity Pool과 Provider가 정확히 설정되어 있어야 하며, GitHub의 OIDC 토큰을 받아들이도록 provider의 audience가 https://github.com/{owner} 형식으로 설정되어야 합니다.
  2. IAM 역할 부여
    연결된 Service Account에 roles/run.adminroles/iam.workloadIdentityUser 권한이 있어야 하며, 특히 후자는 OIDC 인증이 성공하려면 반드시 필요합니다.
  3. GitHub Actions 설정
    google-github-actions/auth 사용 시, token_format: 'access_token'으로 설정해야 하는 경우도 있습니다. Google Cloud Run은 실제 액세스 토큰을 요구하기 때문입니다. 따라서 다음처럼 수정해 보세요:

yaml

Copy

- name: 'Authenticate to Google Cloud'
  uses: 'google-github-actions/auth@v1'
  with:
    token_format: 'access_token'
    workload_identity_provider: 'projects/123456789012/locations/global/workloadIdentityPools/my-pool/providers/github'
    service_account: '[email protected]'
  1. 디버깅 팁
    google-github-actions/auth 단계 직후에 gcloud auth list 명령으로 현재 인증된 계정을 출력해보면 실제로 어떤 인증이 적용되었는지 확인할 수 있습니다.

이 설정들이 맞춰져 있으면, OIDC 기반 인증으로도 gcloud run deploy가 정상 작동해야 합니다.

1 Like