SAMLnama dan pengidentifikasi penyedia identitas - Amazon Cognito

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

SAMLnama dan pengidentifikasi penyedia identitas

Diagram alur otentikasi login yang dimulai Amazon Cognito SAML SP dengan pengenal IDP dan UI yang dihosting. Pengguna memberikan alamat email ke UI yang dihosting dan Amazon Cognito secara otomatis mengalihkan mereka ke penyedia mereka.

Saat Anda memberi nama penyedia SAML identitas (IdPs) dan menetapkan pengidentifikasi IDP, Anda dapat mengotomatiskan alur permintaan masuk dan keluar yang dimulai SP ke penyedia tersebut. Untuk informasi tentang batasan string ke nama penyedia, lihat properti. ProviderName CreateIdentityProvider

Anda juga dapat memilih hingga 50 pengidentifikasi untuk SAML penyedia Anda. Pengenal adalah nama yang ramah untuk IDP di kumpulan pengguna Anda, dan harus unik di dalam kumpulan pengguna. Jika SAML pengenal Anda cocok dengan domain email pengguna, UI yang dihosting Amazon Cognito akan meminta alamat email setiap pengguna, mengevaluasi domain di alamat email mereka, dan mengarahkannya ke IDP yang sesuai dengan domain mereka. Karena organisasi yang sama dapat memiliki beberapa domain, satu iDP dapat memiliki beberapa pengidentifikasi.

Baik Anda menggunakan atau tidak menggunakan pengenal email-domain, Anda dapat menggunakan pengenal di aplikasi multi-penyewa untuk mengarahkan pengguna ke IDP yang benar. Saat Anda ingin melewati UI yang dihosting sepenuhnya, Anda dapat menyesuaikan tautan yang Anda sajikan kepada pengguna sehingga mereka mengarahkan Otorisasi titik akhir langsung ke IDP mereka. Untuk masuk ke pengguna Anda dengan pengenal dan mengarahkan ulang ke IDP mereka, sertakan pengenal dalam format idp_identifier=myidp.example.com dalam parameter permintaan permintaan otorisasi awal mereka.

Metode lain untuk meneruskan pengguna ke IDP Anda adalah untuk mengisi parameter identity_provider dengan nama iDP Anda dalam format berikut. URL

https://mydomain.us-east-1.amazoncognito.com/oauth2/authorize? response_type=code& identity_provider=MySAMLIdP& client_id=1example23456789& redirect_uri=https://www.example.com

Setelah pengguna masuk dengan iDP Anda, SAML iDP Anda akan mengarahkan mereka dengan SAML respons di badan ke titik akhir Anda. HTTP POST /saml2/idpresponse Amazon Cognito memproses SAML pernyataan dan, jika klaim dalam respons memenuhi harapan, mengalihkan ke panggilan balik klien aplikasi Anda. URL Setelah pengguna Anda menyelesaikan autentikasi dengan cara ini, mereka berinteraksi dengan halaman web hanya untuk IDP dan aplikasi Anda.

Dengan pengidentifikasi iDP dalam format domain, UI yang di-host Amazon Cognito meminta alamat email saat login dan kemudian, ketika domain email cocok dengan pengenal iDP, mengarahkan pengguna ke halaman login untuk IDP mereka. Misalnya, Anda membuat aplikasi yang memerlukan login oleh karyawan dari dua perusahaan yang berbeda. Perusahaan pertama, AnyCompany A, memiliki exampleA.com danexampleA.co.uk. Perusahaan kedua, AnyCompany B, memiliki. exampleB.com Untuk contoh ini, Anda telah menyiapkan dua IdPs, satu untuk setiap perusahaan, sebagai berikut:

  • Untuk iDP A, Anda menentukan pengidentifikasi exampleA.com dan. exampleA.co.uk

  • Untuk iDP B, Anda mendefinisikan identifier. exampleB.com

Di aplikasi Anda, panggil UI yang dihosting untuk klien aplikasi Anda untuk meminta setiap pengguna memasukkan alamat email mereka. Amazon Cognito memperoleh domain dari alamat email, menghubungkan domain ke iDP dengan pengenal domain, dan mengarahkan pengguna Anda ke IDP yang benar dengan permintaan ke yang berisi parameter permintaan. Otorisasi titik akhir idp_identifier Misalnya, jika pengguna masukbob@exampleA.co.uk, halaman berikutnya yang berinteraksi dengan mereka adalah halaman masuk IDP di. https://auth.exampleA.co.uk/sso/saml

Anda juga dapat menerapkan logika yang sama secara independen. Di aplikasi Anda, Anda dapat membuat formulir kustom yang mengumpulkan input pengguna dan menghubungkannya dengan iDP yang benar sesuai dengan logika Anda sendiri. Anda dapat membuat portal aplikasi kustom untuk setiap penyewa aplikasi Anda, di mana setiap link ke titik akhir otorisasi dengan pengenal penyewa dalam parameter permintaan.

Untuk mengumpulkan alamat email dan mengurai domain di UI yang dihosting, tetapkan setidaknya satu pengenal ke setiap SAML IDP yang telah ditetapkan ke klien aplikasi. Secara default, layar login UI yang dihosting menampilkan tombol untuk setiap tombol IdPs yang telah ditetapkan ke klien aplikasi. Namun, jika Anda berhasil menetapkan pengenal, halaman login UI yang dihosting akan terlihat seperti gambar berikut.

Halaman login UI yang dihosting Amazon Cognito yang menampilkan login pengguna lokal dan prompt bagi pengguna gabungan untuk memasukkan alamat email.

Penguraian domain di UI yang dihosting mengharuskan Anda menggunakan domain sebagai pengidentifikasi IDP Anda. Jika Anda menetapkan pengenal jenis apa pun ke masing-masing klien aplikasi, UI yang dihosting SAML IdPs untuk aplikasi tersebut tidak lagi menampilkan tombol pemilihan IDP. Tambahkan pengidentifikasi IDP SAML saat Anda bermaksud menggunakan penguraian email atau logika khusus untuk menghasilkan pengalihan. Saat Anda ingin membuat pengalihan senyap dan juga ingin UI yang dihosting menampilkan daftar IdPs, jangan tetapkan pengenal dan gunakan parameter identity_provider permintaan dalam permintaan otorisasi Anda.

  • Jika Anda menetapkan hanya satu SAML iDP ke klien aplikasi Anda, halaman login UI yang dihosting akan menampilkan tombol untuk masuk dengan iDP tersebut.

  • Jika Anda menetapkan pengenal ke setiap SAML idP yang Anda aktifkan untuk klien aplikasi, prompt input pengguna untuk alamat email akan muncul di halaman login UI yang dihosting.

  • Jika Anda memiliki beberapa IdPs dan Anda tidak menetapkan pengenal untuk semuanya, halaman login UI yang dihosting akan menampilkan tombol untuk masuk dengan setiap IDP yang ditetapkan.

  • Jika Anda menetapkan pengenal ke Anda IdPs dan Anda ingin UI yang dihosting menampilkan pilihan tombol iDP, tambahkan iDP baru yang tidak memiliki pengenal ke klien aplikasi Anda, atau buat klien aplikasi baru. Anda juga dapat menghapus IDP yang ada dan menambahkannya lagi tanpa pengenal. Jika Anda membuat iDP baru, SAML pengguna Anda akan membuat profil pengguna baru. Duplikasi pengguna aktif ini mungkin memiliki dampak penagihan di bulan saat Anda mengubah konfigurasi iDP.

Untuk informasi lebih lanjut tentang penyiapan IdP, lihat Mengkonfigurasi penyedia identitas untuk kumpulan pengguna Anda.