클레임 및 토큰
이 항목에서는 WCF(Windows Communication Foundation)가 지원하는 기본 토큰에서 만드는 다양한 클레임 형식을 설명합니다.
ClaimSet 및 Claim 클래스를 사용하여 클라이언트 자격 증명 클레임을 검사할 수 있습니다. ClaimSet
에는 Claim
개체의 컬렉션이 포함됩니다. 각 Claim
의 중요한 멤버는 다음과 같습니다.
ClaimType 속성은 생성하는 클레임의 형식을 지정하는 URI(Uniform Resource Identifier)를 반환합니다. 예를 들어 클레임 형식은 인증서의 지문일 수 있으며 이 경우 URI는
http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint
입니다.Right 속성은 클레임의 권한을 지정하는 URI를 반환합니다. 미리 정의된 권한은 Rights 클래스(Identity, PossessProperty)에 있습니다.
Resource 속성은 클레임과 연결된 리소스를 반환합니다.
또한 각 ClaimSet에는 Issuer 속성이 있습니다. 이 속성은 ClaimSet의 Issuer
를 나타냅니다.
Windows 계정
클라이언트 자격 증명이 Windows 사용자 계정에 매핑되는 경우 결과 ClaimSet의 값은 다음과 같습니다.
Issuer
는 ClaimSet 클래스의 정적 Windows 속성에 의해 반환되는 값입니다.컬렉션의 클레임은 다음과 같습니다.
Claim 값이 SID(보안 ID)이고, ClaimType 속성 값이 Right이고,
Identity
가 실제 SID 값을 반환하는 Resource. SID는 도메인 컨트롤러에서 모든 사용자에게 발급하는 고유한 값입니다. SID는 Windows 보안과 상호 작용하여 사용자를 식별하는 데 사용됩니다.Claim 값이 SID이고, ClaimType가 Right이고,
PossessProperty
가 SID 값인 Resource.Claim이 ClaimType이고, Name가 Right이고,
PossessProperty
가 사용자 이름을 포함하는 문자열(예: "MYMACHINE\Bob")인 Resource.사용자가 속하는 다양한 그룹에 대한 PossessProperty를 가진 추가 SID 클레임
인증서
클라이언트 자격 증명이 인증서이면 결과 ClaimSet 값은 다음과 같습니다.
자체 발급된 인증서의 경우
Issuer
는 ClaimSet 자체입니다. ClaimSet는 ClaimType의 Thumbprint, Right의Identity
및 Resource 값(인증서의 지문을 포함하는 Byte 배열)을 반환합니다.인증 기관에서 발급한 인증서의 경우 발급자는 인증 기관의 인증서를 나타내는
ClaimSet
입니다.컬렉션의
Claims
는 다음과 같습니다.Claim
이 지문이고,ClaimType
가 PossessProperty이고,Right
가 인증서의 지문을 포함하는 바이트 배열인Resource
X500DistinguishedName, Dns, Name, Upn 및 Rsa를 포함하여 다양한 형식의 추가 PossessProperty 클레임이 인증서의 다양한 속성을 나타냅니다. Rsa 클레임의 리소스는 인증서와 연결된 공개 키입니다.참고 클라이언트 자격 증명 형식이 서비스가 Windows 계정에 매핑되는 인증서이면 두
ClaimSet
개체가 생성됩니다. 첫 번째 개체는 Windows 계정과 관련된 모든 클레임을 포함하고 두 번째 개체는 인증서와 관련된 모든 클레임을 포함합니다.
사용자 이름/암호
클라이언트 자격 증명이 Windows 계정에 매핑되지 않는 사용자 이름/암호(또는 동등한 형식)인 경우 결과 ClaimSet
는 System 클래스의 static ClaimSet
속성에 의해 발급됩니다. ClaimSet
는 클라이언트가 제공하는 사용자 이름이 해당 리소스인 Name 형식의 Identity
클레임을 포함합니다. 해당 클레임에는 Right
의 PossessProperty
이 있습니다.
RSA 키
인증서와 연결되지 않는 RSA 키가 사용되는 경우 결과 ClaimSet
는 자체 발급되며 해당 리소스가 RSA 키인 Rsa 형식의 Identity
클레임을 포함합니다. 해당 클레임에는 Right
의 PossessProperty
이 있습니다.
SAML
클라이언트가 SAML(Security Assertions Markup Language) 토큰으로 인증되는 경우 결과 ClaimSet
는 SAML 토큰에 서명한 엔터티에 의해 발급되며, SAML 토큰에 서명한 STS(보안 토큰 서비스) 인증서에 의해 발급되는 경우도 있습니다. ClaimSet
는 SAML 토큰에 있는 다양한 클레임을 포함합니다. SAML 토큰에 SamlSubject
이 아닌 이름을 가진 null
가 있는 경우 형식이 Identity
이고 리소스 형식이 NameIdentifier인 SamlNameIdentifierClaimResource 클레임이 만들어집니다.
ID 클레임 및 ServiceSecurityContext.IsAnonymous
클라이언트 자격 증명에서 생성된 ClaimSet
개체에 Identity,
가 Right
인 클레임이 없는 경우 IsAnonymous 속성은 true
를 반환합니다. 그런 클레임이 하나 이상 있는 경우 IsAnonymous
속성은 false
를 반환합니다.