GS2-Guard SDK API リファレンス
各種プログラミング言語向け GS2-Guard SDK の モデルの仕様 と API のリファレンス
不正アクセスからゲームを守る仕組みを提供します。
GS2-Guard のネームスペースには BlockingPolicyModel を1つ設定でき、ここにアクセス制御のルールを記述します。
GS2の各マイクロサービスのネームスペースから、対象の GS2-Guard ネームスペースを参照することで、そのマイクロサービスへの API リクエストにブロッキングポリシーが適用されます。
判定はすべてリクエストの接続元IPアドレスと地域に基づいて行われ、5種類の検出条件が用意されています。
接続元の国・地域による制限 (locationDetection)
locations に対象の国・地域を列挙し、一致したアクセスを許可するか拒否するかを locationRestriction で選択します。
匿名IP (Tor や VPN など) による制限 (anonymousIpDetection)
ホスティング事業者のIPによる制限 (hostingProviderIpDetection)
レピュテーションの低いIPによる制限 (reputationIpDetection)
2〜4 は一致したアクセスを拒否する用途に限られ、これらを許可する設定は存在しません。
ipAddressesDetection)
ipAddresses に対象のIPアドレスを列挙し、一致したアクセスを許可するか拒否するかを ipAddressRestriction で選択します。各検出条件 (Detection) は「無効」「有効」のいずれかを取り、既定ではすべて「無効」です。
検出条件が有効な場合にかぎり、対応する制限 (Restriction) が適用されます。
いずれの検出条件にも一致しなかったアクセスの扱いは defaultRestriction で決まり、既定は「許可」です。defaultRestriction を「許可」にしたうえで個別の判定条件で「拒否」を組み合わせることで、ブラックリスト型のポリシーを構築できます。
逆に defaultRestriction を「拒否」にしたうえで locations や ipAddresses を「許可」に設定して例外を認めることで、ホワイトリスト型のポリシーを構築できます。passServices には、GS2-Account や GS2-Auth など、ブロッキングポリシーを適用しないマイクロサービスを指定できます。
GS2-Guard は単独で使用するサービスではなく、他のマイクロサービスのネームスペースから参照されて初めて効果を発揮します。
各種プログラミング言語向け GS2-Guard SDK の モデルの仕様 と API のリファレンス
GS2-Deployのスタックを作成する際に使用するテンプレートのフォーマットと、CDKによる各種言語のテンプレート出力の実装例