こんにちは!開発エンジニアのクリスです!
社内ツールや限定公開のWebアプリを作るとき、一番「あぁ、面倒だな…」と感じる工程は何でしょうか?そう、「認証(Authentication)」ですよね。
これまで Cloud Run で Identity-Aware Proxy (IAP) を利用するには、前段に外部 HTTP(S) 負荷分散(Load Balancer)を置くのが必須でした。これが地味に手間だったんですよね。しかし、これからは負荷分散を介さずに Cloud Run へ直接 IAP を適用できるようになりました!
従来の「LB経由の構成」を詳しく知りたい方は、以下の公式ドキュメントが参考になります(がいかに大変かがわかります…)。
そもそも IAP (Identity-Aware Proxy) とは?
IAP は、Google Cloud のリソース(Cloud Run, App Engine, Compute Engine など)へのアクセスを制御するためのマネージドサービスです。
最大の特徴は、IP制限のような「ネットワークの場所」ではなく、「ユーザーの ID(Google アカウントなど)」と「コンテキスト(誰が、どんな状況で)」に基づいてアクセスを認可する点にあります。これにより、VPN を使わずに安全に社内アプリへアクセスさせる「ゼロトラスト」モデルを、驚くほど簡単に実現できるんです。
Cloud Run direct IAP は現在「プレビュー」段階
まず押さえておきたいのが、この Cloud Run への直接 IAP 統合機能は、現在 プレビュー(Preview) ステージにあるという点です。
今後、仕様が変更される可能性もあるため、本番環境への投入は慎重に検討する必要がありますが、開発環境や社内向けのプロトタイプであれば、今すぐ導入してその恩恵を受けるべき強力な機能だと言えます。
Google Cloud コンソールでの有効化手順
設定は拍子抜けするほど簡単です。以下の 3 ステップで完了します!
- Google Cloud コンソールで対象の Cloud Run サービスを選択。
- 「セキュリティ」タブをクリック。
- 「Identity-Aware Proxy (IAP)」 セクションのトグルをオンにする。
これだけで、アプリケーションの前に Google の認証画面が自動で差し込まれます。コードを 1 行も書かずに認証を実装できるのは、開発者として本当にありがたいですね。
特定のドメイン(会社ドメインなど)のみに制限する
IAP を有効にした後は、「誰にアクセスを許可するか」を設定しましょう。
例えば、「自社の社員(example.com のドメインを持つユーザー)だけ」に見せたい場合は、プリンシパルに自社のドメイン(example.comなど)指定し、ロールを割り当てるだけで OK です。
「OAuth 同意フロー(手動実装)」との比較
「Google ログインなら自分で実装できるよ」という方もいるかもしれませんが、Cloud Run IAP は運用面で圧倒的に優れています。比較表にまとめてみました。
| 機能 | OAuth 同意フロー (手動実装) | Cloud Run direct IAP |
|---|---|---|
| 実装場所 | アプリケーションコード内 | インフラ(Google Cloud)層 |
| 開発工数(コスト) | 数日〜(コード修正・テスト) | 数分(ポチッと設定のみ) |
| メンテナンス | ライブラリの更新などが必要 | Google がまるっと管理 |
| セキュリティ | 実装の品質に依存 | Google 標準のゼロトラスト |
まとめ
Cloud Run direct IAP の登場で、セキュアなアプリ公開のハードルがぐっと下がりました。
- インフラ設定だけで認証が完結する(No Code Security!)
- 会社ドメインなどで簡単にアクセス制限が可能
- Load Balancer 不要で構成がシンプルになり、コストも抑えられる
「管理画面を作りたいけど認証が面倒…」と後回しにしていたプロジェクトがあれば、ぜひこの機会に試してみてください!
参考ドキュメント: Cloud Run の IAP を構成する

