弊社のとあるプロジェクトでは以下の図ような構成でプロダクトを開発しています。(とても簡略化しています) フロントエンドからGraphQLを利用する場合には、Next.jsのMiddlewareを用いてバックエンド(GraphQL Server)との通信をプロキシさせています。 バックエンドはフロントエンドとは別のCloud Runで動作していますが、 Cloud Runのデプロイ時に --no-allow-unauthenticated フラグを付与し、認証を必要にしているといった構成になります。 このフラグを付与することでバックエンド用のCloud Runに対するroles/run.invokerロールを付与したサービスアカウントで認証することでしかバックエンド用のCloud Runと通信できないようにすることが可能となり、セキュリティを向上させることができます。 今回Middlewar