Condividi tramite


Risoluzione dei problemi AD FS - Sintassi delle regole sulle attestazioni

Un'attestazione è una dichiarazione che un soggetto effettua relativa a se stesso o a un altro soggetto. Le attestazioni vengono rilasciate da una relying party, vengono attribuiti loro uno o più valori e creati pacchetti in token di sicurezza rilasciati dal server AD FS. Questo articolo si occupa della sintassi e della creazione delle attestazioni. Per altre informazioni sul rilascio di attestazioni, vedere Risoluzione dei problemi AD FS - Rilascio di attestazioni.

Nota

È possibile usare ClaimsXRay nel sito della Guida AD FS per prestare assistenza nell'ambito dei problemi relativi attestazioni.

Modalità di elaborazione delle regole attestazioni

Regole attestazione vengono elaborate tramite la pipeline di attestazioni utilizzando il motore delle attestazioni. Il motore delle attestazioni è un componente logico del servizio federativo che esamina il set di attestazioni in ingresso fornite da un utente e quindi, in base alla logica di ogni regola, produce un set di attestazioni di output.

Come creare una regola attestazioni

Le regole attestazioni vengono create separatamente per ogni relazione di trust federativa nel servizio federativo e non vengono condivise tra più trust. È possibile creare una regola da un modello di regola attestazione, iniziare da zero per la regola utilizzando il linguaggio di regola attestazione di creazione o l'utilizzo di Windows PowerShell per personalizzare una regola.

Informazioni sui componenti del linguaggio delle regole attestazioni

Il linguaggio di regola attestazione include i componenti seguenti, separati dal “ =>” operatore:

  • Una condizione: usata per controllare le attestazioni di input e determinare se eseguire l'istruzione di rilascio della regola. Rappresenta un'espressione logica che deve restituire true per eseguire la parte del corpo della regola.

  • Istruzione di rilascio.

Esempio

c:[type == "Name", value == "domain user"] => issue(type = "Role", value = "employee");

L’attestazione ha le seguenti caratteristiche:

  • Condizione - c:[type == "Name", value == "domain user"] - valuta se il nome dell'account di Windows è un utente di dominio.
  • Rilascio - issue(type = "Role", value = "employee") - se la condizione è true, aggiunge una nuova richiesta alla richiesta di input con il ruolo di dipendente.

Per ulteriori informazioni sulle attestazioni e sulla sintassi, vedere Il ruolo del linguaggio di regola attestazione.

Editor delle regole di attestazione

Il controllo della sintassi viene eseguito dall'editor delle regole di attestazione dopo aver completato l’attestazione e aver selezionato OK. Pertanto, se la sintassi non è corretta, l'editor lo segnala.

Screenshot della finestra di dialogo Gestione di A D F S che mostra un messaggio che informa che la sintassi della regola attestazione personalizzata non è valida.

Registri eventi

Quando si cerca di risolvere un’attestazione utilizzando i registri, l'approccio migliore è quello di cercare l'output dell’attestazione. È possibile cercare gli eventi 1000 e 1001 nel registro eventi.

Screenshot della finestra di dialogo Proprietà evento che mostra i risultati di un evento 1000 I D.

Creazione di un'applicazione di esempio

È anche possibile creare un'applicazione di esempio che riprenda le attestazioni. Ad esempio, è possibile utilizzare un'applicazione di esempio e creare una relying party sulla stessa attestazione che si sta cercando di risolvere e vedere se l'app presenta problemi con tale attestazione.

Screenshot dell'applicazione di esempio visualizzata in un browser.

Un buon esempio di applicazione web è disponibile qui. L'app restituisce le attestazioni ricevute dalla relying party. Questa app restituisce le attestazioni che riceve dalla relying party. Per poterla utilizzare, è necessario modificare l'app web.config:

  • Modificando https://app1.contoso.com/sampapp con l'URL che verrà utilizzato per l’hosting dell'app di esempio.
  • Modificando tutte le istanze di sts.contoso.com in modo che puntino al server federativo AD FS.
  • Sostituendo il thumbprint con il proprio thumbprint.
  • Sostituzione di decryptionKey e validationKey con i valori appropriati per lo scenario.

Screenshot di Visual Studio, che mostra il file di configurazione Web.

Il seguente articolo del blogcontiene istruzioni complete e approfondite per la configurazione.

Passaggi successivi