はじめに

CloudRunで構えるAPIのセキュリティを強固にするために
何が出来るか考えて、その一環でやってみました。

補足

PublicPreviewの機能になるため、GA後には最新情報をご確認ください。

IAPによるWebアクセス制御とは

GoogleCloudの機能でGoogleのIAMを利用した認証が実装できる機能です。
https://cloud.google.com/blog/ja/products/gcp/control-access-your-web-sites-identity-aware-proxy

実施する

CloudRun

対象のサービスを選択して、以下2点設定する。

  • 内部トラフィックとCLBからのトラフィックを許可する
  • トリガーの認証にて「認証が必要」を選択する

CloudLoadBalancing

HTTPSの口を用意する

IAPを有効化する

IAPの画面から対象のリソースで有効化します。
対象リソース(LB)配下のバックエンド側でIAPを受け入れる準備ができていない場合、
先にIAPを有効化しても、しばらく、想定動作にならないため、先にバックエンド側を整わせたほうがスムースです。

注意事項

OAuthの同意が終わっていない場合、同意しておく必要があります。
https://cloud.google.com/iap/docs/enabling-compute-howto?hl=ja#oauth-configure

認証で利用するIAMに権限をつける

IAMの画面から認証で利用したい対象IAMで「IAP で保護されたウェブアプリ ユーザー」の権限をつける

結果確認

対象URLにアクセスすると認証がでてくるようになる。

記事のお陰もあり、簡単にできました。

所感

認証って苦手意識を持っていましたが、IAPが優秀で認証の仕組みを簡単に準備できました。
色々と機能があると思うので、よくある他のIAPも試してみようかなと思いました。

手順参考

元記事はこちら

IAPを有効にしたCloudRunにアクセスする
著者:@hirosait


アイレットなら、Google Cloud で稼働するサーバーを対象とした監視・運用・保守における煩わしい作業すべてを一括して対応し、経験豊富なプロフェッショナルが最適なシステム環境を実現いたします。Google Cloud プレミアサービスパートナーであるアイレットに、ぜひお任せください。

Google Cloud サーバー監視・運用サービスページ:
https://cloudpack.jp/service/gcp/maintenance.html

その他のサービスについてのお問合せ、お見積り依頼は下記フォームよりお気軽にご相談ください。
https://www.iret.co.jp/contact/service/form/