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를 이용한 각종 언어의 템플릿 출력 구현 예제