> 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 레퍼런스](/ko/api_reference/guard/deploy/)
  
- [GS2-Guard SDK API 레퍼런스](/ko/api_reference/guard/sdk/)
  
