はじめに
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点設定する。
CloudLoadBalancing
IAPを有効化する
IAPの画面から対象のリソースで有効化します。
対象リソース(LB)配下のバックエンド側でIAPを受け入れる準備ができていない場合、
先にIAPを有効化しても、しばらく、想定動作にならないため、先にバックエンド側を整わせたほうがスムースです。
注意事項
OAuthの同意が終わっていない場合、同意しておく必要があります。
https://cloud.google.com/iap/docs/enabling-compute-howto?hl=ja#oauth-configure
認証で利用するIAMに権限をつける
IAMの画面から認証で利用したい対象IAMで「IAP で保護されたウェブアプリ ユーザー」の権限をつける
結果確認
記事のお陰もあり、簡単にできました。
所感
認証って苦手意識を持っていましたが、IAPが優秀で認証の仕組みを簡単に準備できました。
色々と機能があると思うので、よくある他のIAPも試してみようかなと思いました。
手順参考