ブログ | XIMIX

CloudRunでロードバランサを利用せずIAPを直接設定する方法

作成者: XIMIX 北脇|2025.09.26

はじめに

Google Cloudが提供するCloud Runは、コンテナ化されたアプリケーションをサーバーレスで実行できるコンピューティングサービスです。一方、Identity-Aware Proxy(IAP)は、Webアプリケーションやクラウドリソースに対してアプリケーションレベルの認証機能を提供するセキュリティサービスです。IAPを利用することで、特定のIAMロールを持つ組織内のGoogleアカウントやグループにのみ、リソースへのアクセスを制限することができます。
本記事では、2025年9月現在プレビュー版 (Pre-GA) として提供されている、Cloud RunサービスにIAPを直接構成する新しい方法について、その概要と具体的な実施手順を解説します。

従来のIAP構成とその課題

ロードバランサを使用する従来の構成

従来、Cloud RunサービスでIAPを使ったアクセス制御を行う方法は、ロードバランサを使用する方法が一般的でした。この方法では、Cloud Runサービスの前段にアプリケーションロードバランサを作成し、そのロードバランサに対してIAPを構成することで、特定のGoogleアカウントを持つユーザーのみがCloud Run上のアプリケーションにアクセスできるように設定します。

ロードバランサ、IAP、Cloud Runの構成例は下記になります。

しかし、ロードバランサの設定や固定IPアドレスの設定が必要など設定が複雑になったり、固定IPやロードバランサ分の料金が常時必要になってきてしまうデメリットがありました。

今回紹介する構成方法はこういった課題を解決する、ロードバランサを利用しない構成についてご紹介します。

Cloud Crun+IAPの直接構成の実施手順

具体的な構成図は下記になります。

設定はCloud Runのみで設定可能です。
また、制限事項として下記があります。

  • プロジェクトが組織内に存在している必要がある
  • IDが同じ組織内のものである必要がある
  • ロードバランサとCloud Runサービスの両方でIAPを構成することはできない
  • IAPが有効になっている場合、Pub/Subなどの一部の統合が機能しないことがある

特にプロジェクトが組織内に存在する必要があるため、プロジェクトを作成する際は注意をしてください。

次に具体的な実行手順を記載します。

実行手順(構築手順)

①GoogleCloudのコンソールにログイン

②検索窓から「Cloud Run」を選択し、Cloud Runを開く

③「コンテナをデプロイ」をクリック

④今回はでもコンテナとして用意されている「hello」を利用します。

⑤認証には「認証が必要」を選択してください。
この時、「Idedntity-AwareProxy」のチェックボックスを追加してください。この設定によりIAPの設定が可能になります。

⑥設定が完了したら「作成」のボタンを押して初期設定を完了しましょう

⑦設定完了後セキュリティを確認し、IAPのチェックボックスがオンになっていることを確認してください

実行手順(ブラウザからCloud Runへのアクセス手順)

それでは実際にアカウントからアクセスしましょう。

①アクセスが必要なユーザーまたはグループに対して「IAPで保護されたウェブアプリユーザー」の権限を付与します

②Cloud Runのコンソールからアクセス先のURLを取得

②で取得したURLに遷移

 

 

Googleのログイン画面が表示されるようになります。試しに権限がないアカウントでログインしてみましょう。
下記エラー画面が表示されたかと思います。

次にIAMで設定した「IAPで保護されたウェブアプリユーザー」の権限を付与されたユーザーまたはグループに所属しているユーザーでアクセスしてみましょう。

問題なくアクセスができてデモでデプロイした内容が表示されていることを確認できました!

終わりに

本記事では、Cloud RunにIAPを直接構成する方法について、概要から実践手順まで解説しました。従来のロードバランサを経由した煩雑な構成に比べ、今回ご紹介した手法はシンプルかつコスト効率良く、セキュリティレベルを高く維持しながら柔軟なアクセス制御を実現できることがご理解いただけたかと思います。

現時点ではプレビュー版の機能ですが、一般提供(GA)となった際には本記事がすぐに実運用に活用できれば幸いです。