【AI Studio豆知識】Cloud RunのWebアプリをIAP(Googleログイン)で安全に保護する方法

皆さん、こんにちは。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を有効にする」ボタンを押します。 APIの有効化

手順4. 当該サービスのIAPを有効にする

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

手順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の「セキュリティ」タブ >「認証」から、以下の①②を実施してください。

  1. IAPを一度無効化する 「公開アクセスを許可する」にチェック後、「保存」ボタンを押し、IAPを無効化します。
  2. 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ちゃんねる)はこちら

【 セキュリティ穴についてokamo補足】

今回記事で説明しているのは「A. ロードバランサー連携型 (外部ALB + IAP)」でなく、「B. Cloud Run 直接適用型 (IAP for Cloud Run)」です。記事ではBを説明していますが、クロード辛口エンジニアの「セキュリティの穴」指摘は、Aの構成を想定した指摘かもしれません。(Bは最近の機能なのでクロードが知らない可能性大)

AとBの詳細について、以下の記事が参考になりました。本件を深く理解したい方は是非、以下の記事もご覧下さい。

Cloud Runのアクセス制御を完全理解する(Ingress / IAM / Cloud Armor / IAP)