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