Attestazioni e token
In questo argomento vengono descritti i vari tipi di attestazione che Windows Communication Foundation (WCF) crea dai token predefiniti supportati.
È possibile esaminare le attestazioni di una credenziale client utilizzando le classi ClaimSet e Claim. L'elemento ClaimSet contiene un insieme di oggetti Claim. Ogni oggetto Claim comprende i membri seguenti:
- La proprietà ClaimType restituisce un URI (Uniform Resource Identifier) che specifica il tipo di attestazione che viene creato. Un tipo di attestazione può essere, ad esempio, un'identificazione personale di un certificato, nel qual caso l'URI è http:schemas.microsoft.com/ws/20005/05/identity/claims/thumprint.
- La proprietà Right restituisce un URI che specifica il diritto dell'attestazione. I diritti predefiniti si trovano nella classe Rights (Identity, PossessProperty).
- La proprietà Resource restituisce la risorsa associata all'attestazione.
Ogni classe ClaimSet ha anche una proprietà Issuer che rappresenta la classe ClaimSet dell'elemento Issuer.
Account di Windows
Quando una credenziale client esegue il mapping a un account utente Windows, la classe ClaimSet risultante ha i valori seguenti:
- Issuer è il valore restituito dalla proprietà Windows statica della classe ClaimSet.
- Le attestazioni incluse nell'insieme sono:
- Una classe Claim con un valore SID ClaimType, un valore Identity della proprietà Right e una proprietà Resource che restituisce il valore SID effettivo. Un SID è un valore univoco che il controller di dominio invia a ogni utente. Il SID viene utilizzato per identificare l'utente nelle interazioni con la protezione di Windows.
- Una classe Claim con un valore SID ClaimType, un valore PossessProperty della proprietà Right e una proprietà Resource del valore SID.
- Una classe Claim con una proprietà ClaimType con valore Name, una proprietà Right con valore PossessProperty e una proprietà Resource della stringa che contiene il nome utente (ad esempio, "MYMACHINE\Bob").
- Attestazioni SID aggiuntive con la proprietà PossessProperty per i vari gruppi ai quali appartiene l'utente.
Certificati
Quando la credenziale client è un certificato, la classe ClaimSet risultante ha i valori seguenti:
- Per i certificati autocertificati, l'elemento Issuer è la classe ClaimSet stessa. La classe ClaimSet restituisce una proprietà ClaimType con valore Thumbprint, una proprietà Right con valore Identity e un valore della proprietà Resource che corrisponde a una matrice Byte contenente l'identificazione personale del certificato.
- Per un certificato emesso da un'autorità di certificazione, l'emittente corrisponde al valore ClaimSet che rappresenta il certificato dell'autorità di certificazione.
- Gli elementi Claims presenti nell'insieme includono:
- Un elemento Claim con una proprietà ClaimType con valore Thumbprint, una proprietà Right con valore PossessProperty e una proprietà Resource che corrisponde a una matrice di byte contenente l'identificazione personale del certificato.
- Attestazioni PossessProperty aggiuntive di vario tipo, tra cui X500DistinguishedName, Dns, Name, Upn e Rsa rappresentano le varie proprietà del certificato. La risorsa per l'attestazione Rsa è la chiave pubblica associata al certificato.Nota: quando il tipo di credenziale client è un certificato del quale il servizio esegue il mapping a un account di Windows, vengono generati due oggetti ClaimSet. Il primo contiene tutte le attestazioni relative all'account di Windows e il secondo contiene tutte le attestazioni relative al certificato.
Nome utente/Password
Quando la credenziale client è un nome utente/password (o equivalente) che non esegue il mapping a un account di Windows, l'oggetto ClaimSet risultante viene pubblicato dalla proprietà System statica della classe ClaimSet. L'oggetto ClaimSet contiene un'attestazione Identity di tipo Name la cui risorsa è il nome utente fornito dal client. Un'attestazione corrispondente ha una proprietà Right di tipo PossessProperty.
Chiavi RSA
Quando viene utilizzata una chiave RSA non associata a un certificato, l'oggetto ClaimSet risultante è autocertificato e contiene un'attestazione Identity di tipo Rsa la cui risorsa è la chiave RSA. Un'attestazione corrispondente ha una proprietà Right di tipo PossessProperty.
SAML
Quando il client esegue l'autenticazione con un token SAML (Security Assertions Markup Language), l'oggetto ClaimSet risultante viene emesso dall'entità che ha firmato il token SAML, in genere il certificato del servizio token di protezione (STS) che ha emesso il token SAML. ClaimSet contiene le varie attestazioni presenti nel token SAML. Se il token SAML contiene una classe SamlSubject con un nome null, verranno create un'attestazione Identity di tipo NameIdentifier e un tipo di risorsa SamlNameIdentifierClaimResource.
Attestazioni d'identità e ServiceSecurityContext.IsAnonymous
Se nessuno degli oggetti ClaimSet risultanti dalle credenziali client contiene un'attestazione con una proprietà Right di tipo Identity,, la proprietà IsAnonymous restituisce true. Se sono presenti una o più di tali attestazioni, la proprietà IsAnonymous restituisce false.
Vedere anche
Riferimenti
ClaimSet
Claim
Rights
ClaimTypes
Concetti
Gestione di attestazioni e autorizzazioni con il modello di identità