TOTPtoken perangkat lunak MFA - Amazon Cognito

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

TOTPtoken perangkat lunak MFA

Saat Anda mengatur token TOTP perangkat lunak MFA di kumpulan pengguna, pengguna Anda masuk dengan nama pengguna dan kata sandi, lalu menggunakan autentikasi TOTP untuk menyelesaikan. Setelah pengguna Anda menetapkan dan memverifikasi nama pengguna dan kata sandi, mereka dapat mengaktifkan token TOTP perangkat lunak untukMFA. Jika aplikasi Anda menggunakan UI yang dihosting Amazon Cognito untuk masuk pengguna, pengguna Anda akan mengirimkan nama pengguna dan kata sandi mereka, lalu mengirimkan kata TOTP sandi pada halaman login tambahan.

Anda dapat mengaktifkan TOTP MFA untuk kumpulan pengguna di konsol Amazon Cognito, atau Anda dapat menggunakan operasi Amazon API Cognito. Di tingkat kumpulan pengguna, Anda dapat menelepon SetUserPoolMfaConfiguntuk mengonfigurasi MFA dan mengaktifkan TOTPMFA.

catatan

Jika Anda belum mengaktifkan token TOTP perangkat lunak MFA untuk kumpulan pengguna, Amazon Cognito tidak dapat menggunakan token untuk mengaitkan atau memverifikasi pengguna. Dalam hal ini, pengguna menerima SoftwareTokenMFANotFoundException pengecualian dengan deskripsiSoftware Token MFA has not been enabled by the userPool. Jika Anda menonaktifkan token perangkat lunak MFA untuk kumpulan pengguna nanti, pengguna yang sebelumnya mengaitkan dan memverifikasi TOTP token dapat terus menggunakannya. MFA

Mengkonfigurasi TOTP untuk pengguna Anda adalah proses multi-langkah di mana pengguna Anda menerima kode rahasia yang mereka validasi dengan memasukkan kata sandi satu kali. Selanjutnya, Anda dapat mengaktifkan TOTP MFA untuk pengguna Anda atau menetapkan TOTP sebagai MFA metode pilihan untuk pengguna Anda.

Saat mengonfigurasi kumpulan pengguna agar diperlukan TOTP MFA dan pengguna mendaftar untuk aplikasi Anda di UI yang dihosting, Amazon Cognito akan mengotomatiskan proses pengguna. Amazon Cognito meminta pengguna Anda untuk memilih MFA metode, menampilkan kode QR untuk menyiapkan aplikasi autentikator mereka, dan memverifikasi pendaftaran mereka. MFA Di kumpulan pengguna tempat Anda mengizinkan pengguna untuk memilih antara SMS dan TOTPMFA, Amazon Cognito juga memberi pengguna Anda pilihan metode. Untuk informasi selengkapnya tentang pengalaman pendaftaran UI yang dihosting, lihatCara mendaftar untuk profil pengguna baru.

penting

Bila Anda memiliki AWS WAF web yang ACL terkait dengan kumpulan pengguna, dan aturan di web Anda ACL menunjukkanCAPTCHA, ini dapat menyebabkan kesalahan yang tidak dapat dipulihkan dalam pendaftaran UI yang dihosting. TOTP Untuk membuat aturan yang memiliki CAPTCHA tindakan dan tidak memengaruhi UI yang dihostingTOTP, lihatMengonfigurasi AWS WAF web Anda ACL untuk UI yang dihosting TOTP MFA. Untuk informasi selengkapnya tentang AWS WAF web ACLs dan Amazon Cognito, lihat. Mengaitkan AWS WAF web ACL dengan kumpulan pengguna

Untuk mengimplementasikan TOTP MFA di UI kustom tempat Anda menggunakan Amazon CognitoAPI, lihat. Mengkonfigurasi MFA untuk pengguna di kumpulan pengguna Amazon Cognito API

Untuk menambahkan MFA ke kumpulan pengguna Anda, lihatMenambahkan MFA ke kumpulan pengguna.

TOTPMFApertimbangan dan batasan

  1. Amazon Cognito mendukung token perangkat lunak MFA melalui aplikasi autentikator yang menghasilkan kode. TOTP Amazon Cognito tidak mendukung berbasis perangkat keras. MFA

  2. Ketika kumpulan pengguna Anda memerlukan TOTP pengguna yang belum mengonfigurasinya, pengguna Anda menerima token akses satu kali yang dapat digunakan aplikasi Anda TOTP MFA untuk mengaktifkan pengguna. Upaya masuk berikutnya gagal sampai pengguna Anda mendaftarkan faktor TOTP masuk tambahan.

    • Pengguna yang mendaftar di kumpulan pengguna Anda dengan SignUp API operasi atau melalui UI yang dihosting menerima token satu kali saat pengguna menyelesaikan pendaftaran.

    • Setelah Anda membuat pengguna, dan pengguna menetapkan kata sandi awal mereka, Amazon Cognito mengeluarkan token satu kali dari UI yang dihosting ke pengguna. Jika Anda menetapkan kata sandi permanen untuk pengguna, Amazon Cognito mengeluarkan token satu kali saat pengguna pertama kali masuk.

    • Amazon Cognito tidak mengeluarkan token satu kali ke pengguna yang dibuat administrator yang masuk dengan operasi atau. InitiateAuthAdminInitiateAuthAPI Setelah pengguna Anda berhasil dalam tantangan untuk mengatur kata sandi awal mereka, atau jika Anda menetapkan kata sandi permanen untuk pengguna, Amazon Cognito segera menantang pengguna untuk mengaturnya. MFA

  3. Jika pengguna di kumpulan pengguna yang membutuhkan MFA telah menerima token akses satu kali tetapi belum menyiapkan TOTPMFA, pengguna tidak dapat masuk dengan UI yang dihosting hingga mereka menyiapkan. MFA Alih-alih token akses, Anda dapat menggunakan nilai session respons dari MFA_SETUP tantangan ke InitiateAuthatau AdminInitiateAuthdalam AssociateSoftwareTokenpermintaan.

  4. Jika pengguna Anda telah menyiapkanTOTP, mereka dapat menggunakannya untukMFA, bahkan jika Anda menonaktifkan TOTP untuk kumpulan pengguna nanti.

  5. Amazon Cognito hanya menerima TOTPs dari aplikasi autentikator yang menghasilkan kode dengan fungsi - hash. HMAC SHA1 Kode yang dihasilkan dengan SHA -256 hashing mengembalikan kesalahan. Code mismatch

Mengkonfigurasi MFA untuk pengguna di kumpulan pengguna Amazon Cognito API

Saat pengguna pertama kali masuk, aplikasi Anda menggunakan token akses satu kali untuk membuat kunci TOTP pribadi dan menyajikannya kepada pengguna Anda dalam format teks atau kode QR. Pengguna Anda mengonfigurasi aplikasi autentikatornya dan menyediakan TOTP untuk upaya masuk berikutnya. Aplikasi Anda atau UI yang dihosting menyajikan TOTP ke Amazon Cognito dalam respons MFA tantangan.

Kaitkan token TOTP perangkat lunak

Untuk mengaitkan TOTP token, kirimkan kode rahasia kepada pengguna Anda yang harus mereka validasi dengan kata sandi satu kali. Mengaitkan token membutuhkan tiga langkah.

  1. Saat pengguna Anda memilih token TOTP perangkat lunakMFA, panggil AssociateSoftwareTokenuntuk mengembalikan kode kunci rahasia bersama unik yang dihasilkan untuk akun pengguna. Anda dapat mengotorisasi AssociateSoftwareToken dengan token akses atau string sesi.

  2. Aplikasi Anda menyajikan kunci pribadi kepada pengguna, atau kode QR yang Anda hasilkan dari kunci pribadi. Pengguna Anda harus memasukkan kunci ke dalam aplikasi TOTP yang menghasilkan seperti Google Authenticator. Anda dapat menggunakan libqrencode untuk menghasilkan kode QR.

  3. Pengguna Anda memasukkan kunci, atau memindai kode QR ke aplikasi autentikator seperti Google Authenticator, dan aplikasi mulai menghasilkan kode.

Verifikasi TOTP token

Selanjutnya, verifikasi TOTP token. Minta kode sampel dari pengguna Anda dan berikan ke layanan Amazon Cognito untuk mengonfirmasi bahwa pengguna berhasil menghasilkan TOTP kode, sebagai berikut.

  1. Aplikasi Anda meminta pengguna Anda untuk kode untuk menunjukkan bahwa mereka telah menyiapkan aplikasi autentikator mereka dengan benar.

  2. Aplikasi autentikator pengguna menampilkan kata sandi sementara. Aplikasi autentikator mendasarkan kata sandi pada kunci rahasia yang Anda berikan kepada pengguna.

  3. Pengguna Anda memasukkan kata sandi sementara mereka. Aplikasi Anda meneruskan kata sandi sementara ke Amazon Cognito dalam permintaan. VerifySoftwareToken API

  4. Amazon Cognito telah mempertahankan kunci rahasia yang terkait dengan pengguna, dan menghasilkan TOTP dan membandingkannya dengan yang disediakan pengguna Anda. Jika cocok, VerifySoftwareToken mengembalikan SUCCESS respons.

  5. Amazon Cognito mengaitkan TOTP faktor tersebut dengan pengguna.

  6. Jika VerifySoftwareToken operasi mengembalikan ERROR respons, pastikan jam pengguna sudah benar dan tidak melebihi jumlah percobaan ulang maksimum. Amazon Cognito menerima TOTP token yang berada dalam waktu 30 detik sebelum atau sesudah upaya, untuk memperhitungkan kemiringan jam kecil. Setelah Anda menyelesaikan masalah, coba VerifySoftwareToken operasi lagi.

Masuk dengan TOTP MFA

Pada titik ini, pengguna Anda masuk dengan kata sandi satu kali berbasis waktu. Prosesnya adalah sebagai berikut.

  1. Pengguna Anda memasukkan nama pengguna dan kata sandi mereka untuk masuk ke aplikasi klien Anda.

  2. TOTPMFATantangan dipanggil, dan pengguna Anda diminta oleh aplikasi Anda untuk memasukkan kata sandi sementara.

  3. Pengguna Anda mendapatkan kata sandi sementara dari aplikasi TOTP penghasil terkait.

  4. Pengguna Anda memasukkan TOTP kode ke dalam aplikasi klien Anda. Aplikasi Anda akan memberitahukan layanan Amazon Cognito untuk memverifikasinya. Untuk setiap login, RespondToAuthChallengeharus dipanggil untuk mendapatkan respons terhadap tantangan TOTP otentikasi baru.

  5. Jika token diverifikasi oleh Amazon Cognito, masuk berhasil dan pengguna Anda melanjutkan dengan alur autentikasi.

Hapus TOTP token

Terakhir, aplikasi Anda harus mengizinkan pengguna untuk menonaktifkan TOTP konfigurasi mereka. Saat ini, Anda tidak dapat menghapus token TOTP perangkat lunak pengguna. Untuk mengganti token perangkat lunak pengguna Anda, kaitkan dan verifikasi token perangkat lunak baru. Untuk menonaktifkan pengguna, hubungi TOTP MFA SetUserMFAPreferenceuntuk memodifikasi pengguna Anda agar tidak menggunakanMFA, atau hanya SMSMFA.

  1. Buat antarmuka di aplikasi Anda untuk pengguna yang ingin mengatur ulangMFA. Minta pengguna di antarmuka ini untuk memasukkan kata sandi mereka.

  2. Jika Amazon Cognito mengembalikan TOTP MFA tantangan, perbarui MFA preferensi pengguna Anda. SetUserMFAPreference

  3. Di aplikasi Anda, komunikasikan kepada pengguna Anda bahwa mereka telah dinonaktifkan MFA dan minta mereka untuk masuk lagi.

Mengonfigurasi AWS WAF web Anda ACL untuk UI yang dihosting TOTP MFA

Bila Anda memiliki AWS WAF web yang ACL terkait dengan kumpulan pengguna, dan aturan di web Anda ACL menunjukkanCAPTCHA, ini dapat menyebabkan kesalahan yang tidak dapat dipulihkan dalam pendaftaran UI yang dihosting. TOTP AWS WAF CAPTCHAaturan hanya memengaruhi TOTP MFA UI yang dihosting dengan cara ini. SMSMFAtidak terpengaruh.

Amazon Cognito menampilkan kesalahan berikut saat CAPTCHA aturan Anda tidak mengizinkan pengguna menyelesaikan TOTP MFA penyiapan.

Permintaan tidak diizinkan karena WAF captcha.

Kesalahan ini terjadi saat AWS WAF meminta respons AssociateSoftwareTokendan VerifySoftwareTokenAPIpermintaan yang CAPTCHA dibuat oleh kumpulan pengguna Anda di latar belakang. Untuk membuat aturan yang memiliki CAPTCHA tindakan dan tidak memengaruhi UI yang dihostingTOTP, kecualikan nilai x-amzn-cognito-operation-name header AssociateSoftwareToken dan VerifySoftwareToken dari CAPTCHA tindakan dalam aturan Anda.

Screenshot berikut menunjukkan contoh AWS WAF aturan yang menerapkan CAPTCHA tindakan untuk semua permintaan yang tidak memiliki nilai x-amzn-cognito-operation-name header AssociateSoftwareToken atauVerifySoftwareToken.

Screenshot dari AWS WAF aturan yang menerapkan CAPTCHA tindakan untuk semua permintaan yang tidak memiliki nilai x-amzn-cognito-operation-name header AssociateSoftwareToken atauVerifySoftwareToken.

Untuk informasi selengkapnya tentang AWS WAF web ACLs dan Amazon Cognito, lihat. Mengaitkan AWS WAF web ACL dengan kumpulan pengguna