created: 2022-02-15T05:02:53.000Z

Cloud Function の `oidc-service-account-email` が必要とするService Account のロール

きちんと調べずに使っていたのでメモ

Cloud Function は public アクセスを許可しないで、サービスアカウントからのアクセスのみ許可する設定ができる。 具体的には --allow-unauthenticated=false として関数をデプロイすると認証が必要になる。

認証が必要になっている関数にアクセスするには Open ID Connect で発行したトークンが必要になるが、Cloud Task などで関数にリクエストさせる場合は --oidc-service-account-email オプションなどをつけて、「どのサービスアカウントで関数にアクセスするか」を指示する必要がある。

もちろん指定するサービスアカウントはなんでもいいわけではなくて、function.invoker ロールがついている必要がある。

参考

勉強が一番、簡単でした 読んだら誰でも勉強したくなる奇跡の物語
[ad] 勉強が一番、簡単でした 読んだら誰でも勉強したくなる奇跡の物語
チャン・スンス, 吉川 南 (単行本(ソフトカバー))