기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
게임 백엔드 서비스로 전송되는 GAMESEC03-BP02 인증 요청
게임 백엔드 서비스로 전송되는 요청을 인증하면 원치 않는 요청이 성공하지 못할 수 있습니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음
구현 지침
플레이어가 로그인할 수 있도록 인증 서비스를 제공해야 합니다.이 서비스는 플레이어가 성공적으로 인증할 때 JSON 웹 토큰(JWT)과 같은 수명이 짧은 보안 토큰을 게임 클라이언트에 반환해야 합니다.
이러한 토큰에는 플레이어 속성 및 기타 관련 메타데이터가 포함된 클레임 어설션이 포함될 수 있습니다. 이 관련 메타데이터는 게임 클라이언트에서 게임 백엔드로 전송되는 후속 요청에 사용하여 요청을 인증하고 인증된 플레이어의 컨텍스트에서 권한을 부여할 수 있습니다.
지속적인 개선 및 유지 관리가 필요한 자체 플레이어 인증 시스템을 설계 및 빌드하거나 Amazon Cognito
Amazon Cognito 사용자 풀에는 인증 및 권한 부여를 위한 사용자 디렉터리가 포함되어 있습니다. 사용자 풀은 타사 자격 증명 공급자와 통합할 수 있는 가입, 로그인 및 암호 재설정 워크플로를 위해 게임에 통합할 수 있는 APIs를 제공합니다. Application Load Balancer 및 Amazon API Gateway는 모두 Cognito와의 통합을 제공하여 이러한 서비스로 호스팅되는 사용자 지정 게임 백엔드로 전송된 요청에 대한 사용자 인증을 통합합니다.
게임이 익명 액세스를 지원하고 플레이어를 인증할 수 없는 경우 클라이언트 인증 접근 방식을 사용하여 게임 백엔드와 통합할 때 더 안전한 환경을 제공할 수 있습니다. 게임 클라이언트가 AWS 서비스를 직접 사용하는 경우 자격 증명을 사용하여 이러한 서비스에 대한 요청에 서명해야 합니다. 인증되지 않은 사용자에게 게임 클라이언트에 자격 증명을 제공하려면 SDK를 AWS 사용하여 AWS 서비스에 대한 요청에 서명 하는 데 사용할 수 있는 Amazon Cognito 자격 증명 풀에서 수명이 짧은 자격 증명을 검색할 수 있습니다. 이러한 자격 증명은 게임 클라이언트에서 새로 고칠 수 있습니다.
게임 클라이언트의 AWS SDK와 직접 통합하는 것 외에도 사용자 지정 권한 부여를 지원하는 Amazon API Gateway
Amazon GameLift를 사용하여 호스팅되는 게임을 위한 백엔드 서비스를 구축하는 방법에 대한 자세한 내용은 게임 클라이언트 서비스 설계를 참조하세요.
고객 사례
AnyCompany Games는 관리형 인증 및 권한 부여 접근 방식을 채택하여 다음 제목의 보안을 강화했습니다. 사용자 지정 사용자 이름과 암호 시스템을 유지하는 대신 Amazon Cognito 사용자 풀을 사용하여 플레이어 가입 및 로그인을 처리하고 자격 증명 풀을 사용하여 계정을 생성하기 전에 훈련 모드를 시도하는 플레이어의 익명 액세스를 지원했습니다. 또한 Cognito에 정의된 관리자 역할을 인식하여 해당 사용자에게 게임 내 특수 관리 기능에 대한 액세스 권한을 부여하기 위해 게임 내에 사용자 지정 권한 부여 로직을 구현했습니다.
구현 단계
-
Amazon Cognito 사용자 풀을 사용하여 JWTs와 같은 보안 토큰으로 인증을 관리하여 가입, 로그인 및 암호 재설정과 같은 기능을 활성화합니다.
-
익명 사용자가 AWS 서비스와 안전하게 상호 작용할 수 있도록 Amazon Cognito 자격 증명 풀에서 수명이 짧은 자격 증명을 검색합니다.
-
사용자 지정 서버 측 인증 로직을 위해 Amazon API Gateway를 사용하여 사용자 지정 게임 백엔드를 구현합니다.