Konfigurasikan SAML pernyataan untuk respons otentikasi - 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.

Konfigurasikan SAML pernyataan untuk respons otentikasi

Setelah Anda memverifikasi identitas pengguna di organisasi Anda, penyedia identitas eksternal (iDP) mengirimkan respons otentikasi ke titik akhir di AWS SAML. https://region-code.signin.aws.amazon.com/saml Untuk daftar potensi region-code pengganti, lihat kolom Region di titik akhir AWS Masuk. Respons ini adalah POST permintaan yang menyertakan SAML token yang mematuhi standar HTTPPOSTBinding for SAML 2.0 dan yang berisi elemen, atau klaim berikut. Anda mengonfigurasi klaim ini di iDP SAML yang kompatibel. Lihat dokumentasi IdP Anda untuk instruksi tentang cara memasukkan klaim ini.

Ketika IDP mengirimkan respons yang berisi klaim AWS, banyak klaim yang masuk memetakan ke AWS kunci konteks. Kunci konteks ini dapat diperiksa dalam IAM kebijakan menggunakan Condition elemen. Daftar pemetaan yang tersedia mengikuti di bagian ini Memetakan SAML atribut untuk AWS mempercayai kunci konteks kebijakan.

Subject dan NameID

Kebijakan berikut menunjukkan sebuah contoh. Gantikan nilai Anda sendiri untuk nilai yang ditandai. Harus ada tepat satu elemen SubjectConfirmation dengan elemen SubjectConfirmationData yang menyertakan atribut NotOnOrAfter, dan atribut Recipient. Atribut ini mencakup nilai yang harus cocok dengan AWS titik akhirhttps://region-code.signin.aws.amazon.com/saml. Untuk daftar kemungkinan region-code nilai, lihat kolom Region di titik akhir AWS Masuk. Untuk AWS nilainya, Anda juga dapat menggunakanhttps://signin.aws.amazon.com/saml, seperti yang ditunjukkan pada contoh berikut.

NameIDelemen dapat memiliki nilai persisten, sementara, atau terdiri dari Format lengkap URI seperti yang disediakan oleh solusi IDP. Nilai persisten menunjukkan bahwa nilai dalam NameID adalah sama untuk pengguna di antara sesi. Jika nilainya bersifat sementara, pengguna memiliki NameID nilai yang berbeda untuk setiap sesi. Interaksi masuk tunggal mendukung jenis pengidentifikasi berikut:

  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName

  • urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName

  • urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos

  • urn:oasis:names:tc:SAML:2.0:nameid-format:entity

<Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">_cbb88bf52c2510eabe00c1642d4643f41430fe25e3</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData NotOnOrAfter="2013-11-05T02:06:42.876Z" Recipient="https://signin.aws.amazon.com/saml"/> </SubjectConfirmation> </Subject>
penting

Kunci saml:aud konteks berasal dari atribut SAML penerima karena SAML setara dengan bidang OIDC audiens, misalnya,accounts.google.com:aud.

PrincipalTagSAMLatribut

(Opsional) Anda dapat menggunakan elemen Attribute dengan atribut Name diatur ke https://aws.amazon.com/SAML/Attributes/PrincipalTag:{TagKey}. Elemen ini memungkinkan Anda untuk meneruskan atribut sebagai tag sesi dalam SAML pernyataan. Untuk informasi lebih lanjut tentang tag sesi, lihat Lulus tag sesi di AWS STS.

Untuk menyampaikan atribut sebagai tag sesi, sertakan elemen AttributeValue yang menentukan nilai tag. Misalnya, untuk melewati pasangan nilai kunci tag Project = Marketing dan CostCenter = 12345, gunakan atribut berikut. Termasuk elemen Attribute terpisah untuk setiap tag.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project"> <AttributeValue>Marketing</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter"> <AttributeValue>12345</AttributeValue> </Attribute>

Untuk mengatur tanda di atas sebagai transitif, sertakan elemen Attribute lain dengan atribut Name yang diatur ke https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys. Ini adalah atribut multinilai opsional yang menetapkan tanda sesi Anda sebagai transitif. Tag transitif tetap ada saat Anda menggunakan SAML sesi untuk mengambil peran lain. AWS Ini dikenal sebagai perangkaian peran. Misalnya, untuk mengatur tag Principal dan CostCenter yang bersifat transitif, gunakan atribut berikut untuk menentukan kunci.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>Project</AttributeValue> <AttributeValue>CostCenter</AttributeValue> </Attribute>

RoleSAMLatribut

Anda dapat menggunakan elemen Attribute dengan atribut Name diatur ke https://aws.amazon.com/SAML/Attributes/Role. Elemen ini berisi satu atau lebih AttributeValue elemen yang mencantumkan penyedia IAM identitas dan peran yang pengguna dipetakan oleh idP Anda. Penyedia IAM peran dan IAM identitas ditentukan sebagai pasangan yang dibatasi koma ARNs dalam format yang sama dengan PrincipalArn parameter RoleArn dan parameter yang diteruskan ke. AssumeRoleWithSAML Elemen ini harus memuat setidaknya satu pasangan peran-penyedia (elemen AttributeValue), dan dapat berisi beberapa pasangan. Jika elemen berisi beberapa pasangan, maka pengguna diminta untuk memilih peran mana yang akan diambil ketika mereka menggunakan Web SSO untuk masuk ke AWS Management Console.

penting

Nilai dari atribut Name dalam tag Attribute peka terhadap huruf besar-kecil. Nilai harus diatur ke https://aws.amazon.com/SAML/Attributes/Role dengan tepat.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role"> <AttributeValue>arn:aws:iam::account-number:role/role-name1,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> <AttributeValue>arn:aws:iam::account-number:role/role-name2,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> <AttributeValue>arn:aws:iam::account-number:role/role-name3,arn:aws:iam::account-number:saml-provider/provider-name</AttributeValue> </Attribute>

RoleSessionNameSAMLatribut

Anda dapat menggunakan elemen Attribute dengan atribut Name diatur ke https://aws.amazon.com/SAML/Attributes/RoleSessionName. Elemen ini berisi satu elemen AttributeValue yang menyediakan pengenal untuk kredensial sementara yang dikeluarkan ketika peran diambil. Anda dapat menggunakan ini untuk mengasosiasikan kredensial sementara dengan pengguna yang menggunakan aplikasi Anda. Elemen ini digunakan untuk menampilkan informasi pengguna di AWS Management Console. Nilai dalam elemen AttributeValue harus terdiri dari 2 hingga 64 karakter, dapat berisi hanya karakter alfanumerik, garis bawah, dan karakter berikut: . , + = @ - (tanda hubung). Tidak dapat berisi spasi. Nilai ini umumnya adalah ID pengguna (johndoe) atau alamat email (johndoe@example.com). Nilai tidak boleh berupa nilai yang mencakup spasi, seperti nama tampilan pengguna (John Doe).

penting

Nilai dari atribut Name dalam tag Attribute peka terhadap huruf besar-kecil. Nilai harus diatur ke https://aws.amazon.com/SAML/Attributes/RoleSessionName dengan tepat.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName"> <AttributeValue>user-id-name</AttributeValue> </Attribute>

SessionDurationSAMLatribut

(Opsional) Anda dapat menggunakan elemen Attribute dengan atribut Name diatur ke https://aws.amazon.com/SAML/Attributes/SessionDuration". Elemen ini berisi satu AttributeValue elemen yang menentukan berapa lama pengguna dapat mengakses AWS Management Console sebelum harus meminta kredensi sementara baru. Nilai adalah bilangan bulat yang mewakili jumlah detik untuk sesi. Nilai dapat berkisar dari 900 detik (15 menit) hingga 43200 detik (12 jam). Jika atribut ini tidak ada, maka kredensialnya bertahan selama satu jam (nilai default DurationSeconds parameter AssumeRoleWithSAMLAPI).

Untuk menggunakan atribut ini, Anda harus mengonfigurasi SAML penyedia untuk menyediakan akses masuk tunggal ke titik akhir web login AWS Management Console melalui konsol di. https://region-code.signin.aws.amazon.com/saml Untuk daftar kemungkinan region-code nilai, lihat kolom Region di titik akhir AWS Masuk. Anda dapat menggunakan yang berikut ini secara opsionalURL:https://signin.aws.amazon.com/static/saml. Perhatikan bahwa atribut ini hanya memperluas sesi ke AWS Management Console. Atribut ini tidak dapat memperpanjang masa pakai kredensial lainnya. Namun, jika ada dalam AssumeRoleWithSAML API panggilan, itu dapat digunakan untuk mempersingkat durasi sesi. Masa pakai kredensial default yang dikembalikan oleh panggilan adalah 60 menit.

Perhatikan juga bahwa jika atribut SessionNotOnOrAfter juga ditentukan, nilai yang lebih sedikit dari kedua atribut, SessionDuration atau SessionNotOnOrAfter, menetapkan durasi maksimum sesi konsol.

Saat Anda mengaktifkan sesi konsol dengan durasi yang diperpanjang, risiko penyusupan kredensial meningkat. Untuk membantu mengurangi risiko ini, Anda dapat langsung menonaktifkan sesi konsol aktif untuk peran apa pun dengan memilih Cabut Sesi pada halaman Ringkasan Peran di konsol. IAM Untuk informasi selengkapnya, lihat Mencabut kredensi IAM keamanan sementara peran.

penting

Nilai dari atribut Name dalam tag Attribute peka terhadap huruf besar-kecil. Nilai harus diatur ke https://aws.amazon.com/SAML/Attributes/SessionDuration dengan tepat.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/SessionDuration"> <AttributeValue>1800</AttributeValue> </Attribute>

SourceIdentitySAMLatribut

(Opsional) Anda dapat menggunakan elemen Attribute dengan atribut Name diatur ke https://aws.amazon.com/SAML/Attributes/SourceIdentity. Elemen ini berisi satu AttributeValue elemen yang menyediakan pengenal untuk orang atau aplikasi yang menggunakan IAM peran. Nilai untuk identitas sumber tetap ada saat Anda menggunakan SAML sesi untuk mengambil peran lain yang AWS dikenal sebagai rantai peran. Nilai untuk identitas sumber hadir dalam permintaan untuk setiap tindakan yang diambil selama sesi peran. Nilai yang ditetapkan tidak dapat diubah selama sesi peran. Administrator kemudian dapat menggunakan AWS CloudTrail log untuk memantau dan mengaudit informasi identitas sumber untuk menentukan siapa yang melakukan tindakan dengan peran bersama.

Nilai dalam elemen AttributeValue harus terdiri dari 2 hingga 64 karakter, dapat berisi hanya karakter alfanumerik, garis bawah, dan karakter berikut: . , + = @ - (tanda hubung). Tidak dapat berisi spasi. Nilai biasanya merupakan atribut yang berhubungan dengan pengguna seperti id pengguna (johndoe) atau alamat email (johndoe@example.com). Nilai tidak boleh berupa nilai yang mencakup spasi, seperti nama tampilan pengguna (John Doe). Untuk informasi selengkapnya tentang penggunaan identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan.

penting

Jika SAML pernyataan Anda dikonfigurasi untuk menggunakan SourceIdentityatribut, maka kebijakan kepercayaan peran Anda juga harus menyertakan sts:SetSourceIdentity tindakan, jika tidak, operasi peran asumsi akan gagal. Untuk informasi selengkapnya tentang penggunaan identitas sumber, lihat Memantau dan mengontrol tindakan yang diambil dengan peran yang diasumsikan.

Untuk meneruskan atribut identitas sumber, sertakan elemen AttributeValue yang menentukan nilai identitas sumber. Misalnya, untuk meneruskan identitas sumber DiegoRamirez menggunakan atribut berikut.

<Attribute Name="https://aws.amazon.com/SAML/Attributes/SourceIdentity"> <AttributeValue>DiegoRamirez</AttributeValue>

Memetakan SAML atribut untuk AWS mempercayai kunci konteks kebijakan

Tabel di bagian ini mencantumkan SAML atribut yang umum digunakan dan bagaimana mereka memetakannya untuk mempercayai kunci konteks kondisi kebijakan AWS. Anda dapat menggunakan kunci ini untuk mengontrol akses ke sebuah peran. Untuk melakukan itu, bandingkan kunci dengan nilai yang disertakan dalam pernyataan yang menyertai permintaan SAML akses.

penting

Kunci ini hanya tersedia dalam kebijakan IAM kepercayaan (kebijakan yang menentukan siapa yang dapat mengambil peran) dan tidak berlaku untuk kebijakan izin.

Dalam tabel eduPerson dan eduOrg atribut, nilai diketik baik sebagai string atau sebagai daftar string. Untuk nilai string, Anda dapat menguji nilai-nilai ini dalam kebijakan IAM kepercayaan menggunakan StringEquals atau StringLike kondisi. Untuk nilai yang berisi daftar string, Anda dapat menggunakan ForAnyValue dan ForAllValues operator set kebijakan untuk menguji nilai-nilai dalam kebijakan kepercayaan.

catatan

Anda harus menyertakan hanya satu klaim per kunci AWS konteks. Jika Anda menyertakan lebih dari satu, hanya satu klaim yang akan dipetakan.

Tabel berikut menunjukkan eduPerson dan eduOrg atribut.

eduPerson atau eduOrg atribut (Namekunci) Peta ke kunci AWS konteks ini (FriendlyNamekunci) Tipe

urn:oid:1.3.6.1.4.1.5923.1.1.1.1

eduPersonAffiliation

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.2

eduPersonNickname

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.3

eduPersonOrgDN

String

urn:oid:1.3.6.1.4.1.5923.1.1.1.4

eduPersonOrgUnitDN

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.5

eduPersonPrimaryAffiliation

String

urn:oid:1.3.6.1.4.1.5923.1.1.1.6

eduPersonPrincipalName

String

urn:oid:1.3.6.1.4.1.5923.1.1.1.7

eduPersonEntitlement

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.8

eduPersonPrimaryOrgUnitDN

String

urn:oid:1.3.6.1.4.1.5923.1.1.1.9

eduPersonScopedAffiliation

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.10

eduPersonTargetedID

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.1.1.11

eduPersonAssurance

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.2.1.2

eduOrgHomePageURI

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.2.1.3

eduOrgIdentityAuthNPolicyURI

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.2.1.4

eduOrgLegalName

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.2.1.5

eduOrgSuperiorURI

Daftar string

urn:oid:1.3.6.1.4.1.5923.1.2.1.6

eduOrgWhitePagesURI

Daftar string

urn:oid:2.5.4.3

cn

Daftar string

Tabel berikut menunjukkan atribut Active Directory.

Atribut AD Peta ke kunci AWS konteks ini Tipe

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

name

String

http://schemas.xmlsoap.org/claims/CommonName

commonName

String

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname

givenName

String

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname

surname

String

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

mail

String

http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid

uid

String

Tabel berikut menunjukkan X.500 atribut.

atribut X.500 Peta ke kunci AWS konteks ini Tipe

2.5.4.3

commonName

String

2.5.4.4

surname

String

2.4.5.42

givenName

String

2.5.4.45

x500UniqueIdentifier

String

0.9.2342.19200300100.1.1

uid

String

0.9.2342.19200300100.1.3

mail

String

0.9.2342.19200300.100.1.45

organizationStatus

Tali