Referência às afirmações de tokens SAML
A plataforma de identidade da Microsoft emite vários tipos de tokens de segurança no processamento de cada fluxo de autenticação. Este documento descreve o formato, as características de segurança e o conteúdo dos tokens SAML 2.0.
Afirmações em tokens SAML
Nome | Reivindicação JWT equivalente | Description | Exemplo |
---|---|---|---|
Audiência | aud |
O destinatário pretendido do token. O aplicativo que recebe o token deve verificar se o valor da audiência está correto e rejeitar quaisquer tokens destinados a um público diferente. | <AudienceRestriction> <Audience> https://contoso.com </Audience> </AudienceRestriction> |
Autenticação Instantânea | Registra a data e a hora em que a autenticação ocorreu. | <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z"> |
|
Método de autenticação | amr |
Identifica como o assunto do token foi autenticado. | <AuthnContextClassRef> http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password </AuthnContextClassRef> |
Nome Próprio | given_name |
Fornece o primeiro nome ou o nome "dado" do usuário, conforme definido no objeto de usuário do Microsoft Entra. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"> <AttributeValue>Frank<AttributeValue> |
Grupos | groups |
Fornece IDs de objeto que representam as associações de grupo do sujeito. Esses valores são exclusivos (consulte ID do objeto) e podem ser usados com segurança para gerenciar o acesso, como impor autorização para acessar um recurso. Os grupos incluídos na declaração groups são configurados por aplicativo, por meio da propriedade "groupMembershipClaims" do manifesto do aplicativo. Um valor nulo excluirá todos os grupos, um valor de "SecurityGroup" incluirá funções de diretório e associações ao Grupo de Segurança do Ative Directory e um valor de "Todos" incluirá Grupos de Segurança e Listas de Distribuição do Microsoft 365. Observações: Se o número de grupos em que o usuário está ultrapassar um limite (150 para SAML, 200 para JWT), uma declaração de excesso será adicionada, as fontes de declaração apontando para o ponto de extremidade Graph contendo a lista de grupos para o usuário. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups"> <AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue> |
Indicador de excesso de idade de grupos | groups:src1 |
Para solicitações de token que não são limitadas por comprimento, mas ainda muito grandes para o token, um link para a lista completa de grupos para o usuário será incluído. Para SAML, isso é adicionado como uma nova reivindicação no lugar da groups reivindicação. Observações: A API do Azure AD Graph está sendo substituída pela API do Microsoft Graph. Para saber mais sobre o ponto de extremidade equivalente, consulte user: getMemberObjects. |
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link"> <AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue> |
Fornecedor de Identidade | idp |
Regista o fornecedor de identidade que autenticou o requerente do token. Esse valor é idêntico ao valor da declaração do Emissor, a menos que a conta do usuário esteja em um locatário diferente do emissor. | <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider"> <AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue> |
Emitido em | iat |
Armazena o momento em que o token foi emitido. É frequentemente usado para medir a frescura do 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"> |
Emissor | iss |
Identifica o serviço de token de segurança (STS) que constrói e retorna o token. Nos tokens que o Microsoft Entra ID retorna, o emissor é sts.windows.net. O GUID no valor da declaração do emissor é a ID do locatário do diretório do Microsoft Entra. O ID do locatário é um identificador imutável e confiável do diretório. | <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer> |
Apelido | family_name |
Fornece o sobrenome, sobrenome ou nome da família do usuário, conforme definido no objeto de usuário do Microsoft Entra. | <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"> <AttributeValue>Miller<AttributeValue> |
Nome | unique_name |
Fornece um valor legível por humanos que identifica o requerente do token. Não é garantido que esse valor seja exclusivo dentro de um locatário e foi projetado para ser usado apenas para fins de exibição. | <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"> <AttributeValue>frankm@contoso.com<AttributeValue> |
ID do Objeto | oid |
Contém um identificador exclusivo de um objeto no Microsoft Entra ID. Este valor é imutável e não pode ser reatribuído ou reutilizado. Use a ID do objeto para identificar um objeto em consultas ao ID do Microsoft Entra. | <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier"> <AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue> |
Funções | roles |
Representa todas as funções de aplicativo que o assunto recebeu direta e indiretamente por meio da associação ao grupo e pode ser usado para impor o controle de acesso baseado em função. As funções do aplicativo são definidas por aplicativo, por meio da appRoles propriedade do manifesto do aplicativo. A value propriedade de cada função de aplicativo é o valor que aparece na declaração de funções. |
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role"> |
Assunto | sub |
Identifica a entidade sobre a qual o token afirma informações, como o usuário de um aplicativo. Esse valor é imutável e não pode ser reatribuído ou reutilizado, portanto, pode ser usado para executar verificações de autorização com segurança. Como o assunto está sempre presente nos tokens que o Microsoft Entra ID emite, recomendamos o uso desse valor em um sistema de autorização de uso geral. SubjectConfirmation não é uma reivindicação. Ele descreve como o assunto do token é verificado. Bearer indica que o sujeito é confirmado pela sua posse do token. |
<Subject> <NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" /> </Subject> |
ID de Inquilino do | tid |
Um identificador imutável e não reutilizável que identifica o locatário do diretório que emitiu o token. Você pode usar esse valor para acessar recursos de diretório específicos do locatário em um aplicativo multilocatário. Por exemplo, você pode usar esse valor para identificar o locatário em uma chamada para a API do Graph. | <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid"> <AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue> |
Duração do Token | nbf , exp |
Define o intervalo de tempo durante o qual um token é válido. O serviço que valida o token deve verificar se a data atual está dentro do tempo de vida do token, caso contrário, ele deve rejeitar o token. O serviço pode permitir até cinco minutos além do intervalo de vida do token para contabilizar quaisquer diferenças no tempo de relógio ("distorção de tempo") entre o ID do Microsoft Entra e o serviço. | <Conditions NotBefore="2013-03-18T21:32:51.261Z" NotOnOrAfter="2013-03-18T22:32:51.261Z" > |
Exemplo de token SAML
Este é um exemplo de um 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>
Próximos passos
- Para saber mais sobre como gerenciar a política de tempo de vida do token usando a API do Microsoft Graph, consulte a visão geral do recurso de política do Microsoft Entra.
- Adicione declarações personalizadas e opcionais aos tokens do seu aplicativo.
- Use o logon único (SSO) com SAML.
- Usar o protocolo SAML de Saída Única do Azure