Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GAMESEC03-BP02 Mengautentikasi permintaan yang dikirim ke layanan backend game Anda
Permintaan otentikasi yang dikirim ke layanan backend game Anda dapat memblokir permintaan yang tidak diinginkan agar tidak berhasil.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
Anda harus menyediakan layanan otentikasi bagi pemain untuk masuk, yang harus mengembalikan token berumur pendek yang aman, seperti Token Web JSON (JWT), ke klien game ketika pemain berhasil mengotentikasi.
Token ini dapat mencakup pernyataan klaim yang berisi atribut pemain dan metadata relevan lainnya. Metadata yang relevan ini dapat digunakan dalam permintaan berikutnya yang dikirim dari klien game ke backend game Anda untuk mengotentikasi permintaan dan mengizinkannya dalam konteks pemain yang diautentikasi.
Anda memiliki opsi untuk merancang dan membangun sistem otentikasi pemain Anda sendiri, yang memerlukan perbaikan dan pemeliharaan berkelanjutan, atau Anda dapat menggunakan fitur pendaftaran, masuk, dan kontrol akses pengguna yang dapat diskalakan dan aman yang disediakan oleh Amazon Cognito.
Kumpulan pengguna Amazon Cognito menyertakan direktori pengguna untuk otentikasi dan otorisasi. Kumpulan pengguna menyediakan API yang dapat Anda integrasikan ke dalam game untuk alur kerja pendaftaran, masuk, dan pengaturan ulang kata sandi, yang dapat diintegrasikan dengan penyedia identitas pihak ketiga. Application Load Balancers dan Amazon API Gateway keduanya menyediakan integrasi dengan Cognito untuk mengintegrasikan otentikasi pengguna untuk permintaan yang dikirim ke backend game kustom Anda yang dihosting dengan layanan ini.
Jika game Anda mendukung akses anonim dan Anda tidak dapat mengotentikasi pemain, Anda dapat menggunakan pendekatan otentikasi klien untuk memberikan pengalaman yang lebih aman saat berintegrasi dengan backend game Anda. Jika klien game Anda menggunakan AWS layanan secara langsung, permintaan ke layanan ini harus ditandatangani menggunakan kredenSIAL. Untuk memberikan kredenSIAL ke klien game Anda untuk pengguna yang tidak diautentikasi, Anda dapat menggunakan AWS SDK untuk mengambil kredenSIAL berumur pendek dari kumpulan identitas Amazon Cognito yang dapat digunakan untuk menandatangani permintaan Anda ke layanan. AWS Kredensibilitas ini dapat disegarkan dari klien game Anda.
Selain mengintegrasikan langsung dengan AWS SDK dari klien game, Anda juga dapat membangun backend game Anda sendiri, menggunakan layanan seperti Amazon API Gateway
Untuk informasi selengkapnya tentang membuat layanan backend untuk game yang dihosting menggunakan Amazon GameLift, lihat Men desain layanan klien game Anda.
Contoh pelanggan
AnyCompany Game meningkatkan keamanan judul berikutnya dengan mengadopsi pendekatan otentikasi dan otorisasi terkelola. Alih-alih mempertahankan sistem nama pengguna dan kata sandi khusus, mereka menggunakan kumpulan pengguna Amazon Cognito untuk menangani pendaftaran dan masuk pemain, dan kumpulan identitas untuk mendukung akses anonim bagi pemain yang mencoba mode pelatihan sebelum membuat akun. Mereka juga menerapkan logika otorisasi khusus dalam game untuk mengenali peran administrator yang ditentukan dalam Cognito, memberikan pengguna tersebut akses ke fitur manajemen dalam game khusus.
Langkah-langkah implementasi
-
Gunakan kumpulan pengguna Amazon Cognito untuk mengelola otentikasi dengan token aman seperti JWT, mengaktifkan fitur seperti pendaftaran, masuk, dan mengatur ulang kata sandi.
-
Ambil kredenSIAL berumur pendek dari kumpulan identitas Amazon Cognito agar pengguna anonim dapat berinteraksi dengan AWS layanan dengan aman.
-
Terapkan backend game khusus menggunakan Amazon API Gateway untuk logika otentikasi sisi server khusus.