View a markdown version of this page

GAMESEC03-BP02 Authentifiziere Anfragen, die an den Backend-Dienst deines Spiels gesendet werden - Linse für die Spieleindustrie

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

GAMESEC03-BP02 Authentifiziere Anfragen, die an den Backend-Dienst deines Spiels gesendet werden

Durch die Authentifizierung von Anfragen, die an deinen Spiele-Backend-Dienst gesendet werden, kann verhindert werden, dass unerwünschte Anfragen erfolgreich sind.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Hoch

Implementierungsleitfaden

Du solltest Spielern einen Authentifizierungsdienst zur Verfügung stellen, der sichere, kurzlebige Token, wie z. B. ein JSON Web Token (JWT), an den Spielclient zurückgibt, wenn sich ein Spieler erfolgreich authentifiziert hat.

Diese Token können Behauptungen enthalten, die Spielerattribute und andere relevante Metadaten enthalten. Diese relevanten Metadaten können in nachfolgenden Anfragen verwendet werden, die vom Spielclient an dein Spiel-Backend gesendet werden, um Anfragen zu authentifizieren und sie im Kontext des authentifizierten Spielers zu autorisieren. 

Sie haben die Wahl, entweder Ihr eigenes Spielerauthentifizierungssystem zu entwerfen und aufzubauen, was eine kontinuierliche Verbesserung und Wartung erfordern würde, oder Sie können die skalierbaren und sicheren Funktionen für die Benutzerregistrierung, Anmeldung und Zugriffskontrolle verwenden, die von Amazon Cognito bereitgestellt werden.

Amazon Cognito Cognito-Benutzerpools enthalten ein Benutzerverzeichnis für Authentifizierung und Autorisierung. Ein Benutzerpool bietet APIs die Möglichkeit, Workflows für die Registrierung, Anmeldung und das Zurücksetzen von Passwörtern in Ihr Spiel zu integrieren. Diese können mit Identitätsanbietern von Drittanbietern integriert werden. Application Load Balancers und Amazon API Gateway bieten beide Integrationen mit Cognito, um die Benutzerauthentifizierung für Anfragen zu integrieren, die an Ihre benutzerdefinierten Spiele-Backends gesendet werden, die mit diesen Services gehostet werden.

Wenn Ihr Spiel anonymen Zugriff unterstützt und Sie einen Spieler nicht authentifizieren können, können Sie einen Client-Authentifizierungsansatz verwenden, um bei der Integration in Ihr Spiel-Backend ein sichereres Erlebnis zu bieten. Wenn dein Spielclient AWS Dienste direkt nutzt, müssen Anfragen an diese Dienste mit Anmeldeinformationen signiert werden. Um Anmeldeinformationen für Ihren Spieleclient für nicht authentifizierte Benutzer bereitzustellen, können Sie das AWS SDK verwenden, um kurzlebige Anmeldeinformationen aus Amazon Cognito Cognito-Identitätspools abzurufen, mit denen Sie Ihre Anfragen an Dienste signieren können. AWS Diese Anmeldeinformationen können von Ihrem Spielclient aus aktualisiert werden. 

Neben der direkten Integration in das AWS SDK über den Spielclient können Sie auch Ihr eigenes Spiel-Backend erstellen, indem Sie einen Dienst wie Amazon API Gateway verwenden, der benutzerdefinierte Autorisierung unterstützt. Indem Sie Ihren eigenen Backend-Service für Spiele entwerfen, können Sie mit benutzerdefinierter serverseitiger Logik die maßgebliche Kontrolle über Anfragen erlangen. 

Weitere Informationen zum Aufbau eines Backend-Service für Spiele, die über Amazon gehostet werden GameLift, finden Sie unter Gestalten Sie Ihren Spieleclient-Service.

Kundenbeispiel

AnyCompany Spiele haben die Sicherheit ihres nächsten Titels durch die Einführung eines verwalteten Authentifizierungs- und Autorisierungsansatzes verbessert. Anstatt ein benutzerdefiniertes System mit Benutzernamen und Passwörtern beizubehalten, nutzten sie Amazon Cognito Cognito-Benutzerpools, um die Registrierung und Anmeldung von Spielern zu verwalten, und Identitätspools, um den anonymen Zugriff für Spieler zu ermöglichen, die den Trainingsmodus ausprobieren, bevor sie ein Konto erstellen. Sie haben auch eine benutzerdefinierte Autorisierungslogik innerhalb des Spiels implementiert, um in Cognito definierte Administratorrollen zu erkennen und diesen Benutzern Zugriff auf spezielle Verwaltungsfunktionen im Spiel zu gewähren.

Implementierungsschritte

  • Verwenden Sie Amazon Cognito Cognito-Benutzerpools, um die Authentifizierung mit sicheren Token zu verwalten und Funktionen wie Registrierung JWTs, Anmeldung und Kennwortzurücksetzung zu aktivieren.

  • Rufen Sie kurzlebige Anmeldeinformationen aus Amazon Cognito Cognito-Identitätspools ab, damit anonyme Benutzer sicher mit AWS Diensten interagieren können.

  • Implementieren Sie benutzerdefinierte Spiele-Backends mithilfe von Amazon API Gateway für eine benutzerdefinierte serverseitige Authentifizierungslogik.