Partager via


Revendications et jetons

Cette rubrique décrit les différents types de revendications créés par Windows Communication Foundation (WCF) à partir des jetons par défaut qu’il prend en charge.

Vous pouvez examiner les revendications des informations d'identification d'un client à l'aide des classes ClaimSet et Claim. ClaimSet contient une collection d'objets Claim. Chaque Claim contient les membres importants suivants :

  • La propriété ClaimType retourne un URI (Uniform Resource Identifier) qui spécifie le type de revendication qui est fait. Par exemple, un type de revendication peut être une empreinte numérique d’un certificat, auquel cas l’URI est http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint.

  • La propriété Right retourne un URI qui spécifie le droit de la revendication. Les droits prédéfinis sont regroupés dans la classe Rights (Identity, PossessProperty).

  • La propriété Resource retourne la ressource associée à la revendication.

Chaque ClaimSet a également une propriété Issuer, qui représente le ClaimSet de l'Issuer.

Comptes Windows

Si les informations d'identification d'un client correspondent à un compte d'utilisateur Windows, le ClaimSet qui en résulte a les valeurs suivantes :

  • L'Issuer est la valeur retournée par la propriété Windows statique de la classe ClaimSet.

  • Les revendications de la collection sont les suivantes :

    • Claim avec une propriété ClaimType dont la valeur est l'identificateur de sécurité (SID), une propriété Right dont la valeur est Identity et une propriété Resource qui retourne la valeur SID réelle. Un SID est une valeur unique que le contrôleur de domaine émet pour chaque utilisateur. Il est utilisé pour identifier l'utilisateur dans ses interactions avec la sécurité Windows.

    • Claim avec une propriété ClaimType dont la valeur est le SID, une propriété Right dont la valeur est PossessProperty et une propriété Resource de la valeur du SID.

    • Claim avec une propriété ClaimType dont la valeur est Name, une propriété Right dont la valeur est PossessProperty et une propriété Resource de la chaîne contenant le nom d'utilisateur (par exemple, « MONORDINATEUR\Bob »).

    • Revendications SID supplémentaires avec propriété PossessProperty pour les différents groupes auxquels l'utilisateur appartient.

Certificats

Si les informations d'identification du client sont un certificat, le ClaimSet qui en résulte a les valeurs suivantes :

  • Pour les certificats auto-émis, l'Issuer est le ClaimSet lui-même. ClaimSet retourne une propriété ClaimType dont la valeur est Thumbprint, une propriété Right dont la valeur est Identity et une propriété Resource dont la valeur est un tableau Byte contenant l'empreinte numérique du certificat.

  • Pour un certificat émis par une autorité de certification, l'émetteur est le ClaimSet qui représente le certificat de l'autorité de certification.

  • Les Claims de la collection sont les suivantes :

    • Claim dont le ClaimType est Empreinte numérique, un Right PossessProperty et une Resource qui est un tableau d'octets contenant l'empreinte numérique du certificat.

    • Revendications PossessProperty supplémentaires de différents types, notamment X500DistinguishedName, Dns, Name, Upn et Rsa, qui représentent différentes propriétés du certificat. La ressource de la revendication Rsa est la clé publique associée au certificat. Remarque Si le type d’informations d’identification du client est un certificat que le service mappe sur un compte Windows, deux objets ClaimSet sont générés. Le premier contient toutes les revendications relatives au compte Windows et le second contient toutes les revendications en rapport avec le certificat.

Nom d'utilisateur/mot de passe

Si les informations d'identification du client sont un nom d'utilisateur/mot de passe (ou équivalent) qui ne correspondent pas à un compte Windows, le ClaimSet qui en résulte est émis par la propriété System statique de la classe ClaimSet. Le ClaimSet contient une revendication Identity de type Name dont la ressource est le nom d’utilisateur fourni par le client. Une revendication correspondante a un Right de PossessProperty.

Clés RSA

Lorsqu’une clé RSA non associée à un certificat est utilisée, le ClaimSet qui en résulte est auto-publié et contient une revendication Identity de type Rsa dont la ressource est la clé RSA. Une revendication correspondante a un Right de PossessProperty.

SAML

Si le client s'authentifie avec un jeton SAML (Security Assertions Markup Language), le ClaimSet qui en résulte est émis par l'entité qui a signé le jeton SAML, souvent le certificat du service STS (Security Token Service) qui a émis le jeton SAML. Le ClaimSet contient différentes revendications présentes dans le jeton SAML. Si le jeton SAML contient un SamlSubject avec un nom non null, une revendication Identity de type NameIdentifier et une ressource de type SamlNameIdentifierClaimResource sont alors créées.

Revendications d'identité et ServiceSecurityContext.IsAnonymous

Si aucun des objets ClaimSet qui résultent des informations d’identification du client ne contient de revendication associée à un Right de type Identity,, la propriété IsAnonymous renvoie true. En présence d'une ou plusieurs revendications de ce type, la propriété IsAnonymous retourne false.

Voir aussi