Memecahkan masalah federasi SAMP 2.0 dengan AWS - AWS Identity and Access Management

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

Memecahkan masalah federasi SAMP 2.0 dengan AWS

Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki masalah yang mungkin Anda temukan saat bekerja dengan SAML 2.0 dan federasi dengan IAM.

Kesalahan: Permintaan Anda menyertakan respons SAMP yang tidak valid. Untuk logout, klik di sini.

Kesalahan ini dapat terjadi saat respons SAML dari penyedia identitas tidak menyertakan atribut dengan Name yang ditetapkan ke https://aws.amazon.com/SAML/Attributes/Role. Atribut harus berisi satu atau beberapa elemen AttributeValue, masing-masing berisi sepasang string yang dipisahkan koma:

  • ARN peran yang tempat pengguna dapat dipetakan

  • ARN penyedia SAML

Untuk informasi selengkapnya, lihat Konfigurasikan pernyataan SAMP untuk respons otentikasi. Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di Cara melihat respons SAML di peramban Anda untuk pemecahan masalah.

Kesalahan: RoleSessionName diperlukan dalam AuthnResponse (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan: InvalidIdentityToken)

Kesalahan ini dapat terjadi saat respons SAML dari penyedia identitas tidak menyertakan atribut dengan Name yang ditetapkan ke https://aws.amazon.com/SAML/Attributes/RoleSessionName. Nilai atribut adalah pengidentifikasi untuk pengguna dan umumnya adalah ID pengguna atau alamat email.

Untuk informasi selengkapnya, lihat Konfigurasikan pernyataan SAMP untuk respons otentikasi. Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di Cara melihat respons SAML di peramban Anda untuk pemecahan masalah.

Kesalahan: Tidak berwenang untuk melakukan sts: AssumeRole withSAMP (layanan: AWSSecurityTokenService; kode status: 403; kode kesalahan:) AccessDenied

Kesalahan ini dapat terjadi jika IAM role yang ditentukan dalam respons SAML salah eja atau tidak ada. Pastikan untuk menggunakan nama yang tepat dari peran Anda, karena nama peran bersifat peka kapitalisasi huruf. Perbaiki nama peran dalam konfigurasi penyedia layanan SAML.

Anda diperbolehkan mengakses hanya jika kebijakan kepercayaan peran Anda mencakup tindakan sts:AssumeRoleWithSAML. Jika pernyataan SAML Anda dikonfigurasikan untuk menggunakan atribut PrincipalTag, kebijakan kepercayaan Anda juga harus mencakup tindakan sts:TagSession. Untuk informasi selengkapnya tentang tanda sesi, lihat Melewati tag sesi di AWS STS.

Kesalahan ini dapat terjadi jika Anda tidak memiliki izin sts:SetSourceIdentity dalam kebijakan kepercayaan peran Anda. Jika pernyataan SAML Anda dikonfigurasikan untuk menggunakan atribut SourceIdentity, kebijakan kepercayaan Anda juga harus mencakup tindakan sts:SetSourceIdentity. Untuk informasi selengkapnya tentang identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan.

Kesalahan ini juga dapat terjadi jika pengguna gabungan tidak memiliki izin untuk mengambil peran tersebut. Peran tersebut harus memiliki kebijakan kepercayaan yang menentukan ARN dari penyedia identitas SAMP IAM sebagai. Principal Peran ini juga berisi kondisi yang mengontrol pengguna mana yang dapat mengasumsikan peran tersebut. Pastikan bahwa pengguna Anda memenuhi persyaratan kondisi.

Kesalahan ini juga dapat terjadi jika respons SAML tidak mencakup Subject yang mengandung NameID.

Untuk informasi selengkapnya, lihat Menetapkan Izin di AWS untuk Pengguna Gabungan dan Konfigurasikan pernyataan SAMP untuk respons otentikasi. Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di Cara melihat respons SAML di peramban Anda untuk pemecahan masalah.

Kesalahan: RoleSessionName di AuthnResponse harus cocok [A-za-Z_0-9+=, .@-] {2,64} (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken

Kesalahan ini dapat terjadi jika nilai atribut RoleSessionName terlalu panjang atau mengandung karakter yang tidak valid. Panjang valid maksimum adalah 64 karakter.

Untuk informasi selengkapnya, lihat Konfigurasikan pernyataan SAMP untuk respons otentikasi. Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di Cara melihat respons SAML di peramban Anda untuk pemecahan masalah.

Kesalahan: Identitas Sumber harus cocok dengan [A-za-Z_0-9+=, .@-] {2,64} dan tidak dimulai dengan "aws:" (layanan:; kode status: 400; kode kesalahan: AWSSecurityTokenService) InvalidIdentityToken

Kesalahan ini dapat terjadi jika nilai atribut sourceIdentity terlalu panjang atau mengandung karakter yang tidak valid. Panjang valid maksimum adalah 64 karakter. Untuk informasi selengkapnya tentang identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan.

Untuk informasi selengkapnya tentang cara membuat pernyataan SAML, lihat Konfigurasikan pernyataan SAMP untuk respons otentikasi. Untuk melihat respons SAML di peramban Anda, ikuti langkah-langkah yang tercantum di Cara melihat respons SAML di peramban Anda untuk pemecahan masalah.

Kesalahan: Tanda tangan respons tidak valid (layanan: AWSSecurityTokenService; kode status: 400; kode kesalahan:) InvalidIdentityToken

Kesalahan ini dapat terjadi saat metadata federasi penyedia identitas tidak cocok dengan metadata penyedia identitas IAM. Misalnya, file metadata untuk penyedia layanan identitas mungkin telah berubah untuk memperbarui sertifikat yang kedaluwarsa. Unduh file metadata SAML yang diperbarui dari penyedia layanan identitas Anda. Kemudian perbarui di entitas penyedia AWS identitas yang Anda tentukan di IAM dengan perintah aws iam update-saml-provider CLI lintas platform atau cmdlet. Update-IAMSAMLProvider PowerShell

Kesalahan: Gagal mengambil peran: Penerbit tidak hadir di penyedia tertentu (layanan: AWSOpenIdDiscoveryService; kode status: 400; kode kesalahan: AuthSamlInvalidSamlResponseException)

Kesalahan ini dapat terjadi jika penerbit dalam respons SAML tidak cocok dengan penerbit yang dinyatakan dalam file metadata federasi. File metadata diunggah AWS saat Anda membuat penyedia identitas di IAM.

Kesalahan: Tidak dapat mengurai metadata.

Kesalahan ini dapat terjadi jika Anda tidak memformat file metadata Anda dengan benar.

Saat Anda membuat atau mengelola penyedia identitas SAMP di AWS Management Console, Anda harus mengambil dokumen metadata SAMP dari penyedia identitas Anda.

File metadata ini mencakup nama penerbit, informasi kedaluwarsa, dan kunci yang dapat digunakan untuk memvalidasi respons otentikasi SAMP (pernyataan) yang diterima dari iDP. File metadata harus dienkode dalam format UTF-8 tanpa tanda urutan byte (BOM). Untuk menghapus BOM, Anda dapat mengkode file sebagai UTF-8 menggunakan alat bantu edit teks, seperti Notepad++.

Sertifikat x.509 yang disertakan sebagai bagian dari dokumen metadata SAMP harus menggunakan ukuran kunci minimal 1024 bit. Selain itu, sertifikat x.509 juga harus bebas dari ekstensi berulang. Anda dapat menggunakan ekstensi, tetapi ekstensi hanya dapat muncul sekali dalam sertifikat. Jika sertifikat x.509 tidak memenuhi salah satu kondisi, pembuatan IDP gagal dan mengembalikan kesalahan “Tidak dapat mengurai metadata”.

Seperti yang didefinisikan oleh SAMP V2.0 Metadata Interoperability Profile Versi 1.0, IAM tidak mengevaluasi atau mengambil tindakan terkait berakhirnya sertifikat X.509 dokumen metadata.

Kesalahan: Penyedia yang ditentukan tidak ada.

Kesalahan ini dapat terjadi jika nama penyedia yang Anda tentukan dalam pernyataan SAML tidak cocok dengan nama penyedia yang dikonfigurasikan dalam IAM. Untuk informasi selengkapnya tentang melihat nama penyedia, lihat Buat penyedia identitas SAMP di IAM.

Kesalahan: Diminta DurationSeconds melebihi MaxSessionDuration set untuk peran ini.

Kesalahan ini dapat terjadi jika Anda mengambil peran dari AWS CLI atau API.

Saat Anda menggunakan operasi CLI assume-role-with-saml AssumeRole atau withSAMP API untuk mengambil peran, Anda dapat menentukan nilai untuk parameter tersebut. DurationSeconds Anda dapat menentukan nilai dari 900 detik (15 menit) hingga pengaturan durasi sesi maksimum untuk peran tersebut. Jika Anda menentukan nilai yang lebih tinggi dari pengaturan ini, operasi gagal. Misalnya, jika Anda menentukan durasi sesi 12 jam, tetapi administrator Anda mengatur durasi sesi maksimum menjadi 6 jam, operasi Anda gagal. Untuk mempelajari cara melihat nilai maksimum untuk peran Anda, lihat Lihat pengaturan durasi sesi maksimum untuk peran.

Kesalahan: Respons tidak berisi audiens yang diperlukan.

Kesalahan ini dapat terjadi jika ada ketidakcocokan antara URL audiens dan penyedia identitas dalam konfigurasi SAMP. Pastikan bahwa pengenal pihak yang mengandalkan penyedia identitas (IDP) Anda sama persis dengan URL audiens (ID entitas) yang disediakan dalam konfigurasi SAMP.