Google Cloud Run에 OIDC를 통해 배포하려면 몇 가지 전제 조건을 정확히 맞춰야 합니다:
- Workload Identity Federation 설정 확인
Google Cloud 콘솔에서 Workload Identity Pool과 Provider가 정확히 설정되어 있어야 하며, GitHub의 OIDC 토큰을 받아들이도록 provider의 audience가https://github.com/{owner}
형식으로 설정되어야 합니다. - IAM 역할 부여
연결된 Service Account에roles/run.admin
및roles/iam.workloadIdentityUser
권한이 있어야 하며, 특히 후자는 OIDC 인증이 성공하려면 반드시 필요합니다. - 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]'
- 디버깅 팁
google-github-actions/auth
단계 직후에gcloud auth list
명령으로 현재 인증된 계정을 출력해보면 실제로 어떤 인증이 적용되었는지 확인할 수 있습니다.
이 설정들이 맞춰져 있으면, OIDC 기반 인증으로도 gcloud run deploy
가 정상 작동해야 합니다.