Menggunakan Amazon Cognito untuk aplikasi seluler - AWS Identity and Access Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan Amazon Cognito untuk aplikasi seluler

Cara yang lebih disukai untuk menggunakan federasi OIDC adalah dengan menggunakan Amazon Cognito. Misalnya, Adele pengembang sedang membangun game untuk perangkat seluler di mana data pengguna seperti skor dan profil disimpan di Amazon S3 dan Amazon DynamoDB. Adele juga dapat menyimpan data ini secara lokal di perangkat dan menggunakan Amazon Cognito untuk tetap disinkronkan di seluruh perangkat. Ia tahu bahwa untuk alasan keamanan dan pemeliharaan, kredensial keamanan jangka panjang AWS tidak boleh didistribusikan bersama dengan game. Dia juga tahu bahwa game akan memiliki banyak sekali pengguna. Untuk semua alasan ini, dia tidak ingin membuat identitas pengguna baru di IAM untuk setiap pemain. Alih-alih, dia membangun game agar pengguna dapat masuk menggunakan identitas yang sudah mereka tetapkan dengan penyedia identitas eksternal (IdP) yang terkenal, seperti Login with Amazon, Facebook, Google, atau IdP yang kompatibel dengan OpenID Connect (OIDC). Game ini bisa memanfaatkan mekanisme autentikasi dari salah satu penyedia ini untuk memvalidasi identitas pengguna.

Untuk mengaktifkan aplikasi seluler mengakses AWS sumber dayanya, Adele pertama-tama mendaftar untuk ID pengembang dengan pilihannya. IdPs Dia juga mengonfigurasi aplikasi dengan setiap penyedia ini. Dalam dirinya Akun AWS yang berisi bucket Amazon S3 dan tabel DynamoDB untuk game, Adele menggunakan Amazon Cognito untuk membuat peran IAM yang secara tepat menentukan izin yang dibutuhkan game. Jika dia menggunakan OIDC iDP, dia juga menciptakan entitas penyedia identitas IAM OIDC untuk membangun kepercayaan antara kumpulan identitas Amazon Cognito dalam dirinya dan iDP. Akun AWS

Dalam kode aplikasi, Adele memanggil antarmuka masuk untuk IdP yang sudah dikonfigurasi sebelumnya. IdP menangani semua detail yang memungkinkan pengguna masuk, dan aplikasi mendapatkan akses token OAuth atau token ID OIDC dari penyedia. Aplikasi Adele dapat menukar informasi otentikasi ini dengan serangkaian kredensi keamanan sementara yang terdiri dari ID kunci AWS akses, kunci akses rahasia, dan token sesi. Aplikasi kemudian dapat menggunakan kredensi ini untuk mengakses layanan web yang ditawarkan oleh. AWS Aplikasi ini terbatas dengan izin yang ditentukan dalam peran yang sudah diasumsikan.

Gambar berikut menunjukkan alur cara kerja yang disederhanakan, menggunakan Login with Amazon sebagai IdP. Untuk Langkah 2, aplikasi juga dapat menggunakan Facebook, Google, atau IdP apa pun yang kompatibel dengan OIDC, tetapi itu tidak ditampilkan di sini.

Contoh alur kerja menggunakan Amazon Cognito untuk pengguna federasi untuk aplikasi seluler

  1. Seorang pelanggan memulai aplikasi Anda di perangkat seluler. Aplikasi meminta pengguna untuk masuk.

  2. Aplikasi menggunakan sumber daya Login with Amazon untuk menerima kredensial pengguna.

  3. Aplikasi ini menggunakan operasi API Amazon Cognito GetId dan GetCredentialsForIdentity untuk menukar token Login with Amazon ID dengan token Amazon Cognito. Amazon Cognito, yang telah dikonfigurasi untuk mempercayai proyek Login with Amazon Anda, menghasilkan token yang ditukar dengan kredensi sesi sementara. AWS STS

  4. Aplikasi ini menerima kredensi keamanan sementara dari Amazon Cognito. Aplikasi Anda juga dapat menggunakan alur kerja Dasar (Klasik) di Amazon Cognito untuk mengambil token dari penggunaan. AWS STS AssumeRoleWithWebIdentity Untuk informasi selengkapnya, lihat Alur autentikasi kumpulan identitas (identitas gabungan) di Panduan Pengembang Amazon Cognito.

  5. Kredensial keamanan sementara dapat digunakan oleh aplikasi untuk mengakses setiap sumber daya AWS yang diperlukan oleh aplikasi untuk beroperasi. Peran yang terkait dengan kredensi keamanan sementara dan kebijakan yang ditetapkan menentukan apa yang dapat diakses.

Gunakan proses berikut untuk mengonfigurasi aplikasi agar menggunakan Amazon Cognito guna mengautentikasi pengguna dan memberikan akses aplikasi ke resource. AWS Untuk langkah-langkah khusus untuk menyelesaikan skenario ini, lihat dokumentasi untuk Amazon Cognito.

  1. (Opsional) Daftar sebagai pengembang dengan Login with Amazon, Facebook, Google, atau OpenID Connect (OIDC) lainnya yang kompatibel dengan IDP dan konfigurasikan satu atau beberapa aplikasi dengan penyedia. Langkah ini bersifat opsional karena Amazon Cognito juga mendukung akses tidak terotentikasi (tamu) untuk pengguna Anda.

  2. Pergi ke Amazon Cognito di. AWS Management Console Gunakan wizard Amazon Cognito untuk membuat kumpulan identitas, yang merupakan wadah yang digunakan Amazon Cognito untuk menjaga identitas pengguna akhir tetap tertata untuk aplikasi Anda. Anda dapat berbagi kolam identitas di antara aplikasi. Saat Anda menyiapkan kolam identitas, Amazon Cognito membuat satu atau dua peran IAM (satu untuk identitas terotentikasi, dan satu untuk identitas “tamu” tidak terotentikasi) yang menentukan izin bagi pengguna Amazon Cognito.

  3. Integrasikan AWSAmplify dengan aplikasi Anda, dan impor file yang diperlukan untuk menggunakan Amazon Cognito.

  4. Buat instance penyedia kredensi Amazon Cognito, meneruskan ID kumpulan identitas, Akun AWS nomor Anda, dan Nama Sumber Daya Amazon (ARN) peran yang Anda kaitkan dengan kumpulan identitas. Wizard Amazon Cognito di AWS Management Console menyediakan kode contoh untuk membantu Anda memulai.

  5. Saat aplikasi Anda mengakses AWS resource, teruskan instance penyedia kredensial ke objek klien, yang meneruskan kredensi keamanan sementara ke klien. Izin untuk kredensial didasarkan pada peran atau peran-peran yang Anda tetapkan sebelumnya.

Untuk informasi selengkapnya, lihat berikut ini: