Referensi klaim token SAML
Platform identitas Microsoft mengeluarkan beberapa jenis token keamanan saat memproses tiap aliran autentikasi. Dokumen ini menjelaskan format, karakteristik keamanan, dan konten token SAML 2.0.
Klaim dalam token SAML
Nama | Klaim JWT Ekuivalen | Deskripsi | Contoh |
---|---|---|---|
Audiens | aud |
Penerima token yang dimaksud. Aplikasi yang menerima token harus memverifikasi bahwa nilai audiens sudah benar dan menolak token apa pun yang ditujukan untuk audiens yang berbeda. | <AudienceRestriction> <Audience> https://contoso.com </Audience> </AudienceRestriction> |
Autentikasi Instan | Merekam tanggal dan waktu ketika autentikasi terjadi. | <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z"> |
|
Metode Autentikasi | amr |
Mengidentifikasi bagaimana subjek token diautentikasi. | <AuthnContextClassRef> http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password </AuthnContextClassRef> |
Nama Depan | given_name |
Memberikan nama pertama atau "diberikan" pengguna, seperti yang diatur pada objek pengguna Microsoft Entra. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"> <AttributeValue>Frank<AttributeValue> |
Grup | groups |
Menyediakan ID objek yang mewakili keanggotaan grup subjek. Nilai ini unik (lihat ID Objek) dan dapat digunakan untuk mengelola akses dengan aman, seperti memberlakukan otorisasi untuk mengakses sumber daya. Grup yang termasuk dalam klaim grup dikonfigurasi per aplikasi, melalui properti "groupMembershipClaims" manifes aplikasi. Nilai null akan mengecualikan semua grup, nilai "SecurityGroup" akan mencakup peran direktori dan keanggotaan Grup Keamanan Direktori Aktif, dan nilai "Semua" akan mencakup Grup Keamanan dan Daftar Distribusi Microsoft 365. Catatan: Jika jumlah grup yang berada di pengguna melampaui batas (150 untuk SAML, 200 untuk JWT), klaim kelebihan akan ditambahkan ke sumber klaim yang menunjuk ke titik akhir Graph yang berisi daftar grup untuk pengguna. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups"> <AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue> |
Indikator Kelebihan Grup | groups:src1 |
Untuk permintaan token yang tidak dibatasi panjang, tetapi masih terlalu besar untuk token, tautan ke daftar grup lengkap untuk pengguna akan disertakan. Untuk SAML, ini ditambahkan sebagai klaim baru menggantikan klaim groups . Catatan: API Microsoft Azure Active Directory Graph digantikan oleh API Microsoft Graph. Untuk mempelajari selengkapnya tentang titik akhir yang setara, lihat pengguna: getMemberObjects. |
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link"> <AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue> |
Penyedia Identitas | idp |
Merekam penyedia identitas yang mengautentikasi subjek token. Nilai ini identik dengan nilai klaim Penerbit, kecuali akun pengguna berada di penyewa yang berbeda dengan penerbit. | <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider"> <AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue> |
IssuedAt | iat |
Menyimpan waktu ketika token dikeluarkan. Ini sering digunakan untuk mengukur kesegaran token. | <Assertion ID="_d5ec7a9b-8d8f-4b44-8c94-9812612142be" IssueInstant="2014-01-06T20:20:23.085Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:assertion"> |
Penerbit | iss |
Mengidentifikasi layanan token keamanan (STS) yang membangun dan mengembalikan token. Dalam token yang dikembalikan MICROSOFT Entra ID, penerbit sts.windows.net. GUID dalam nilai klaim Pengeluar Sertifikat adalah ID penyewa direktori Microsoft Entra. ID penyewa adalah pengidentifikasi direktori yang tidak dapat diubah dan andal. | <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer> |
Nama Belakang | family_name |
Menyediakan nama belakang, nama keluarga, atau nama keluarga pengguna seperti yang didefinisikan dalam objek pengguna Microsoft Entra. | <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"> <AttributeValue>Miller<AttributeValue> |
Nama | unique_name |
Memberi nilai yang dapat dibaca manusia yang mengidentifikasi subjek token. Nilai ini tidak dijamin unik dalam penyewa dan dirancang untuk digunakan hanya untuk tujuan tampilan. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"> <AttributeValue>frankm@contoso.com<AttributeValue> |
ID Objek | oid |
Berisi pengidentifikasi unik objek di ID Microsoft Entra. Nilai ini tidak dapat diubah dan tidak dapat ditetapkan ulang atau digunakan kembali. Gunakan ID objek untuk mengidentifikasi objek dalam kueri ke ID Microsoft Entra. | <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier"> <AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue> |
Peran | roles |
Mewakili semua peran aplikasi bahwa subjek sudah diberikan baik secara langsung maupun tidak langsung melalui keanggotaan grup dan dapat digunakan untuk menegakkan kontrol akses berbasis peran. Peran aplikasi ditetapkan per aplikasi, melalui properti appRoles dari manifes aplikasi. Properti value dari tiap peran aplikasi adalah nilai yang muncul dalam klaim peran. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"> |
Subjek | sub |
Mengidentifikasi prinsipal yang tokennya menegaskan informasi, seperti pengguna aplikasi. Nilai ini tidak dapat diubah dan tidak dapat ditetapkan ulang atau digunakan kembali, sehingga dapat digunakan untuk melakukan pemeriksaan otorisasi dengan aman. Karena subjek selalu ada dalam token masalah ID Microsoft Entra, sebaiknya gunakan nilai ini dalam sistem otorisasi tujuan umum. SubjectConfirmation bukan klaim. Ini menjelaskan bagaimana subjek token diverifikasi. Bearer menunjukkan bahwa subjek dikonfirmasi oleh kepemilikan token mereka. |
<Subject> <NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" /> </Subject> |
ID Penyewa | tid |
Pengidentifikasi yang tidak dapat digunakan kembali dan tidak dapat digunakan kembali yang mengidentifikasi penyewa direktori yang mengeluarkan token. Anda dapat menggunakan nilai ini untuk mengakses sumber daya direktori khusus penyewa dalam aplikasi multi-penyewa. Misalnya, Anda dapat menggunakan nilai ini untuk mengidentifikasi penyewa dalam panggilan ke API Graph. | <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid"> <AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue> |
Masa Pakai Token | nbf , exp |
Menentukan interval waktu ketika token valid. Layanan yang memvalidasi token harus memverifikasi bahwa tanggal saat ini berada dalam masa pakai token, jika tidak, layanan akan menolak token. Layanan ini mungkin memungkinkan hingga lima menit di luar rentang masa pakai token untuk memperhitungkan perbedaan waktu jam ("ke condong waktu") antara ID Microsoft Entra dan layanan. | <Conditions NotBefore="2013-03-18T21:32:51.261Z" NotOnOrAfter="2013-03-18T22:32:51.261Z" > |
Contoh Token SAML
Ini adalah sampel token SAML khas.
<?xml version="1.0" encoding="UTF-8"?>
<t:RequestSecurityTokenResponse xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
<t:Lifetime>
<wsu:Created xmlns:wsu="https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2014-12-24T05:15:47.060Z</wsu:Created>
<wsu:Expires xmlns:wsu="https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2014-12-24T06:15:47.060Z</wsu:Expires>
</t:Lifetime>
<wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<EndpointReference xmlns="https://www.w3.org/2005/08/addressing">
<Address>https://contoso.onmicrosoft.com/MyWebApp</Address>
</EndpointReference>
</wsp:AppliesTo>
<t:RequestedSecurityToken>
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" ID="_aaaaaaaa-0b0b-1c1c-2d2d-333333333333" IssueInstant="2014-12-24T05:20:47.060Z" Version="2.0">
<Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer>
<ds:Signature xmlns:ds="https://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="https://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="https://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<ds:Reference URI="#_aaaaaaaa-0b0b-1c1c-2d2d-333333333333">
<ds:Transforms>
<ds:Transform Algorithm="https://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="https://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="https://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>E3fH4iJ5kL6mN7oP8qR9sT0uV1wX2y/nDY=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>aB1cD2eF3gH4i...J5kL6-mN7oP8qR==</ds:SignatureValue>
<KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w</X509Certificate>
</X509Data>
</KeyInfo>
</ds:Signature>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">m_H3naDei2LNxUmEcWd0BZlNi_jVET1pMLR6iQSuYmo</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
</Subject>
<Conditions NotBefore="2014-12-24T05:15:47.060Z" NotOnOrAfter="2014-12-24T06:15:47.060Z">
<AudienceRestriction>
<Audience>https://contoso.onmicrosoft.com/MyWebApp</Audience>
</AudienceRestriction>
</Conditions>
<AttributeStatement>
<Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier">
<AttributeValue>aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid">
<AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>sample.admin@contoso.onmicrosoft.com</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<AttributeValue>Admin</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<AttributeValue>Sample</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups">
<AttributeValue>5581e43f-6096-41d4-8ffa-04e560bab39d</AttributeValue>
<AttributeValue>07dd8a89-bf6d-4e81-8844-230b77145381</AttributeValue>
<AttributeValue>0e129f4g-6b0a-4944-982d-f776000632af</AttributeValue>
<AttributeValue>3ee07328-52ef-4739-a89b-109708c22fb5</AttributeValue>
<AttributeValue>329k14b3-1851-4b94-947f-9a4dacb595f4</AttributeValue>
<AttributeValue>6e32c650-9b0a-4491-b429-6c60d2ca9a42</AttributeValue>
<AttributeValue>f3a169a7-9a58-4e8f-9d47-b70029v07424</AttributeValue>
<AttributeValue>8e2c86b2-b1ad-476d-9574-544d155aa6ff</AttributeValue>
<AttributeValue>1bf80264-ff24-4866-b22c-6212e5b9a847</AttributeValue>
<AttributeValue>4075f9c3-072d-4c32-b542-03e6bc678f3e</AttributeValue>
<AttributeValue>76f80527-f2cd-46f4-8c52-8jvd8bc749b1</AttributeValue>
<AttributeValue>0ba31460-44d0-42b5-b90c-47b3fcc48e35</AttributeValue>
<AttributeValue>edd41703-8652-4948-94a7-2d917bba7667</AttributeValue>
</Attribute>
<Attribute Name="http://schemas.microsoft.com/identity/claims/identityprovider">
<AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</AttributeValue>
</Attribute>
</AttributeStatement>
<AuthnStatement AuthnInstant="2014-12-23T18:51:11.000Z">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
</t:RequestedSecurityToken>
<t:RequestedAttachedReference>
<SecurityTokenReference xmlns="https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:d3p1="https://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" d3p1:TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0">
<KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID">_aaaaaaaa-0b0b-1c1c-2d2d-333333333333</KeyIdentifier>
</SecurityTokenReference>
</t:RequestedAttachedReference>
<t:RequestedUnattachedReference>
<SecurityTokenReference xmlns="https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:d3p1="https://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" d3p1:TokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0">
<KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID">_aaaaaaaa-0b0b-1c1c-2d2d-333333333333</KeyIdentifier>
</SecurityTokenReference>
</t:RequestedUnattachedReference>
<t:TokenType>http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0</t:TokenType>
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
<t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType>
</t:RequestSecurityTokenResponse>
Langkah berikutnya
- Untuk mempelajari selengkapnya tentang mengelola kebijakan masa pakai token menggunakan Microsoft Graph API, lihat gambaran umum sumber daya kebijakan Microsoft Entra.
- Tambahkan klaim kustom dan opsional ke token untuk aplikasi Anda.
- Gunakan Akses Menyeluruh (SSO) dengan SAML.
- Menggunakan protokol SAML Azure Single Sign-Out