Cloud Functionsを検証するときに起きた問題。
専用サービスアカウントを指定し、Pub/Sub トリガーのCloud Functions(第2世代)
トピックにメッセージをパブリッシュすると、Cloud Functionsのログにこういうエラーが出ました。
"The request was not authenticated. Either allow unauthenticated invocations or set the proper Authorization header. Read more at https://cloud.google.com/run/docs/securing/authenticating Additional troubleshooting documentation can be found at: https://cloud.google.com/run/docs/troubleshooting#unauthorized-client"
解決策として、Cloud Functionsのサービスアカウントに関数の実行権限を付与する
gcloud functions add-invoker-policy-binding FUNCTION_NAME \
--region=REGIN \
--member=SERVICE_ACCOUNT