> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Guard API リファレンス

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




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

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

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

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

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

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

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

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

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

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

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

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

[マイクロサービス紹介 / GS2-Guard](../../microservices/guard)



- [GS2-Guard Deploy/CDK リファレンス](/ja/api_reference/guard/deploy/)
  
- [GS2-Guard SDK API リファレンス](/ja/api_reference/guard/sdk/)
  
