GS2-Guard API リファレンス

チート対策・WAF・ブロッキングポリシー機能

不正アクセスからゲームを守る仕組みを提供します。

GS2-Guard のネームスペースには BlockingPolicyModel を1つ設定でき、ここにアクセス制御のルールを記述します。
GS2の各マイクロサービスのネームスペースから、対象の GS2-Guard ネームスペースを参照することで、そのマイクロサービスへの API リクエストにブロッキングポリシーが適用されます。

判定はすべてリクエストの接続元IPアドレスと地域に基づいて行われ、5種類の検出条件が用意されています。

  1. 接続元の国・地域による制限 (locationDetection) locations に対象の国・地域を列挙し、一致したアクセスを許可するか拒否するかを locationRestriction で選択します。

  2. 匿名IP (Tor や VPN など) による制限 (anonymousIpDetection)

  3. ホスティング事業者のIPによる制限 (hostingProviderIpDetection)

  4. レピュテーションの低いIPによる制限 (reputationIpDetection)

2〜4 は一致したアクセスを拒否する用途に限られ、これらを許可する設定は存在しません。

  1. IPアドレス指定による制限 (ipAddressesDetection) ipAddresses に対象のIPアドレスを列挙し、一致したアクセスを許可するか拒否するかを ipAddressRestriction で選択します。

各検出条件 (Detection) は「無効」「有効」のいずれかを取り、既定ではすべて「無効」です。
検出条件が有効な場合にかぎり、対応する制限 (Restriction) が適用されます。

いずれの検出条件にも一致しなかったアクセスの扱いは defaultRestriction で決まり、既定は「許可」です。
defaultRestriction を「許可」にしたうえで個別の判定条件で「拒否」を組み合わせることで、ブラックリスト型のポリシーを構築できます。
逆に defaultRestriction を「拒否」にしたうえで locationsipAddresses を「許可」に設定して例外を認めることで、ホワイトリスト型のポリシーを構築できます。
passServices には、GS2-Account や GS2-Auth など、ブロッキングポリシーを適用しないマイクロサービスを指定できます。

GS2-Guard は単独で使用するサービスではなく、他のマイクロサービスのネームスペースから参照されて初めて効果を発揮します。


GS2-Guard SDK API リファレンス

各種プログラミング言語向け GS2-Guard SDK の モデルの仕様 と API のリファレンス

GS2-Guard Deploy/CDK リファレンス

GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例