Respons SAML untuk SSO berbasis pengguna harus mencakup elemen pernyataan tertentu agar Alibaba Cloud dapat memverifikasi identitas pengguna.
Latar Belakang
Dalam alur SSO berbasis SAML 2.0, setelah pengguna masuk ke penyedia identitas (IdP), IdP menghasilkan respons autentikasi yang berisi pernyataan SAML menggunakan binding HTTP-POST. Browser atau aplikasi secara otomatis meneruskan respons ini ke Alibaba Cloud, yang kemudian menggunakan pernyataan SAML tersebut untuk memverifikasi identitas pengguna. Pernyataan tersebut harus mencakup elemen-elemen yang dipersyaratkan oleh Alibaba Cloud; jika tidak, SSO akan gagal.
Respons SAML
IdP Anda harus mengirimkan respons SAML ke Alibaba Cloud yang memenuhi persyaratan berikut. Semua elemen wajib disertakan agar SSO berhasil.
<saml2p:Response>
<saml2:Issuer>...</saml2:Issuer>
<saml2p:Status>
...
</saml2p:Status>
<saml2:Assertion>
<saml2:Issuer>...</saml2:Issuer>
<ds:Signature>
...
</ds:Signature>
<saml2:Subject>
<saml2:NameID>${NameID}</saml2:NameID>
<saml2:SubjectConfirmation>
...
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions>
<saml2:AudienceRestriction>
<saml2:Audience>${Audience}</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement>
...
</saml2:AuthnStatement>
</saml2:Assertion>
</saml2p:Response>
Elemen pernyataan SAML
-
General elements of the SAML 2.0 protocol
Spesifikasi SAML 2.0 menyediakan detail lengkap protokol tersebut.
Elemen
Deskripsi
IssuerNilai
Issuerharus sesuai denganEntityIDdalam file metadata yang Anda unggah di pengaturan SSO berbasis pengguna Alibaba Cloud.SignaturePernyataan SAML harus ditandatangani untuk mencegah manipulasi. Elemen
Signaturedan elemen anaknya harus berisi nilai signature, algoritma penandatanganan, serta informasi terkait lainnya.SubjectElemen
Subjectharus berisi elemen-elemen berikut:-
Tepat satu elemen
NameID, yang mengidentifikasi RAM user dalam akun Alibaba Cloud Anda. Bagian elemen NameID dan contoh NameID di bawah menjelaskan persyaratan formatnya. -
Tepat satu elemen
SubjectConfirmationyang berisi elemenSubjectConfirmationData. ElemenSubjectConfirmationDataharus memiliki atribut-atribut berikut:-
NotOnOrAfter: Periode validitas pernyataan SAML. -
Recipient: Alibaba Cloud memeriksa nilai ini untuk memverifikasi bahwa pihak tersebut adalah penerima yang dituju. Nilainya harus berupahttps://signin-intl.aliyun.com/saml/SSO.
Contoh elemen
Subject:<Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">Alice@example.onaliyun.com</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData NotOnOrAfter="2019-01-01T00:01:00.000Z" Recipient="https://signin-intl.aliyun.com/saml/SSO"/> </SubjectConfirmation> </Subject> -
ConditionsElemen
Conditionsharus berisi elemenAudienceRestriction, dengan satu atau beberapa elemenAudience. Setidaknya satu elemenAudienceharus memiliki nilaihttps://signin-intl.aliyun.com/${accountId}/saml/SSO, di mana${accountId}adalah ID akun Alibaba Cloud.Contoh elemen
Conditions:<Conditions> <AudienceRestriction> <Audience>https://signin-intl.aliyun.com/${accountId}/saml/SSO</Audience> </AudienceRestriction> </Conditions> -
-
NameID element
Alibaba Cloud menggunakan Nama Utama Pengguna (User Principal Name/UPN) untuk menemukan RAM user. Pernyataan SAML dari IdP Anda harus berisi UPN pengguna dalam elemen
NameIDagar SSO berbasis pengguna dapat berfungsi.Pada IdP Anda, petakan bidang yang sesuai dengan UPN RAM user ke elemen
NameID.Nilai
NameIDharus menggunakan salah satu format berikut:-
Gunakan Domain Alias sebagai akhiran untuk elemen
NameIDdalam format<username>@<domain_alias>. Dalam format ini,<username>adalah username RAM user dan<domain_alias>adalah akhiran logon kustom. Buat dan verifikasi akhiran logon kustom. -
Gunakan Auxiliary Domain Name sebagai akhiran untuk elemen
NameIDdalam format<username>@<auxiliary_domain>. Dalam format ini,<username>adalah username RAM user dan<auxiliary_domain>adalah akhiran logon tambahan. Konfigurasikan SAML untuk SP Alibaba Cloud untuk SSO berbasis pengguna.CatatanJika Anda mengonfigurasi baik domain alias maupun domain tambahan, domain tambahan akan diabaikan. Dalam kasus ini, Anda hanya dapat menggunakan domain alias untuk elemen
NameID. -
Gunakan Default Domain sebagai akhiran untuk elemen
NameID. Formatnya adalah<username>@<default_domain>, di mana<username>adalah username RAM user dan<default_domain>adalah akhiran logon default. Kelola nama domain logon untuk RAM user.CatatanAkhiran logon default tetap berlaku untuk
NameIDmeskipun Anda telah menetapkan akhiran logon kustom atau tambahan.
-
-
NameID examples
Username RAM adalah
Alice, dan akhiran logon default adalahexample.onaliyun.com.-
Jika akhiran logon kustom diatur ke
example.com, nilaiNameIDadalahAlice@example.onaliyun.comatauAlice@example.com. -
Jika akhiran logon kustom tidak diatur dan akhiran logon tambahan diatur ke
example.net, nilaiNameIDdapat berupaAlice@example.onaliyun.comatauAlice@example.net. -
Jika Anda mengatur akhiran logon kustom ke
example.comlalu mengatur akhiran logon tambahan keexample.net, nilaiNameIDadalahAlice@example.onaliyun.comatauAlice@example.com. Akhiran logon tambahan tidak berlaku dalam kasus ini.
-