Referens för SAML-tokenanspråk
Microsofts identitetsplattform genererar flera typer av säkerhetstoken i bearbetningen av varje autentiseringsflöde. Det här dokumentet beskriver formatet, säkerhetsegenskaperna och innehållet i SAML 2.0-token.
Anspråk i SAML-token
Name | Motsvarande JWT-anspråk | beskrivning | Exempel |
---|---|---|---|
Målgrupp | aud |
Den avsedda mottagaren av token. Programmet som tar emot token måste kontrollera att målgruppsvärdet är korrekt och avvisa eventuella token som är avsedda för en annan målgrupp. | <AudienceRestriction> <Audience> https://contoso.com </Audience> </AudienceRestriction> |
Autentiseringstillfälle | Registrerar datum och tid när autentiseringen inträffade. | <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z"> |
|
Autentiseringsmetod | amr |
Identifierar hur ämnet för token autentiserades. | <AuthnContextClassRef> http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password </AuthnContextClassRef> |
Förnamn | given_name |
Anger användarens första eller "angivna" namn enligt inställningen för Microsoft Entra-användarobjektet. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"> <AttributeValue>Frank<AttributeValue> |
Grupper | groups |
Tillhandahåller objekt-ID:t som representerar ämnets gruppmedlemskap. Dessa värden är unika (se Objekt-ID) och kan användas på ett säkert sätt för att hantera åtkomst, till exempel framtvinga auktorisering för åtkomst till en resurs. De grupper som ingår i gruppanspråket konfigureras per program, via egenskapen "groupMembershipClaims" för programmanifestet. Värdet null utesluter alla grupper, värdet "SecurityGroup" innehåller katalogroller och Active Directory Security Group-medlemskap, och värdet "Alla" innehåller både säkerhetsgrupper och Microsoft 365-distributionslistor. Anmärkningar: Om antalet grupper som användaren är i överskrider en gräns (150 för SAML, 200 för JWT) läggs ett överförbrukningsanspråk till de anspråkskällor som pekar på Graph-slutpunkten som innehåller listan över grupper för användaren. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups"> <AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue> |
Indikator för överförbrukning av grupper | groups:src1 |
För tokenbegäranden som inte är längdbegränsade men fortfarande för stora för token inkluderas en länk till listan med fullständiga grupper för användaren. För SAML läggs detta till som ett nytt anspråk i stället för anspråket groups . Anmärkningar: Azure AD Graph API ersätts av Microsoft Graph API. Mer information om motsvarande slutpunkt finns i användare: getMemberObjects. |
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link"> <AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue> |
Identitetsprovider | idp |
Registrerar den identitetsprovider som har autentiserat subjektet för token. Det här värdet är identiskt med värdet för utfärdaranspråket såvida inte användarkontot finns i en annan klientorganisation än utfärdaren. | <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider"> <AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue> |
IssuedAt | iat |
Lagrar den tid då token utfärdades. Det används ofta för att mäta tokens färskhet. | <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"> |
Utfärdare | iss |
Identifierar säkerhetstokentjänsten (STS) som konstruerar och returnerar token. I de token som Microsoft Entra-ID returnerar är utfärdaren sts.windows.net. GUID:t i utfärdarens anspråksvärde är klientorganisations-ID:t för Microsoft Entra-katalogen. Klientorganisations-ID:t är en oföränderlig och tillförlitlig identifierare för katalogen. | <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer> |
Efternamn | family_name |
Innehåller användarens efternamn, efternamn eller efternamn enligt definitionen i Microsoft Entra-användarobjektet. | <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"> <AttributeValue>Miller<AttributeValue> |
Name | unique_name |
Innehåller ett läsbart värde som identifierar subjektet för token. Det här värdet är inte garanterat unikt i en klientorganisation och är utformat för att endast användas i visningssyfte. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"> <AttributeValue>frankm@contoso.com<AttributeValue> |
Objekt-ID | oid |
Innehåller en unik identifierare för ett objekt i Microsoft Entra-ID. Det här värdet är oföränderligt och kan inte omtilldelas eller återanvändas. Använd objekt-ID:t för att identifiera ett objekt i frågor till Microsoft Entra-ID. | <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier"> <AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue> |
Roller | roles |
Representerar alla programroller som ämnet har beviljats både direkt och indirekt via gruppmedlemskap och kan användas för att framtvinga rollbaserad åtkomstkontroll. Programroller definieras per program, via appRoles egenskapen för programmanifestet. Egenskapen value för varje programroll är det värde som visas i rollanspråket. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"> |
Ämne | sub |
Identifierar det huvudnamn som token anger information om, till exempel användaren av ett program. Det här värdet är oföränderligt och kan inte omtilldelas eller återanvändas, så det kan användas för att utföra auktoriseringskontroller på ett säkert sätt. Eftersom ämnet alltid finns i tokens microsoft entra-ID-problem rekommenderar vi att du använder det här värdet i ett allmänt auktoriseringssystem. SubjectConfirmation är inte ett anspråk. Den beskriver hur ämnet för token verifieras. Bearer anger att ämnet bekräftas av deras innehav av token. |
<Subject> <NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" /> </Subject> |
Klientorganisations-ID | tid |
En oföränderlig, icke återanvändbar identifierare som identifierar katalogklientorganisationen som utfärdade token. Du kan använda det här värdet för att komma åt klientspecifika katalogresurser i ett program med flera klientorganisationer. Du kan till exempel använda det här värdet för att identifiera klientorganisationen i ett anrop till Graph API. | <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid"> <AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue> |
Tokenlivstid | nbf , exp |
Definierar tidsintervallet då token är giltig. Tjänsten som verifierar token bör kontrollera att det aktuella datumet ligger inom tokenlivslängden, annars bör den avvisa token. Tjänsten kan tillåta upp till fem minuter utöver livslängdsintervallet för token för att ta hänsyn till eventuella skillnader i klocktid ("tidsförskjutning") mellan Microsoft Entra-ID och tjänsten. | <Conditions NotBefore="2013-03-18T21:32:51.261Z" NotOnOrAfter="2013-03-18T22:32:51.261Z" > |
Saml-exempeltoken
Det här är ett exempel på en typisk SAML-token.
<?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>
Nästa steg
- Mer information om hur du hanterar policyn för tokenlivslängd med hjälp av Microsoft Graph-API:et finns i Resursöversikt över Microsoft Entra-princip.
- Lägg till anpassade och valfria anspråk i token för ditt program.
- Använd enkel inloggning (SSO) med SAML.
- Använda SAML-protokollet för enkel inloggning i Azure