View a markdown version of this page

Hal-hal yang perlu diketahui tentang otentikasi dengan kumpulan pengguna - Amazon Cognito

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

Hal-hal yang perlu diketahui tentang otentikasi dengan kumpulan pengguna

Pertimbangkan informasi berikut dalam desain model otentikasi Anda dengan kumpulan pengguna Amazon Cognito.

Alur otentikasi dalam login terkelola dan UI yang dihosting

Login terkelola memiliki lebih banyak opsi untuk otentikasi daripada UI yang dihosting klasik. Misalnya, pengguna dapat melakukan autentikasi tanpa kata sandi dan kunci sandi hanya di login terkelola.

Alur otentikasi khusus hanya tersedia dalam otentikasi AWS SDK

Anda tidak dapat melakukan alur autentikasi kustom, atau autentikasi khusus dengan pemicu Lambda, dengan login terkelola atau UI yang dihosting klasik. Otentikasi khusus tersedia dalam otentikasi dengan AWS SDK.

Login terkelola untuk login penyedia identitas eksternal (iDP)

Anda tidak dapat memasukkan pengguna melalui pihak ketiga IdPs dalam autentikasi dengan AWS SDK. Anda harus menerapkan login terkelola atau UI host klasik, mengarahkan ulang ke IdPs, dan kemudian memproses objek otentikasi yang dihasilkan dengan pustaka OIDC di aplikasi Anda. Untuk informasi selengkapnya tentang login terkelola, lihatLogin terkelola kumpulan pengguna.

Efek otentikasi tanpa kata sandi pada fitur pengguna lainnya

Aktivasi login tanpa kata sandi dengan kata sandi atau kunci sandi satu kali di kumpulan pengguna dan klien aplikasi Anda berpengaruh pada pembuatan dan migrasi pengguna. Saat login tanpa kata sandi aktif:

  1. Administrator dapat membuat pengguna tanpa kata sandi. Templat pesan undangan default berubah menjadi tidak lagi menyertakan placeholder {###} kata sandi. Untuk informasi selengkapnya, lihat Membuat akun pengguna sebagai administrator.

  2. Untuk SDK-based SignUpoperasi, pengguna tidak diharuskan untuk memberikan kata sandi saat mereka mendaftar. Login terkelola dan UI yang dihosting memerlukan kata sandi di halaman pendaftaran, meskipun otentikasi tanpa kata sandi diizinkan. Untuk informasi selengkapnya, lihat Mendaftar dan mengonfirmasi akun pengguna.

  3. Pengguna yang diimpor dari file CSV dapat langsung masuk dengan opsi tanpa kata sandi, tanpa pengaturan ulang kata sandi, jika atribut mereka menyertakan alamat email atau nomor telepon untuk opsi masuk tanpa kata sandi yang tersedia. Untuk informasi selengkapnya, lihat Mengimpor pengguna ke kumpulan pengguna dari file CSV.

  4. Autentikasi tanpa kata sandi tidak memanggil pemicu Lambda migrasi pengguna.

  5. Pengguna yang masuk dengan faktor pertama kata sandi satu kali (OTP) tidak dapat menambahkan faktor otentikasi multi-faktor (MFA) ke sesi mereka. Kunci sandi dengan verifikasi pengguna dapat memenuhi persyaratan MFA saat dikonfigurasi dengan. MULTI_FACTOR_WITH_USER_VERIFICATION

URL partai yang mengandalkan kunci sandi tidak dapat ada di daftar akhiran publik

Anda dapat menggunakan nama domain yang Anda miliki, sepertiwww.example.com, sebagai ID pihak yang bergantung (RP) dalam konfigurasi kunci sandi Anda. Konfigurasi ini dimaksudkan untuk mendukung aplikasi custom-built yang berjalan pada domain yang Anda miliki. Daftar akhiran publik, atau PSL, berisi domain tingkat tinggi yang dilindungi. Amazon Cognito mengembalikan kesalahan saat Anda mencoba menyetel URL RP ke domain di PSL.

Durasi aliran sesi otentikasi

Bergantung pada fitur kumpulan pengguna, Anda dapat menanggapi beberapa tantangan RespondToAuthChallenge sebelum InitiateAuth dan sebelum aplikasi mengambil token dari Amazon Cognito. Amazon Cognito menyertakan string sesi dalam menanggapi setiap permintaan. Untuk menggabungkan permintaan API Anda ke dalam alur otentikasi, sertakan string sesi dari respons ke permintaan sebelumnya di setiap permintaan berikutnya. Secara default, pengguna Anda memiliki waktu tiga menit untuk menyelesaikan setiap tantangan sebelum string sesi berakhir. Untuk menyesuaikan periode ini, ubah durasi sesi Authentication client aplikasi Anda. Prosedur berikut menjelaskan cara mengubah setelan ini dalam konfigurasi klien aplikasi Anda.

catatan

Pengaturan durasi sesi alur otentikasi berlaku untuk autentikasi dengan API kumpulan pengguna Amazon Cognito. Login terkelola menetapkan durasi sesi menjadi 3 menit untuk otentikasi multi-faktor dan 8 menit untuk perubahan kata sandi paksa selama login pertama pengguna akhir dengan kata sandi sementara.

Amazon Cognito console
Untuk mengonfigurasi durasi sesi alur otentikasi klien aplikasi (Konsol Manajemen AWS)
  1. Dari tab Integrasi aplikasi di kumpulan pengguna Anda, pilih nama klien aplikasi Anda dari klien Aplikasi dan wadah analitik.

  2. Pilih Edit di wadah informasi klien App.

  3. Ubah nilai durasi sesi alur Otentikasi ke durasi validitas yang Anda inginkan, dalam hitungan menit, untuk kode MFA SMS dan email. Ini juga mengubah jumlah waktu yang dimiliki pengguna untuk menyelesaikan tantangan otentikasi apa pun di klien aplikasi Anda.

  4. Pilih Simpan perubahan.

User pools API
Untuk mengonfigurasi durasi sesi alur otentikasi klien aplikasi (Amazon Cognito API)
  1. Siapkan UpdateUserPoolClient permintaan dengan pengaturan kumpulan pengguna Anda yang ada dari DescribeUserPoolClient permintaan. UpdateUserPoolClientPermintaan Anda harus menyertakan semua properti klien aplikasi yang ada.

  2. Ubah nilai AuthSessionValidity ke durasi validitas yang Anda inginkan, dalam hitungan menit, untuk kode SMS MFA. Ini juga mengubah jumlah waktu yang dimiliki pengguna untuk menyelesaikan tantangan otentikasi apa pun di klien aplikasi Anda.

Untuk informasi selengkapnya tentang klien aplikasi, lihatApplication-specific pengaturan dengan klien aplikasi.

Perilaku penguncian untuk upaya masuk yang gagal

Setelah lima upaya login gagal dengan kata sandi pengguna, terlepas dari apakah kata sandi tersebut diminta dengan operasi IAM-authorized API yang tidak diautentikasi atau tidak, Amazon Cognito mengunci pengguna Anda selama satu detik. Durasi penguncian kemudian berlipat ganda setelah setiap upaya tambahan gagal, hingga maksimum sekitar 15 menit.

Upaya yang dilakukan selama periode penguncian menghasilkan Password attempts exceeded pengecualian, dan tidak memengaruhi durasi periode penguncian berikutnya. Untuk jumlah kumulatif upaya masuk yang gagal n, tidak termasuk Password attempts exceeded pengecualian, Amazon Cognito mengunci pengguna Anda selama 2^ (n-5) detik. Untuk mengatur ulang penguncian ke status awal n=0, pengguna Anda harus berhasil masuk setelah periode penguncian berakhir, atau tidak memulai upaya masuk selama 15 menit berturut-turut kapan saja setelah penguncian. Perilaku ini dapat berubah. Perilaku ini tidak berlaku untuk tantangan khusus kecuali mereka juga melakukan otentikasi berbasis kata sandi.