Dela via


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