Compartir a través de


Referencia de notificaciones de token SAML

La plataforma de identidad de Microsoft emite varios tipos de tokens de seguridad en el procesamiento de cada flujo de autenticación. En este documento se describen el formato, las características de seguridad y el contenido de los tokens SAML 2.0.

Notificaciones en tokens SAML

Nombre Notificación JWT equivalente Descripción Ejemplo
Público aud Destinatario previsto del token. La aplicación que recibe el token debe comprobar que el valor de la audiencia es correcto y rechazar los tokens destinados a una audiencia diferente. <AudienceRestriction>
<Audience>
https://contoso.com
</Audience>
</AudienceRestriction>
Autenticación instantánea Registra la fecha y hora en que se produjo la autenticación. <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z">
Método de autenticación amr Identifica cómo se autenticó el asunto del token. <AuthnContextClassRef>
http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password
</AuthnContextClassRef>
Nombre given_name Proporciona el primer o "dado" nombre del usuario, tal como se establece en el objeto de usuario de Microsoft Entra. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<AttributeValue>Frank<AttributeValue>
Grupos groups Proporciona identificadores de objeto que representan las pertenencias a grupos del sujeto. Estos valores son únicos (consulte Id. de objeto) y se pueden usar de forma segura para administrar el acceso, como la aplicación de la autorización para acceder a un recurso. Los grupos incluidos en la notificación groups se configuran por aplicación, a través de la propiedad "groupMembershipClaims" del manifiesto de aplicación. Un valor null excluirá todos los grupos, un valor de "SecurityGroup" incluirá roles de directorio y pertenencias a grupos de seguridad de Active Directory, y un valor de "All" incluirá grupos de seguridad y listas de distribución de Microsoft 365.

Notas:
Si el número de grupos en los que está el usuario supera un límite (150 para SAML, 200 para JWT), se agregará una notificación de uso por encima del límite que apunta al punto de conexión de Graph que contiene la lista de grupos para el usuario.
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups">
<AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue>
Indicador de uso por encima del límite de grupos groups:src1 En el caso de las solicitudes de token que no tienen una longitud limitada, pero que siguen siendo demasiado grandes para el token, se incluirá un vínculo a la lista de grupos completos para el usuario. Para SAML, se agrega como una nueva notificación en lugar de la groups notificación.

Notas:
Graph API de Azure AD se reemplaza por Microsoft Graph API. Para obtener más información sobre el punto de conexión equivalente, consulte user: getMemberObjects.
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link">
<AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue>
Proveedor de identidades idp Registra el proveedor de identidades que autenticó al firmante del token. Este valor es idéntico al valor de la notificación Issuer a menos que la cuenta de usuario esté en un inquilino diferente al emisor. <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider">
<AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue>
IssuedAt iat Almacena la hora en la que se emitió el token. A menudo se usa para medir la actualización del 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">
Emisor iss Identifica el servicio de token de seguridad (STS) que construye y devuelve el token. En los tokens que devuelve microsoft Entra ID, el emisor se sts.windows.net. El GUID del valor de notificación del emisor es el identificador de inquilino del directorio Microsoft Entra. El identificador de inquilino es un identificador inmutable y confiable del directorio. <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer>
Apellido family_name Proporciona el apellido, el apellido o el nombre de familia del usuario tal y como se define en el objeto de usuario de Microsoft Entra. <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<AttributeValue>Miller<AttributeValue>
Nombre unique_name Proporciona un valor legible para humanos que identifica al sujeto del token. Este valor no se garantiza que sea único dentro de un inquilino y está diseñado para usarse solo con fines de presentación. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>frankm@contoso.com<AttributeValue>
Id. de objeto oid Contiene un identificador único de un objeto en microsoft Entra ID. Este valor es inmutable y no se puede reasignar ni volver a usar. Use el identificador de objeto para identificar un objeto en las consultas a Microsoft Entra ID. <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier">
<AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue>
Funciones roles Representa todos los roles de aplicación a los que el sujeto se ha concedido directa e indirectamente a través de la pertenencia a grupos y se pueden usar para aplicar el control de acceso basado en rol. Los roles de aplicación se definen por aplicación a través de la appRoles propiedad del manifiesto de aplicación. La value propiedad de cada rol de aplicación es el valor que aparece en la notificación de roles. <Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role">
Asunto sub Identifica la entidad de seguridad sobre la que el token declara información, como el usuario de una aplicación. El asunto siempre está presente en el token SAML que emite el identificador de Microsoft Entra. Dependiendo del formato NameID, este valor se puede usar para identificar el asunto en un sistema de autorización de uso general (consulte los riesgos al usar la dirección de correo electrónico para la autorización).
SubjectConfirmation no es una notificación. Describe cómo se comprueba el asunto del token. Bearer indica que el sujeto está confirmado por su posesión del token.
<Subject>
<NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
</Subject>
Id. de inquilino tid Identificador inmutable y no reutilizable que identifica el inquilino de directorio que emitió el token. Puede usar este valor para acceder a los recursos de directorio específicos del inquilino en una aplicación multiinquilino. Por ejemplo, puede usar este valor para identificar el inquilino en una llamada a Graph API. <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid">
<AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue>
Vigencia del token nbf, exp Define el intervalo de tiempo en el que un token es válido. El servicio que valida el token debe comprobar que la fecha actual está dentro de la duración del token; de lo contrario, debe rechazar el token. El servicio puede permitir hasta cinco minutos más allá del intervalo de duración del token para tener en cuenta las diferencias en el tiempo de reloj ("asimetría de tiempo") entre el identificador de Entra de Microsoft y el servicio. <Conditions
NotBefore="2013-03-18T21:32:51.261Z"
NotOnOrAfter="2013-03-18T22:32:51.261Z"
>

Token saml de ejemplo

Se trata de un ejemplo de un token SAML típico.

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

Pasos siguientes