0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[GoogleCloud] App Engineのアクセス制限について

Last updated at Posted at 2022-07-29

はじめに

GoogleCloudに対してのIP開放したところ、思った箇所以外に変更が必要な箇所があり、App Engineに対するIPアドレス制限について記載する。

今回の問題が発生した構成

AppEngine_構成図.png

構成補足

  • サーバレスの構成でLB配下にCloudStorage、App Engine、CloudFunctionsをぶら下げている。
  • App Engine、CloudFunctionsに対するCloudArmorの設定は可能だが、CloudStorageに対するCloudArmorの適用はできない(※)。
  • LB配下にぶら下げたCloudStorageにコンテンツを配置した場合、アクセス制限をかけたかったので、リバプロとして動作させるApp Engineを作成し、間にかませる構成にし、App Engineに紐付けたCloudArmorでアクセス制限した。

※なお、2022/6にCloudStorageへのCloudArmorでのアクセス制限が可能になった!個人的にこのことがあったので熱いアプデ
https://cloud.google.com/blog/ja/products/identity-security/cloud-armor-adds-more-edge-security-policies-proxy-load-balancers

発生した事象

事象内容

App Engineに紐付いているCloudArmorにてIPアドレスを許可しても、アクセス可能にならなかった

一次対応を受けて調査

  • LBのログの出力内容確認(500エラーであることしか記録されず、、、)
  • CloudArmorのルール制限に抵触していないか確認するも抵触していない(※1)
  • CloudArmorがちゃんと適用されていないのでは?と思い、新たにCloudArmorを作成し、同じルールで適用するもNG

※1 https://cloud.google.com/armor/quotas?hl=ja#limits

ここでの中間の感想

  • 他に思い当たる制限箇所もこの時ありませんでしたので、問い合わせることに

サポートからの回答

  • App Engineのファイアウォールによりアクセス制限されており、そこで対象IPアドレスを許可してください。

回答を受けての調査

  • App Engineの画面を開いたところ、App Engineの設定にFW設定があり、そこでIPアドレス制限がされていました

原因

  • App Engineのサービス自体でFW機能があり、そこでIP制限しており、CloudArmorでも制限しており、2箇所でIPアドレス制限をしていた。

対応

Ingress設定

すべてのトラフィックを許可する設定になっていたが、LB経由ないし内部トラフィックのみに制限した(App Engine側で制御するなら変えなくてもよかったと思います)。
スクリーンショット 2022-07-29 19.33.27.png

ファイアウォールルール設定

App Engineのファイアウォールでの制限はせずに基本的にすべて許可とした。

App Engineが関連するIP制限まとめ

  • CloudArmor
    • 今やLBにぶら下がる、CloudStorage、CDNに対しても制限可能であり、App Engine、Cloud Run、Cloud Functionsなど(サーバーレス ネットワーク エンドポイント グループ)に対してWAF機能を提供することができる
  • App EngineのINGRESS設定
    • ここはIP制限とは少し違うがパブリックで受けるのかLB経由のみ受けるのか、内部通信のみ受けるのか、を選択することが可能
  • App Engineのファイアウォール
    • App Engineに対するアクセス制限をIPアドレスですることが可能

感想

AWSのEC2でいうと、ただOS上のfirewalldで制限してて、インスタンスのSGでIP許可しても駄目だったみたいな感じと思うと情けないです。。
近々App EngineをやめてCloudStorageに対してCloudArmorをかけるかたちに変えたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?