Partager via


Informations de référence sur les revendications de jeton SAML

La plateforme d’identités Microsoft émet plusieurs types de jetons de sécurité dans le traitement de chaque flux d’authentification. Ce document décrit le format, les caractéristiques de sécurité et le contenu des jetons SAML 2.0.

Revendications dans les jetons SAML

Nom Revendication JWT équivalente Descriptif Exemple :
Public visé aud Destinataire prévu du jeton. L’application qui reçoit le jeton doit vérifier que la valeur de l’audience est correcte et rejeter tous les jetons destinés à un public différent. <AudienceRestriction>
<Audience>
https://contoso.com
</Audience>
</AudienceRestriction>
Authentification instantanée Enregistre la date et l’heure à laquelle l’authentification s’est produite. <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z">
Méthode d’authentification amr Identifie la façon dont l’objet du jeton a été authentifié. <AuthnContextClassRef>
http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password
</AuthnContextClassRef>
Prénom given_name Fournit le premier ou le nom « donné » de l’utilisateur, tel que défini sur l’objet utilisateur Microsoft Entra. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<AttributeValue>Frank<AttributeValue>
Groupes groups Fournit des ID d’objet qui représentent les appartenances de groupe de l’objet. Ces valeurs sont uniques (voir l’ID d’objet) et peuvent être utilisées en toute sécurité pour la gestion de l’accès, telles que l’application de l’autorisation pour accéder à une ressource. Les groupes inclus dans la revendication de groupes sont configurés par application, via la propriété « groupMembershipClaims » du manifeste d’application. Une valeur null exclut tous les groupes, une valeur de « SecurityGroup » inclut les rôles d’annuaire et les appartenances au groupe de sécurité Active Directory, et la valeur « All » inclut à la fois les groupes de sécurité et les listes de distribution Microsoft 365.

Remarques:
Si le nombre de groupes dans utilisant l’utilisateur dépasse une limite (150 pour SAML, 200 pour JWT), une revendication de dépassement est ajoutée aux sources de revendication pointant sur le point de terminaison Graph contenant la liste des groupes pour l’utilisateur.
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups">
<AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue>
Indicateur de dépassement de groupe groups:src1 Pour les demandes de jeton qui ne sont pas limitées de longueur mais toujours trop volumineuses pour le jeton, un lien vers la liste des groupes complets pour l’utilisateur sera inclus. Pour SAML, il est ajouté en tant que nouvelle revendication à la place de la groups revendication.

Remarques:
L’API Graph Azure AD est remplacée par l’API Microsoft Graph. Pour en savoir plus sur le point de terminaison équivalent, consultez l’utilisateur : getMemberObjects.
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link">
<AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue>
Fournisseur d’identité idp Enregistre le fournisseur d’identité qui a authentifié le sujet associé au jeton. Cette valeur est identique à la valeur de la revendication Émetteur, sauf si le compte d’utilisateur se trouve dans un locataire différent de celui de l’émetteur. <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider">
<AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue>
IssuedAt iat Stocke l’heure à laquelle le jeton a été émis. Il est souvent utilisé pour mesurer l’actualisation des jetons. <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">
Émetteur iss Identifie le service de jeton de sécurité (STS) qui construit et retourne le jeton. Dans les jetons retournés par Microsoft Entra ID, l’émetteur est sts.windows.net. Le GUID de la valeur de revendication de l’émetteur est l’ID de locataire du répertoire Microsoft Entra. L’ID de locataire est un identificateur immuable et fiable du répertoire. <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer>
Nom de famille family_name Fournit le nom, le nom de famille ou le nom de famille de l’utilisateur tel que défini dans l’objet utilisateur Microsoft Entra. <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<AttributeValue>Miller<AttributeValue>
Nom unique_name Fournit une valeur lisible par un humain qui identifie le sujet du jeton. Cette valeur n’est pas garantie d’être unique au sein d’un locataire et est conçue pour être utilisée uniquement à des fins d’affichage. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>frankm@contoso.com<AttributeValue>
ID d’objet oid Contient un identificateur unique d’un objet dans Microsoft Entra ID. Cette valeur est immuable et ne peut pas être réattribuée ou réutilisée. Utilisez l’ID d’objet pour identifier un objet dans les requêtes vers l’ID Microsoft Entra. <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier">
<AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue>
Rôles roles Représente tous les rôles d’application auxquels l’objet a été accordé directement et indirectement par le biais de l’appartenance au groupe et peut être utilisé pour appliquer le contrôle d’accès en fonction du rôle. Les rôles d’application sont définis par application, par le biais de la appRoles propriété du manifeste d’application. La value propriété de chaque rôle d’application est la valeur qui apparaît dans la revendication des rôles. <Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role">
Sujet sub Identifie le principal sur lequel le jeton affirme des informations, telles que l’utilisateur d’une application. L’objet est toujours présent dans le jeton SAML que Microsoft Entra ID émet. Selon le format NameID, cette valeur peut être utilisée pour identifier le sujet dans un système d’autorisation à usage général (voir les risques liés à l’utilisation de l’adresse e-mail pour l’autorisation).
SubjectConfirmation n’est pas une revendication. Il décrit comment l’objet du jeton est vérifié. Bearer indique que le sujet est confirmé par sa possession du jeton.
<Subject>
<NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
</Subject>
ID du locataire tid Identificateur immuable et non réutilisable qui identifie le locataire d’annuaire qui a émis le jeton. Vous pouvez utiliser cette valeur pour accéder aux ressources d’annuaire spécifiques au locataire dans une application mutualisée. Par exemple, vous pouvez utiliser cette valeur pour identifier le locataire dans un appel à l’API Graph. <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid">
<AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue>
Durée de vie du jeton nbf, exp Définit l’intervalle de temps dans lequel un jeton est valide. Le service qui valide le jeton doit vérifier que la date actuelle se trouve dans la durée de vie du jeton, sinon elle doit rejeter le jeton. Le service peut autoriser jusqu’à cinq minutes au-delà de la plage de durée de vie du jeton pour tenir compte des différences de temps d’horloge (« décalage horaire ») entre l’ID Microsoft Entra et le service. <Conditions
NotBefore="2013-03-18T21:32:51.261Z"
NotOnOrAfter="2013-03-18T22:32:51.261Z"
>

Exemple de jeton SAML

Il s’agit d’un exemple de jeton SAML classique.

<?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>

Étapes suivantes