Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento illustra vari aspetti correlati ad applicazioni federate, limiti di attendibilità e configurazione e uso di token emessi in Windows Communication Foundation (WCF).
Servizi, Servizi di token di sicurezza e fiducia
I servizi che espongono endpoint federati prevedono in genere che i client eseguano l'autenticazione usando un token fornito da un'autorità emittente specifica. È importante che il servizio sia configurato con le credenziali corrette per l'emittente; in caso contrario, non sarà in grado di verificare le firme sui token emessi e il client non sarà in grado di comunicare con il servizio. Per altre informazioni sulla configurazione delle credenziali dell'autorità emittente nel servizio, vedere Procedura: Configurare le credenziali in un servizio federativo.
Analogamente, quando si usano chiavi simmetriche, le chiavi vengono crittografate per il servizio di destinazione, pertanto è necessario configurare il servizio token di sicurezza con le credenziali corrette per il servizio di destinazione; in caso contrario, non sarà possibile crittografare la chiave per il servizio di destinazione e di nuovo il client non sarà in grado di comunicare con il servizio.
I servizi WCF usano il valore della MaxClockSkew proprietà sul SecurityBindingElement per consentire lo sfasamento dell'orologio tra il client e il servizio. Nella federazione, l'impostazione MaxClockSkew
si applica agli sfasamenti di clock tra il client e il servizio token di sicurezza da cui il client ha ottenuto il token rilasciato. Pertanto, i servizi di sicurezza dei token non devono effettuare regolazioni per la deviazione dell'orologio quando impostano i tempi di validità e scadenza del token emesso.
Annotazioni
L'importanza della differenza temporale del clock aumenta man mano che la durata del token rilasciato si riduce. Nella maggior parte dei casi, l'asimmetria dell'orologio non è un problema significativo se la durata del token è di 30 minuti o più. Gli scenari con durate più brevi o in cui è importante l'esatta validità del token devono essere progettati tenendo conto del disallineamento dell'orologio.
Endpoint federati e Time-Outs
Quando un client comunica con un endpoint federato, deve prima acquisire un token appropriato da un servizio token di sicurezza. Se il servizio token di sicurezza espone un endpoint federato, il client deve prima ottenere un token dall'autorità di certificazione per tale endpoint. Ogni acquisizione di token richiede tempo e tale tempo è soggetto al timeout complessivo per l'invio del messaggio effettivo all'endpoint finale.
Ad esempio, il timeout sul canale lato client è impostato su 30 secondi. È necessario chiamare due autorità emittenti di token per recuperare i token prima di inviare il messaggio all'endpoint finale e ognuno richiede 15 secondi per rilasciare un token. In questo caso, il tentativo avrà esito negativo e viene generata un'eccezione TimeoutException . È quindi necessario impostare il OperationTimeout valore sul canale client su un valore sufficientemente grande da includere il tempo impiegato per recuperare tutti i token emessi. Nel caso in cui non sia specificato un valore per la OperationTimeout proprietà, la OpenTimeout proprietà o la SendTimeout proprietà (o entrambe) devono essere impostate su un valore sufficientemente grande da includere il tempo impiegato per recuperare tutti i token emessi.
Durata e rinnovo dei token
I client WCF non controllano il token emesso quando si effettua una richiesta iniziale a un servizio. WCF considera invece attendibile il servizio token di sicurezza per emettere un token con tempi effettivi e di scadenza appropriati. Se il token viene memorizzato nella cache dal client e riutilizzato, la durata del token viene controllata nelle richieste successive e il client rinnova automaticamente il token, se necessario. Per altre informazioni sulla memorizzazione nella cache dei token, vedere Procedura: Creare un client federato.
Se si specificano durate brevi, nell'ordine di 30 secondi o inferiori per i token emessi o i token del contesto di sicurezza, possono verificarsi timeout di negoziazione o altre eccezioni generate dai client WCF quando si richiedono token emessi o quando si negoziano o rinnovano i token del contesto di sicurezza.
Token emessi e Modalità di inclusione
Indica se un token emesso viene serializzato in un messaggio inviato da un client a un endpoint federato o meno tramite l'impostazione della InclusionMode proprietà della SecurityTokenParameters classe . Questa proprietà può essere impostata su uno dei SecurityTokenInclusionMode valori di enumerazione, ma non è utile nella maggior parte degli scenari federati. I valori SecurityTokenInclusionMode.Never
e SecurityTokenInclusionMode.AlwaysToInitiator
causano che il client invii un riferimento al token rilasciato dal servizio token di sicurezza al soggetto affidatario. A meno che la relying party non abbia una copia del token rilasciato, l'autenticazione avrà esito negativo perché il riferimento al token non è risolvibile. WCF considera SecurityTokenInclusionMode.Once
equivalente a SecurityTokenInclusionMode.AlwaysToRecipient
.