Open2

CloudRunのパブリックAPIをデプロイする設定

IssuyIssuy

通常のデプロイでは、リクエストしても403になる
これはCloudRunのセキュリティで「認証が必要」の設定になっているため

CloudRunのドキュメントには gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated のように --allow-unauthenticated を指定すれば良いと書かれている
https://cloud.google.com/run/docs/securing/managing-access?hl=ja#make-service-public

deploy-cloudrun のflagsでは実際に gcloud run deploy する時に指定するオプションの設定ができるため、ここに --allow-unauthenticated を指定する
https://github.com/google-github-actions/deploy-cloudrun?tab=readme-ov-file#user-content-flags

ただし、これだけでは認証の設定は変わらない
もう一度CloudRunのドキュメントをよく読むと、以下の記載がある

Cloud Run サービスで認証を構成するには、run.services.setIamPolicy 権限が必要です。この権限は、オーナーと Cloud Run 管理者の両方のロールに含まれています。ロールの一覧とそれに関連する権限については、Cloud Run IAM のロールをご覧ください。

なのでGitHub Actionsを実行するIAMに「Cloud Run 管理者」を設定する必要があった

deploy-cloudrun へのflagsの設定、IAMへの「Cloud Run 管理者」の設定によって以下の様に「未認証の呼び出しを許可」にすることができる