Memecahkan masalah SAMP dengan Amazon Connect - Amazon Connect

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

Memecahkan masalah SAMP dengan Amazon Connect

Artikel ini menjelaskan cara memecahkan masalah dan menyelesaikan beberapa masalah paling umum yang dihadapi pelanggan saat menggunakan SAMP dengan Amazon Connect.

Jika Anda memecahkan masalah integrasi Anda dengan penyedia identitas lain seperti Okta, Azure AD, dan lainnya PingIdentify, lihat Amazon Connect SSO Setup Workshop.

Pesan Kesalahan: Akses Ditolak. Akun Anda telah diautentikasi, tetapi belum dimasukkan ke dalam aplikasi ini.

Pesan kesalahan: akses ditolak.

Apa artinya ini?

Kesalahan ini berarti bahwa pengguna telah berhasil diautentikasi menggunakan SAMP ke titik akhir login AWS SAMP. Namun, pengguna tidak bisa berada matched/found di dalam Amazon Connect. Ini biasanya menunjukkan salah satu dari yang berikut:

  • Nama pengguna di Amazon Connect tidak cocok dengan atribut RoleSessionName SAMP yang ditentukan dalam respons SAMP yang ditampilkan oleh penyedia identitas.

  • Pengguna tidak ada di Amazon Connect.

  • Pengguna memiliki dua profil terpisah yang ditugaskan kepada mereka dengan SSO.

Resolusi

Gunakan langkah-langkah berikut untuk memeriksa atribut RoleSessionName SAMP yang ditentukan dalam respons SAMP yang dikembalikan oleh penyedia identitas, lalu ambil dan bandingkan dengan nama login di Amazon Connect.

  1. Lakukan tangkapan HAR (H TTP AR chive) untuk proses login. end-to-end Ini menangkap permintaan jaringan dari sisi browser. Simpan file HAR dengan nama file pilihan Anda, misalnya, saml.har.

    Untuk petunjuk, lihat Bagaimana cara membuat file HAR dari browser saya untuk kasus AWS Support?

  2. Gunakan editor teks untuk menemukan file HAR. SAMLResponse Atau, jalankan perintah berikut:

    $ grep -o "SAMLResponse=.*&" azuresaml.har | sed -E 's/SAMLResponse=(.*)&/\1/' > samlresponse.txt

    • Ini mencari SAMLresponse di file HAR dan menyimpannya ke file samlresponse.txt.

    • Responsnya adalah URL yang dikodekan dan isinya dikodekan Base64.

  3. Dekode respons URL dan kemudian memecahkan kode konten Base64 menggunakan alat pihak ketiga atau skrip sederhana. Misalnya:

    $ cat samlresponse.txt | python3 -c "import sys; from urllib.parse import unquote; print(unquote(sys.stdin.read()));" | base64 --decode > samlresponsedecoded.txt

    Skrip ini menggunakan perintah python sederhana untuk memecahkan kode SAMLResponse dari format aslinya yang dikodekan URL. Kemudian menerjemahkan respons dari Base64 dan mengeluarkan Saml Response dalam format teks biasa.

  4. Periksa respons yang diterjemahkan untuk atribut yang diperlukan. Misalnya, gambar berikut menunjukkan cara memeriksaRoleSessionName:

    Perintah grep untuk memeriksa rolesessionname.
  5. Periksa apakah nama pengguna yang dikembalikan dari langkah sebelumnya ada sebagai pengguna di instans Amazon Connect Anda:

    $ aws connect list-users --instance-id [INSTANCE_ID] | grep $username

    • Jika grep akhir tidak mengembalikan hasil maka ini berarti bahwa pengguna tidak ada di instans Amazon Connect Anda atau telah dibuat dengan kasus/kapitalisasi yang berbeda.

    • Jika instans Amazon Connect Anda memiliki banyak pengguna, respons dari panggilan ListUsers API mungkin diberi halaman. Gunakan yang NextToken dikembalikan oleh API untuk mengambil sisa pengguna. Untuk informasi selengkapnya, lihat ListUsers.

Contoh Saml Response

Berikut ini adalah gambar dari sampel Saml Response. Dalam hal ini, penyedia identitas (iDP) adalah Azure Active Directory (Azure AD).

Sampel Saml Response.

Pesan Kesalahan: Akses ditolak, Silakan hubungi administrator AWS akun Anda untuk bantuan.

Pesan Kesalahan: Akses ditolak.

Apa artinya ini?

Peran yang diasumsikan pengguna telah berhasil diautentikasi menggunakan SAMP. Namun, peran tersebut tidak memiliki izin untuk memanggil GetFederationToken API untuk Amazon Connect. Panggilan ini diperlukan agar pengguna dapat masuk ke instans Amazon Connect Anda menggunakan SAMP.

Resolusi

  1. Lampirkan kebijakan yang memiliki izin connect:GetFederationToken untuk peran yang ditemukan dalam pesan kesalahan. Berikut ini adalah contoh kebijakan:

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "connect:GetFederationToken", "Resource": [ "arn:aws:connect:ap-southeast-2:111122223333:instance/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/user/${aws:userid}" ] } ] }
  2. Gunakan konsol IAM untuk melampirkan kebijakan. Atau, gunakan attach-role-policy API, misalnya:

    $ aws iam attach-role-policy —role-name [ASSUMED_ROLE] —policy_arn [POLICY_WITH_GETFEDERATIONTOKEN]

Pesan Kesalahan: Sesi Kedaluwarsa

Jika Anda melihat pesan kedaluwarsa Sesi saat masuk, Anda mungkin hanya perlu menyegarkan token sesi. Buka penyedia identitas Anda dan masuk. Segarkan halaman Amazon Connect. Jika Anda masih mendapatkan pesan ini, hubungi tim TI Anda.