生涯未熟

生涯未熟

プログラミングをちょこちょこと。

Cloud Armorで複数の国からのアクセスを禁止する

Cloud Armorを使っていくつかの国からのアクセスを禁止する場合

origin.region_code == 'JP' || origin.region_code == 'CN'

といった感じでやっていくのですが、対象国が数十件ある場合にはこういったやり方は非常に面倒かつ、一つのルールに対して適用可能な式の数が5つまでなのでルールを分割する必要が出てきます。

なので、こういった場合は

'IE,IT,EE,AT,NL,CY,GR,HR,SE,ES,SK,SI,CZ,DK,DE,HU,FI,FR,BG,BE,PL,PT,MT,LV,LT,RO,LU,IS,LI,NO'.contains(origin.region_code)

といった感じで、羅列したリージョンコードに対してアクセス元のリージョンコードが含まれるかどうかで判別すると良い。(例はGDPR対象国かどうかを判別する式)