Udostępnij za pośrednictwem


Oświadczenia i tokeny

W tym temacie opisano różne typy oświadczeń tworzone przez program Windows Communication Foundation (WCF) na podstawie domyślnych tokenów, które obsługuje.

Oświadczenia poświadczeń klienta można sprawdzić przy użyciu ClaimSet klas i Claim . Obiekt ClaimSet zawiera kolekcję Claim obiektów. Każdy z nich Claim ma następujących ważnych członków:

  • Właściwość ClaimType zwraca identyfikator URI (Uniform Resource Identifier), który określa typ tworzonego oświadczenia. Na przykład typ oświadczenia może być odciskiem palca certyfikatu, w tym przypadku identyfikator URI to http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint.

  • Właściwość Right zwraca identyfikator URI, który określa prawo od oświadczenia. Wstępnie zdefiniowane prawa znajdują się w Rights klasie (Identity, PossessProperty).

  • Właściwość Resource zwraca zasób skojarzony z oświadczeniem.

Każda z nich ClaimSet ma Issuer również właściwość , która reprezentuje ClaimSet Issuerwłaściwość .

Konta systemu Windows

W przypadku mapowania poświadczeń klienta na konto użytkownika systemu Windows wynikowe ClaimSet mają następujące wartości:

  • Jest Issuer to wartość zwracana przez statyczną właściwość ClaimSet systemu Windows klasy.

  • Oświadczenia w kolekcji to:

    • A Claim z wartością ClaimType identyfikatora zabezpieczeń (SID), Right wartości Identitywłaściwości i , Resource która zwraca rzeczywistą wartość identyfikatora SID. Identyfikator SID jest unikatową wartością, która kontroler domeny wystawia każdemu użytkownikowi. Identyfikator SID służy do identyfikowania użytkownika w interakcjach z zabezpieczeniami systemu Windows.

    • Wartość Claim z ClaimType identyfikatorem SID, wartością Right PossessPropertyi wartością Resource identyfikatora SID.

    • A Claim z NameClaimType wartością z wartością i Right PossessProperty Resource ciągiem zawierającym nazwę użytkownika (na przykład "MYMACHINE\Bob").

    • Dodatkowe oświadczenia sid dla PossessProperty różnych grup, do których należy użytkownik.

Certyfikaty

Jeśli poświadczenie klienta jest certyfikatem, wynikowe ClaimSet ma następujące wartości:

  • W przypadku certyfikatów Issuer wystawionych samodzielnie sam element jest ClaimSet sam. Funkcja ClaimSet zwraca ThumbprintClaimType wartość typu , z wartością IdentityRight i jest tablicą Resource Byte zawierającą odcisk palca certyfikatu.

  • W przypadku certyfikatu wystawionego przez urząd certyfikacji wystawca reprezentuje ClaimSet certyfikat urzędu certyfikacji.

  • Element Claims w kolekcji obejmuje:

    • Element Claim z odciskiem ClaimType palca, Right elementem PossessProperty i tablicą Resource bajtów zawierającą odcisk palca certyfikatu

    • Dodatkowe oświadczenia PossessProperty różnych typów, w tym X500DistinguishedName, Dns, Name, Upn i Rsa, reprezentują różne właściwości certyfikatu. Zasób oświadczenia Rsa jest kluczem publicznym skojarzonym z certyfikatem.Uwaga Gdzie typ poświadczeń klienta jest certyfikatem mapowanym przez usługę na konto systemu Windows, generowane są dwa ClaimSet obiekty. Pierwszy zawiera wszystkie oświadczenia związane z kontem systemu Windows, a drugi zawiera wszystkie oświadczenia związane z certyfikatem.

Nazwa użytkownika/hasło

Jeśli poświadczenie klienta jest nazwą użytkownika/hasłem (lub równoważne), które nie jest mapowane na konto systemu Windows, wynik ClaimSet jest wystawiany przez właściwość ClaimSet statyczną System klasy. Identity Zawiera ClaimSet oświadczenie typuName, którego zasób jest nazwą użytkownika podaną przez klienta. Odpowiednie oświadczenie ma wartość Right PossessProperty.

Klucze RSA

Jeśli używany jest klucz RSA, który nie jest skojarzony z certyfikatem, wynikowy ClaimSet jest wystawiony samodzielnie i zawiera Identity oświadczenie typu Rsa , którego zasób jest kluczem RSA. Odpowiednie oświadczenie ma wartość Right PossessProperty.

SAML

Gdy klient uwierzytelnia się przy użyciu tokenu SAML (Security Assertions Markup Language), wynik ClaimSet jest wystawiany przez jednostkę, która podpisała token SAML, często certyfikat usługi tokenu zabezpieczającego (STS), który wystawił token SAML. Zawiera ClaimSet różne oświadczenia, jak znaleziono w tokenie SAML. Jeśli token SAML zawiera SamlSubject element o innejnull nazwie, Identity tworzone jest oświadczenie o typie NameIdentifier i typie SamlNameIdentifierClaimResource zasobu.

Oświadczenia tożsamości i serviceSecurityContext.IsAnonymous

Jeśli żaden z ClaimSet obiektów wynikających z poświadczeń klienta nie zawiera oświadczenia z wartością Right Identity, IsAnonymous właściwość zwraca wartość true. Jeśli istnieją co najmniej jedno takie oświadczenia, IsAnonymous właściwość zwraca wartość false.

Zobacz też