다음을 통해 공유


SAML 토큰 클레임 참조

Microsoft ID 플랫폼은 각 인증 흐름의 처리에서 여러 유형의 보안 토큰을 내보낸다. 이 문서에서는 SAML 2.0 토큰의 형식, 보안 특성 및 내용을 설명합니다.

SAML 토큰의 클레임

이름 동등한 JWT 클레임 설명 예시
청중 aud 토큰의 의도된 받는 사람입니다. 토큰을 받는 애플리케이션은 대상 그룹 값이 올바른지 확인하고 다른 대상 그룹을 위한 토큰을 거부해야 합니다. <AudienceRestriction>
<Audience>
https://contoso.com
</Audience>
</AudienceRestriction>
인증 즉시 인증이 발생한 날짜와 시간을 기록합니다. <AuthnStatement AuthnInstant="2011-12-29T05:35:22.000Z">
인증 방법 amr 토큰의 주체가 인증된 방법을 식별합니다. <AuthnContextClassRef>
http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod/password
</AuthnContextClassRef>
이름 (First Name) given_name Microsoft Entra 사용자 개체에 설정된 대로 사용자의 첫 번째 또는 "지정된" 이름을 제공합니다. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname">
<AttributeValue>Frank<AttributeValue>
그룹 groups 주체의 그룹 멤버 자격을 나타내는 개체 ID를 제공합니다. 이러한 값은 고유하며(개체 ID 참조) 리소스에 액세스하기 위한 권한 부여를 적용하는 등 액세스를 관리하는 데 안전하게 사용할 수 있습니다. 그룹 클레임에 포함된 그룹은 애플리케이션 매니페스트의 "groupMembershipClaims" 속성을 통해 애플리케이션별로 구성됩니다. null 값은 모든 그룹을 제외하고, "SecurityGroup" 값에는 디렉터리 역할 및 Active Directory 보안 그룹 멤버 자격이 포함되며, "All" 값에는 보안 그룹과 Microsoft 365 메일 그룹이 모두 포함됩니다.

참고:
사용자가 속한 그룹 수가 한도(SAML의 경우 150, JWT의 경우 200)를 초과하면 사용자에 대한 그룹 목록이 포함된 Graph 엔드포인트를 가리키는 클레임 원본에 초과분 클레임이 추가됩니다.
<Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/groups">
<AttributeValueaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb</AttributeValue>
그룹 초과분 표시기 groups:src1 길이가 제한되지 않지만 토큰에 대해 너무 큰 토큰 요청의 경우 사용자의 전체 그룹 목록에 대한 링크가 포함됩니다. SAML의 경우 클레임 대신 groups 새 클레임으로 추가됩니다.

참고:
Azure AD Graph API는 Microsoft Graph API로 대체됩니다. 해당하는 엔드포인트에 대한 자세한 내용은 getMemberObjects 사용자를 참조하세요.
<Attribute Name=" http://schemas.microsoft.com/claims/groups.link">
<AttributeValue>https://graph.windows.net/{tenantID}/users/{userID}/getMemberObjects<AttributeValue>
ID 공급자 idp 토큰의 주체를 인증한 ID 공급자를 기록합니다. 이 값은 사용자 계정이 발급자가 아닌 다른 테넌트에 있지 않는 한 발급자 클레임의 값과 동일합니다. <Attribute Name=" http://schemas.microsoft.com/identity/claims/identityprovider">
<AttributeValue>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/<AttributeValue>
IssuedAt iat 토큰이 발급된 시간을 저장합니다. 토큰 새로 고침을 측정하는 데 자주 사용됩니다. <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">
발급자 iss 토큰을 생성하고 반환하는 STS(보안 토큰 서비스)를 식별합니다. Microsoft Entra ID가 반환하는 토큰에서 발급자는 sts.windows.net. 발급자 클레임 값의 GUID는 Microsoft Entra 디렉터리의 테넌트 ID입니다. 테넌트 ID는 디렉터리의 변경할 수 없는 신뢰할 수 있는 식별자입니다. <Issuer>https://sts.windows.net/aaaabbbb-0000-cccc-1111-dddd2222eeee/</Issuer>
성 이름 family_name Microsoft Entra 사용자 개체에 정의된 대로 사용자의 성, 성 또는 패밀리 이름을 제공합니다. <Attribute Name=" http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname">
<AttributeValue>Miller<AttributeValue>
이름 unique_name 토큰의 주체를 식별하는, 사람이 인식할 수 있는 값을 제공합니다. 이 값은 테넌트 내에서 고유하도록 보장되지 않으며 표시 목적으로만 사용하도록 설계되었습니다. <Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name">
<AttributeValue>frankm@contoso.com<AttributeValue>
오브젝트 ID oid Microsoft Entra ID에 있는 개체의 고유 식별자를 포함합니다. 이 값은 변경할 수 없으며 재할당 또는 재사용할 수 없습니다. 개체 ID를 사용하여 Microsoft Entra ID에 대한 쿼리에서 개체를 식별합니다. <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier">
<AttributeValue>bbbbbbbb-1111-2222-3333-cccccccccccc<AttributeValue>
역할 roles 주체가 그룹 멤버 자격을 통해 직간접적으로 부여되었으며 역할 기반 액세스 제어를 적용하는 데 사용할 수 있는 모든 애플리케이션 역할을 나타냅니다. 애플리케이션 역할은 애플리케이션 매니페스트의 속성을 통해 appRoles 애플리케이션별로 정의됩니다. value 각 애플리케이션 역할의 속성은 역할 클레임에 표시되는 값입니다. <Attribute Name="http://schemas.microsoft.com/ws/2008/06/identity/claims/role">
주제 sub 애플리케이션 사용자와 같은 토큰이 정보를 어설션하는 보안 주체를 식별합니다. 주체는 Microsoft Entra ID에서 발급하는 SAML 토큰에 항상 존재합니다. NameID 형식에 따라 이 값을 사용하여 범용 권한 부여 시스템에서 주체를 식별할 수 있습니다(권한 부여를 위해 전자 메일 주소를 사용하는 경우 위험 참조).
SubjectConfirmation 는 클레임이 아닙니다. 토큰의 주체를 확인하는 방법을 설명합니다. Bearer 는 주체가 토큰을 소유하여 확인됨을 나타냅니다.
<Subject>
<NameID>S40rgb3XjhFTv6EQTETkEzcgVmToHKRkZUIsJlmLdVc</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer" />
</Subject>
임차인 ID tid 토큰을 발급한 디렉터리 테넌트를 식별하는 변경할 수 없는 재사용 불가능한 식별자입니다. 이 값을 사용하여 다중 테넌트 애플리케이션의 테넌트별 디렉터리 리소스에 액세스할 수 있습니다. 예를 들어 이 값을 사용하여 Graph API 호출에서 테넌트를 식별할 수 있습니다. <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid">
<AttributeValue>aaaabbbb-0000-cccc-1111-dddd2222eeee<AttributeValue>
토큰 수명 nbf, exp 토큰이 유효한 시간 간격을 정의합니다. 토큰의 유효성을 검사하는 서비스는 현재 날짜가 토큰 수명 내에 있는지 확인해야 합니다. 그렇지 않으면 토큰을 거부해야 합니다. 이 서비스는 Microsoft Entra ID와 서비스 간의 클록 시간("시간 기울이기")의 차이를 고려하여 토큰 수명 범위를 초과하는 최대 5분 동안 허용될 수 있습니다. <Conditions
NotBefore="2013-03-18T21:32:51.261Z"
NotOnOrAfter="2013-03-18T22:32:51.261Z"
>

샘플 SAML 토큰

일반적인 SAML 토큰의 샘플입니다.

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

다음 단계