Quando usare una regola di pass-through o di filtro delle attestazioni
È possibile utilizzare questa regola in Active Directory Federation Services ADFS quando è necessario richiedere un tipo di attestazione in ingresso specifico e quindi applicare un'azione che determina il tipo di output deve essere eseguita in base ai valori nell'attestazione in ingresso. Quando si usa questa regola, si consente l'ingresso o si filtrano le eventuali attestazioni corrispondenti alla logica della regola nella tabella seguente, in base all'opzione configurata nella regola.
Opzione della regola | Logica della regola |
---|---|
Pass-through di tutti i valori attestazione | Se il tipo di attestazione in ingresso è uguale a specificato tipo di attestazione e valore è uguale a qualsiasi valore, quindi passare l'attestazione tramite |
Pass-through solo di un valore attestazione specifico | Se il tipo di attestazione in ingresso è uguale a specificato tipo di attestazione e valore è uguale a valore di attestazione specificato, quindi passare l'attestazione tramite |
Pass-through solo dei valori attestazione che corrispondono a un valore suffisso di posta elettronica specifico | Se il tipo di attestazione in ingresso è uguale a specificato tipo di attestazione e valore è uguale a valore suffisso specificato, quindi passare l'attestazione tramite |
Pass-through solo dei valori attestazione che iniziano con un valore specifico | Se il tipo di attestazione in ingresso è uguale a specificato tipo di attestazione e valore inizia con valore di attestazione specificato, quindi passare l'attestazione tramite |
Le sezioni seguenti forniscono un'introduzione di base alle regole attestazioni e indicano i casi in cui è necessario usare questa regola.
Informazioni sulle regole attestazioni
Una regola attestazioni rappresenta un'istanza della logica di business che accetta un'attestazione in ingresso, applica una condizione (se x quindi y) e genera un'attestazione in uscita in base ai parametri della condizione. L'elenco seguente fornisce suggerimenti importanti sulle regole attestazioni da tenere presenti prima di procedere con la lettura di questo argomento:
Nello snap-in di gestione di AD FS, le regole attestazioni possono essere create solo utilizzando modelli di regola attestazioni
Le regole attestazioni elaborano le attestazioni in ingresso direttamente da un provider di attestazioni (ad esempio Active Directory o un altro servizio federativo) oppure dall'output delle regole di trasformazione accettazione in un trust del provider di attestazioni.
Le regole attestazioni sono elaborate dal motore di rilascio delle attestazioni in ordine cronologico entro un determinato set di regole. Impostando la precedenza sulle regole, è possibile perfezionare o filtrare ulteriormente le attestazioni generate dalle regole precedenti all'interno di un set di regole specificato.
Per i modelli di regola attestazioni è sempre necessario specificare un tipo di attestazione in ingresso. Tuttavia, è possibile elaborare più valori di attestazione con lo stesso tipo di attestazione usando una singola regola.
Per ulteriori informazioni sulle regole attestazione e i set di regole attestazione, vedere ruolo delle attestazioni regole. Per ulteriori informazioni sulle modalità di elaborazione delle regole, vedere il ruolo del motore di attestazioni. Per ulteriori informazioni, modalità di elaborazione dei set di regole attestazione, vedere ruolo delle Pipeline delle attestazioni.
Pass-through di tutti i valori attestazione
Quando si usa questa regola, viene consentito l'ingresso di tutti i valori attestazione in ingresso per il tipo di attestazione specificato come attestazioni in uscita. Ad esempio quando il tipo di attestazione in ingresso è specificato come tipo di attestazione Ruolo, tutti i valori attestazione in ingresso vengono copiati singolarmente in nuove attestazioni in uscita con il tipo di attestazione in uscita Ruolo.
Filtrare un'attestazione
In ADFS, il termine attestazioni filtro consentono di filtrare o limitare in ingresso in modo che solo determinati valori vengono passati o inviati come attestazioni in uscita tramite i valori di attestazione. È il Pass Through or Filter an Incoming Claim il modello di regola che rende possibile questa funzione. All'interno delle proprietà di questa regola, è possibile impostare le condizioni per filtrare i valori in ingresso per consentire l'ingresso solo dei valori che soddisfano i criteri specificati.
Ad esempio, è possibile usare questa regola per consentire l'ingresso solo delle attestazioni che corrispondono al valore attestazione di Purchaser quando il tipo di attestazione in ingresso corrisponde al tipo di attestazione Ruolo o quando si vuole rilasciare solo attestazioni relative al nome dell'utente ma non quelle contenenti il codice fiscale dell'utente.
Quando si usa una condizione di filtro con questa regola, vengono esaminate tutte le attestazioni in ingresso per determinare quelle che corrispondono ai criteri impostati dalla regola. Tutte le altre attestazioni vengono ignorate, in modo da consentire l'ingresso solo ai valori attestazione specificati che corrispondono al tipo di attestazione selezionato.
Come mostrato nell'illustrazione seguente, quando viene impostata una regola con una condizione che applica il filtro solo alle attestazioni in ingresso che corrispondono al tipo di attestazione UPN e che terminano con @fabrikam.com, tutte le altre attestazioni vengono ignorate a meno che non soddisfino questi criteri. È inclusa l'attestazione in ingresso con il tipo di attestazione Indirizzo di posta elettronica, anche se il relativo valore di attestazione termina con @fabrikam.com. In questo caso, solo l'attestazione contenente il valore Nick@fabrikam.com viene inviato alla relying party.
Configurazione della regola in un trust del provider di attestazioni
Quando si usa un trust del provider di attestazioni, è possibile configurare questa regola in modo che consenta solo le attestazioni in ingresso dal provider di attestazioni che corrispondono a determinati vincoli. Ad esempio, se si vuole accettare solo le attestazioni di posta elettronica dal provider di attestazioni, è necessario usare questo modello di regola per accettare i tipi di attestazione posta elettronica che terminano con il nome DNS del provider di attestazioni.
Configurazione di questa regola in un trust della relying party
Quando si usa un trust della relying party, è possibile configurare questa regola in modo che consenta l'ingresso o filtri le attestazioni in uscita che verranno inviate alla relying party. Alcune relying party potrebbero non riconoscere determinati tipi di attestazioni e determinate attestazioni potrebbero contenere informazioni riservate che non devono essere inviate a determinate relying party. Questo modello di regola semplifica l'imposizione di tali criteri per un trust della relying party specifico.
Come creare la regola
Creare questa regola utilizzando il linguaggio di regola attestazione o il Pass-Through o filtro a un modello di regola attestazione in ingresso nello snap-in di gestione di ADFS. Questo modello di regola offre le opzioni di configurazione seguenti:
Specificare un nome regola attestazione
Specificare un tipo di attestazione in ingresso
Pass-through di tutti i valori attestazione
Pass-through solo di un valore attestazione specifico
Pass-through solo dei valori attestazione che corrispondono a un valore suffisso di posta elettronica specifico
Pass-through solo dei valori attestazione che iniziano con un valore specifico
Per ulteriori istruzioni su come creare questo modello, vedere creare una regola di Pass-Through o filtrare un'attestazione in ingresso nella Guida alla distribuzione di ADFS.
Uso del linguaggio delle regole attestazioni
Se un'attestazione deve essere inviata solo quando il relativo valore corrisponde a un modello personalizzato, è necessario usare una regola personalizzata. Per altre informazioni, vedere Quando usare una regola personalizzata.
Esempi di come costruire la sintassi di una regola pass-through o di filtro
Una semplice regola di filtro filtrerà le attestazioni in base a una delle proprietà descritte in precedenza. La regola seguente, ad esempio, consentirà l'ingresso di tutte le attestazioni di posta elettronica.
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"] => issue(claim = c);
È possibile collegare logicamente i filtri tramite l'operatore AND. La regola seguente, ad esempio, accetterà tutte le attestazioni di posta elettronica con il valore johndoe@fabrikam.com:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value == "johndoe@fabrikam.com "] => issue(claim = c);
Negli esempi precedenti per i filtri è sempre stato usato un operatore di uguaglianza. Il linguaggio delle regole attestazioni supporta gli operatori seguenti:
== - uguale a (maiuscole/minuscole)
!= - non uguale a (maiuscole/minuscole)
=~- corrispondenza dell'espressione regolare
!~- mancata corrispondenza dell'espressione regolare
La regola seguente, ad esempio, accetterà tutte le attestazioni di posta elettronica non rilasciate da un server federativo che hanno un suffisso di boeing.com:
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", value =~ "^.*@boeing\.com$" , issuer != "LOCAL AUTHORITY"] => issue(claim = c);
Procedure consigliate per la creazione di regole personalizzate
È possibile applicare un filtro a una o più proprietà di ogni attestazione, come descritto nella tabella seguente-
Proprietà attestazione | Descrizione |
---|---|
Tipo | Il tipo di attestazione (generalmente rappresentato come un URI) riflette un contratto implicito tra i partner di una federazione in merito al tipo di informazioni trasmesso nell'attestazione. Ad esempio, le attestazioni di tipo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress conterranno l'indirizzo di posta elettronica dell'utente. |
Valore | Valore dell'attestazione. Ad esempio, un'attestazione di tipo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress può avere un valore di johndoe@fabrikam.com |
ValueType | ValueType rappresenta il modo in cui le informazioni contenute nel valore dell'attestazione devono essere interpretate. In genere, ValueType verrà impostato su http://www.w3.org/2001/XMLSchema#string, ma il valore attestazione potrà contenere dati codificati binari Base 64 (ad esempio un'immagine), una data, un valore booleano e così via. |
Autorità di certificazione | L'emittente rappresenta la parte che ha rilasciato per ultima le attestazioni relative all'utente. Se le attestazioni sono state ricevute da un server federativo del provider di attestazioni, l'autorità emittente di tutte le attestazioni verrà impostata su “LOCAL AUTHORITY”. Se le attestazioni sono state ricevute da un server federativo di un provider federativo, l'autorità emittente delle attestazioni verrà impostata sull'identificatore del provider di attestazioni del provider di attestazioni che ha firmato il token. Di conseguenza, durante l'elaborazione delle regole sulle attestazioni ricevute da un provider di attestazioni, l'autorità emittente di tutte le attestazioni verrà impostata sullo stesso valore. Durante la creazione delle regole per una relying party, la proprietà Issuer può essere usata per distinguere le attestazioni originate da diversi provider di attestazioni. |
OriginalIssuer | Questa proprietà dell'attestazione indica il server federativo che ha originariamente rilasciato l'attestazione. Poiché la proprietà Issuer delle attestazioni è impostata sull'ultimo server federativo che ha firmato il token, l'autorità emittente originale è utile negli scenari in cui un'attestazione è transitata attraverso più di un server federativo, ad esempio una relying party che riceve un token da un server federativo del provider federativo potrebbe essere interessata alle informazioni relative al server federativo del provider di attestazioni specifico che ha autenticato l'utente. |
Proprietà | Oltre alle cinque proprietà descritte in precedenza, ogni attestazione ha un contenitore delle proprietà in cui è possibile archiviare proprietà denominate. Queste proprietà no sono serializzate nel token e servono esclusivamente per passare le informazioni tra i componenti della pipeline di rilascio delle attestazioni all'interno dell'ambito di un singolo server federativo. Ad esempio, quando viene impostata una proprietà durante l'elaborazione delle regole del provider di attestazioni e quindi vi si fa riferimento nelle regole della relying party. |