皆さん、こんにちは。okamoです。
以前の記事【実録】Firebase StudioからGoogle AI Studioへ移行してみた!手順と注意点を徹底解説にて、Google AI Studioから「Publish app」ボタンを押すと、「Cloud Run」のサービスが立ち上がることを説明しました。
今回は「Cloud Run」のWEBアプリをGoogleログイン画面で保護するためのGCPコンソールでの手順を説明します。
想定しているユースケース
本記事は、以下のような状況でお困りの方に特におすすめです。
- 非エンジニアがGoogle AI Studioで社内向けアプリを作成した。
- 作成したアプリを「Publish app」ボタンで公開したいが、セキュリティが心配。
- GCPから手軽に「Googleログイン画面でアプリを保護」したい。(本記事の手順)
- 非エンジニアが作成したアプリでも、Googleログイン画面で保護されているので、第三者からはみれない→安心。
本記事の設定の前提条件
今回は以下の環境を例に手順を解説します。ご自身の環境に置き換えて進めてください。
- 対象ページ:
https://test.okamomedia.tokyo/ - Cloud Runのサービス:
studio-249256894 - アクセスを許可するGoogleユーザー:
okamomedia@gmail.com
設定手順:Cloud RunアプリをIAPで保護する
ここからは実際の画面を見ながら設定を進めていきましょう。
手順1. GCPコンソールにログイン
まずは、Google Cloud(GCP)コンソールにログインし、対象のプロジェクトを開きます。
手順2. Identity-Aware Proxyにアクセス
検索窓に「identity aware」と入力し、「Identity-Aware Proxy」にアクセスします。
手順3. APIを有効にする
はじめてアクセスする場合は、「APIを有効にする」ボタンを押します。

手順4. 当該サービスのIAPを有効にする
リストから対象サービス(今回はstudio-249256894)のIAPを有効にします。

手順5. プリンシパルの追加
対象サービスのチェックボックスにチェックを入れ、右側のパネルから「プリンシパルを追加」をクリックします。

手順6. 許可するGoogleユーザーを入力
アクセスを許可するGoogleユーザーのメールアドレスを入力します。

手順7. ロールの選択
「ロールを選択」をクリックし、フィルタに「iap web」と入力し、「IAP-secured Web App User」を選択します。

手順8. 設定を保存
「保存」をクリックします。

※補足コメント: 変更が有効になるまで数分かかる場合があります。少し時間をおいてから確認してください。
手順9. トラブルシューティング(OAuthエラーへの対応)
対象ページにアクセスした際、「Empty Google Account OAuth client ID(s)/secret(s).」というエラーが表示される場合があります。
その場合は、Cloud Runの「セキュリティ」タブ >「認証」から、以下の①②を実施してください。
- IAPを一度無効化する 「公開アクセスを許可する」にチェック後、「保存」ボタンを押し、IAPを無効化します。
- IAPを再度有効化する 「認証が必要」にチェック後、「Identity and Access Management(IAM)」と「Identity-Aware Proxy(IAP)」の両方にチェックをいれ、「保存」ボタンを押します。

※補足コメント: 私の場合、上記①②の操作により、IAP用のOAuth client IDが自動生成され、無事にエラーが解消されました。
手順10. ログイン画面の確認
エラーが解消された状態で対象ページにアクセスすると、無事にGoogleのログイン画面が表示されます。

手順11. 許可されたユーザーでのアクセス
手順6で許可設定したGoogleユーザーでログインすると、WEBアプリが正常に表示されます。

まとめ
本件、GCPコンソールから簡単に設定できますが、「意外に知られてないかも。。」と感じましたので、記事を追加しました。
Google AI Studioから「Publish app」ボタンで手軽に公開できる反面、セキュリティ面のリスクがあるので公開は怖い。。という方のお役に立てば幸いです。
【2026/4/14 追記】okamoちゃんねる レビュー
この手順について、3人のAIがそれぞれの視点で評価しました。
手軽な「ボタンポチポチ手順」に対して、専門家AI(クロード)から「セキュリティに穴がある!」と猛烈なツッコミが……。
興味がある方は以下スレッドをご覧下さい。
【 セキュリティ穴についてokamo補足】
今回記事で説明しているのは「A. ロードバランサー連携型 (外部ALB + IAP)」でなく、「B. Cloud Run 直接適用型 (IAP for Cloud Run)」です。記事ではBを説明していますが、クロード辛口エンジニアの「セキュリティの穴」指摘は、Aの構成を想定した指摘かもしれません。(Bは最近の機能なのでクロードが知らない可能性大)
AとBの詳細について、以下の記事が参考になりました。本件を深く理解したい方は是非、以下の記事もご覧下さい。