どうもこんにちは
クラウドエースの妹尾です。

今回は 2025 年 4 月 7 日に Cloud Run に新たな認証レイヤーが追加されたので紹介していきます!

https://cloud.google.com/run/docs/securing/identity-aware-proxy-cloud-run

IAP for Cloud Run

今回追加されたのは Identity-Aware Proxy for Cloud Run という機能です。

今まで Identity-Aware Proxy (以下 IAP) を利用するには、Cloud Load Balancing を構成しなければならなかったのが、Cloud Run 単体で実現できるようになりました。
「簡単にサービス作って、社内や身内にだけ公開したいんだけど……」といったケースで威力を発揮します。

お手軽に使いたい Cloud Run だけど、限定公開するには LB も証明書も NEG も必要になっちゃうな……という悩みからこれで解放されます。
似た悩みをお持ちだった方もいらっしゃるのではないでしょうか。

つかいかた

使い方はとても簡単、機能を有効化して権限を設定するだけです。

機能の有効化

コンソールの場合はチェックボックスを ON にします。
ポリシーの編集は今は無視で構いません。使い方は後述します

CLI の場合は以下の記述を追加しましょう。

gcloud beta run deploy ... --iap

既存のサービスを変更することも可能です。

また、今まであった Cloud IAM を利用した認証も同時に利用できます。
この場合、リクエストは IAP -> IAM の順番で処理されます。

権限を設定

あとは、お好みのスコープで権限を渡しましょう。

記事公開時点でまだ GUI が対応していませんので、CLI で以下の通りに設定しましょう。
ユーザ名、サービス名、リージョンについてはお使いの環境に合わせて設定を変えてください。

gcloud beta iap web add-iam-policy-binding \
  --resource-type=cloud-run \
  --role=roles/iap.httpsResourceAccessor \
  --member=user:seno@cloud-ace.jp \
  --region us-central1 \
  --service=hello

プロジェクトレベルで権限を渡すこともできますが、同じプロジェクトの Cloud Run サービス全てに対して権限が渡ってしまいますのでよく考えて使いましょう。

なお、ここで許可したポリシーはサービスを削除すると連動して消えます。安心ですね!

Access Context Manager 連動

Access Context Manager と連動して更に独自の制限を追加できます。

機能の有効化の下にあった「ポリシーの編集」から設定済みの Access Context Manager アクセスレベルを指定することで動作します。
追加することで更に IP 制限をかけたり、社給端末からしかアクセスできないといった追加の制限をかけることも可能です。

例えば以下のような設定があれば、社内のプロキシサーバである 198.51.100.46 からの通信のみ許可できます。

他に指定できる値や詳しい設定方法については、公式ドキュメントを参照ください。

https://cloud.google.com/access-context-manager/docs/overview?hl=ja#access-levels

注意点

注意点として、以下の制限があります。

  • プロジェクトが組織下にないと使えない
  • ジョブにはまだ非対応
  • Pub/Sub 等の別サービスと連携する際は使えないケースがある

特に組織下にないと使えない所は個人で利用している方には大きな制限となってしまいます。
Pub/Sub 等の制限については、Cloud Run を呼び出すサービスアカウントが「IAP で保護されたウェブアプリユーザー」の権限を持っていればアクセスが可能です。

まとめ

今回のアップデートは、これまで以上に手軽にアプリケーションの認証機能を実装できるようになった、非常に大きなものと言えるでしょう。
まだいくつか制限はあるものの、これからその制限が無くなって更に使いやすくなっていくのではないでしょうか。

ますます期待の高まる Cloud Run 、これからもたくさん使っていきたいですね!

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link