Menautkan pengguna gabungan ke profil pengguna yang ada - Amazon Cognito

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

Menautkan pengguna gabungan ke profil pengguna yang ada

Seringkali, pengguna yang sama memiliki profil dengan beberapa penyedia identitas (IdPs) yang telah Anda sambungkan ke kumpulan pengguna Anda. Amazon Cognito dapat menautkan setiap kemunculan pengguna ke profil pengguna yang sama di direktori Anda. Dengan cara ini, satu orang yang memiliki beberapa pengguna IDP dapat memiliki pengalaman yang konsisten di aplikasi Anda. AdminLinkProviderForUsermemberi tahu Amazon Cognito untuk mengenali ID unik pengguna di direktori federasi Anda sebagai pengguna di kumpulan pengguna. Pengguna di kumpulan pengguna Anda dihitung sebagai satu pengguna aktif bulanan (MAU) untuk tujuan penagihan ketika Anda memiliki nol atau lebih identitas gabungan yang terkait dengan profil pengguna.

Saat pengguna federasi masuk ke kumpulan pengguna Anda untuk pertama kalinya, Amazon Cognito mencari profil lokal yang telah Anda tautkan ke identitas mereka. Jika tidak ada profil tertaut, kumpulan pengguna Anda akan membuat profil baru. Anda dapat membuat profil lokal dan menautkannya ke pengguna federasi Anda kapan saja sebelum login pertama mereka, dalam AdminLinkProviderForUser API permintaan, baik dalam tugas prestaging yang direncanakan atau dalam file. Pemicu Lambda pra pendaftaran Setelah pengguna masuk dan Amazon Cognito mendeteksi profil lokal yang ditautkan, kumpulan pengguna akan membaca klaim pengguna dan membandingkannya dengan aturan pemetaan untuk iDP. Kumpulan pengguna Anda kemudian memperbarui profil lokal yang ditautkan dengan klaim yang dipetakan dari proses masuk mereka. Dengan cara ini, Anda dapat mengonfigurasi profil lokal dengan klaim akses dan menyimpan klaim identitas mereka up-to-date dengan penyedia Anda. Setelah Amazon Cognito mencocokkan pengguna federasi Anda dengan profil tertaut, mereka selalu masuk ke profil tersebut. Anda kemudian dapat menautkan lebih banyak identitas penyedia pengguna Anda ke profil yang sama, memberikan satu pelanggan pengalaman yang konsisten di aplikasi Anda. Untuk menautkan pengguna federasi yang sebelumnya telah masuk, Anda harus terlebih dahulu menghapus profil mereka yang ada. Anda dapat mengidentifikasi profil yang ada berdasarkan formatnya:[Provider name]_identifier. Misalnya, LoginWithAmazon_amzn1.account.AFAEXAMPLE. Pengguna yang Anda buat dan kemudian ditautkan ke identitas pengguna pihak ketiga memiliki nama pengguna yang mereka buat, dan identities atribut yang berisi detail identitas tertaut mereka.

penting

Karena AdminLinkProviderForUser memungkinkan pengguna dengan identitas federasi eksternal untuk masuk sebagai pengguna yang ada di kumpulan pengguna, sangat penting bahwa itu hanya digunakan dengan atribut eksternal IdPs dan penyedia yang telah dipercaya oleh pemilik aplikasi.

Misalnya, jika Anda adalah penyedia layanan terkelola (MSP) dengan aplikasi yang Anda bagikan dengan beberapa pelanggan. Setiap pelanggan masuk ke aplikasi Anda melalui Active Directory Federation Services (ADFS). Administrator TI Anda, Carlos, memiliki akun di setiap domain pelanggan Anda. Anda ingin Carlos diakui sebagai administrator aplikasi setiap kali dia masuk, terlepas dari IDP.

Alamat email Carlos Anda ADFS IdPs saat ini msp_carlos@example.com dalam email klaim pernyataan Carlos ke Amazon CognitoSAML. Anda membuat pengguna di kumpulan pengguna Anda dengan nama penggunaCarlos. Perintah berikut AWS Command Line Interface (AWS CLI) menghubungkan identitas Carlos dari IdPs ADFS1,, ADFS2 dan. ADFS3

catatan

Anda dapat menautkan pengguna berdasarkan klaim atribut tertentu. Kemampuan ini unik untuk OIDC dan SAML IdPs. Untuk jenis penyedia lainnya, Anda harus menautkan berdasarkan atribut sumber tetap. Untuk informasi lebih lanjut, lihat AdminLinkProviderForUser. Anda harus mengatur ProviderAttributeName Cognito_Subject kapan Anda menautkan iDP sosial ke profil pengguna. ProviderAttributeValueharus menjadi pengenal unik pengguna dengan IDP Anda.

aws cognito-idp admin-link-provider-for-user \ --user-pool-id us-east-1_EXAMPLE \ --destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \ --source-user ProviderName=ADFS1,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com aws cognito-idp admin-link-provider-for-user \ --user-pool-id us-east-1_EXAMPLE \ --destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \ --source-user ProviderName=ADFS2,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com aws cognito-idp admin-link-provider-for-user \ --user-pool-id us-east-1_EXAMPLE \ --destination-user ProviderAttributeValue=Carlos,ProviderName=Cognito \ --source-user ProviderName=ADFS3,ProviderAttributeName=email,ProviderAttributeValue=msp_carlos@example.com

Profil pengguna Carlos di kumpulan pengguna Anda sekarang memiliki identities atribut berikut.

[{ "userId": "msp_carlos@example.com", "providerName": "ADFS1", "providerType": "SAML", "issuer": "http://auth.example.com", "primary": false, "dateCreated": 111111111111111 }, { "userId": "msp_carlos@example.com", "providerName": "ADFS2", "providerType": "SAML", "issuer": "http://auth2.example.com", "primary": false, "dateCreated": 111111111111111 }, { "userId": "msp_carlos@example.com", "providerName": "ADFS3", "providerType": "SAML", "issuer": "http://auth3.example.com", "primary": false, "dateCreated": 111111111111111 }]
Hal-hal yang perlu diketahui tentang menautkan pengguna federasi
  • Anda dapat menautkan hingga lima pengguna federasi ke setiap profil pengguna.

  • Anda dapat menautkan pengguna ke setiap IDP dari hingga lima klaim atribut IDP, seperti yang ditentukan oleh ProviderAttributeName parameter dalam permintaan. SourceUser AdminLinkProviderForUser API Misalnya, jika Anda telah menautkan setidaknya satu pengguna ke atribut sumberemail,,,phone,department, dan given_namelocation, Anda hanya dapat menautkan pengguna tambahan pada salah satu dari lima atribut tersebut.

  • Anda dapat menautkan pengguna federasi ke profil pengguna federasi yang ada, atau ke pengguna lokal.

  • Anda tidak dapat menautkan penyedia ke profil pengguna di AWS Management Console.

  • Token ID pengguna Anda berisi semua penyedia terkait mereka dalam identities klaim.

  • Anda dapat mengatur kata sandi untuk profil pengguna federasi yang dibuat secara otomatis dalam permintaan. AdminSetUserPasswordAPI Status pengguna itu kemudian berubah dari EXTERNAL_PROVIDER menjadiCONFIRMED. Pengguna dalam status ini dapat masuk sebagai pengguna federasi, dan memulai alur otentikasi API seperti pengguna lokal yang ditautkan. Mereka juga dapat memodifikasi kata sandi dan atribut mereka dalam permintaan yang diautentikasi token API seperti dan. ChangePasswordUpdateUserAttributes Sebagai praktik keamanan terbaik dan untuk menjaga agar pengguna tetap sinkron dengan IDP eksternal Anda, jangan setel kata sandi pada profil pengguna federasi. Sebagai gantinya, tautkan pengguna ke profil lokal denganAdminLinkProviderForUser.

  • Amazon Cognito mengisi atribut pengguna ke profil pengguna lokal yang ditautkan saat pengguna masuk melalui idP mereka. Amazon Cognito memproses klaim identitas dalam token ID dari OIDC IDP, dan juga memeriksa userInfo titik akhir 2.0 dan penyedia. OAuth OIDC Amazon Cognito memprioritaskan informasi dalam token ID daripada informasi dari. userInfo

Ketika Anda mengetahui bahwa pengguna Anda tidak lagi menggunakan akun pengguna eksternal yang telah Anda tautkan ke profil mereka, Anda dapat memisahkan akun pengguna tersebut dengan pengguna kumpulan pengguna Anda. Saat menautkan pengguna, Anda memberikan nama atribut, nilai atribut, dan nama penyedia pengguna dalam permintaan. Untuk menghapus profil yang tidak lagi dibutuhkan pengguna Anda, buat AdminDisableProviderForUserAPIpermintaan dengan parameter yang setara.

Lihat AdminLinkProviderForUsersintaks perintah tambahan dan contoh di. AWS SDKs