Share via


Gruppi di regole e regole

Aggiornamento: 19 giugno 2015

Si applica a: Azure

In Microsoft Azure Active Directory Controllo di accesso (noto anche come servizio Controllo di accesso o ACS), un gruppo di regole è un set denominato di regole attestazioni che definiscono le attestazioni di identità passate dai provider di identità all'applicazione relying party. In ACS i gruppi di regole sono associati alle applicazioni relying party. Un gruppo di regole può essere usato da più applicazioni relying party e un'applicazione relying party può fare riferimento a più gruppi di regole.

Quando ACS riceve una richiesta di token o un token da un provider di identità, viene eseguito attraverso tutti i gruppi di regole associati all'applicazione relying party per elaborare le attestazioni nel token. Tutti i gruppi di regole vengono eseguiti contemporaneamente, così come tutte le regole in ogni gruppo. L'ordine non è rilevante. Se le regole provocano l'emissione di nuove attestazioni al termine dell'esecuzione, verranno eseguiti di nuovo tutti i gruppi di regole associati all'applicazione relying party. Il processo di esecuzione di regole e gruppi di regole si interrompe quando non vengono rilasciate nuove attestazioni dopo il completamento del processo di esecuzione o dopo il completamento di dieci esecuzioni da parte del servizio di controllo di accesso (a prescindere dal primo passaggio).

È possibile creare e modificare i gruppi di regole e le regole manualmente, usando il portale di gestione ACS o a livello di codice, usando il servizio di gestione ACS.

Configurazione delle regole con il portale di gestione ACS

Creazione di gruppi di regole

Quando si aggiungono e si configurano le proprietà di una nuova applicazione relying party nel portale di gestione ACS, è anche possibile creare un gruppo di regole associato a questa applicazione relying party, perché per impostazione predefinita, l'opzione Crea nuovo gruppo di regole è selezionata nella pagina Aggiungi applicazione relying party del portale di gestione ACS. È consigliabile mantenere selezionata questa opzione e creare quindi un gruppo di regole predefinite per la nuova applicazione relying party. Per altre informazioni, vedere "Gruppi di regole" in Applicazioni relying party. È anche possibile aggiungere gruppi di regole usando la sezione Gruppi di regole del portale di gestione ACS. Quando si aggiungono quindi applicazioni relying party usando la pagina Aggiungi applicazione relying party, è possibile associarle a uno o più gruppi di regole.

Generazione di regole

Dopo aver creato un gruppo di regole, è possibile usare la pagina Modifica gruppo di regole del portale di gestione ACS per generare automaticamente le regole. Se si decide di generare automaticamente le regole, verrà richiesta la selezione dei provider di identità per cui devono essere generate le regole. Quando il gruppo di regole è collegato a una o più applicazioni relying party, i provider di identità usati da queste applicazioni relying party verranno selezionati per impostazione predefinita.

Nota

Per i provider di identità WS-Federation viene creata una regola per ogni tipo di attestazione offerto nei metadati WS-Federation del provider di identità e questa regola passa il tipo e il valore dell'attestazione. Per altri provider di identità vengono generate regole pass-through in base a un elenco di tipi di attestazioni predeterminati.

Visualizzazione, aggiunta e modifica di regole

La pagina Modifica gruppo di regole del portale di gestione ACS visualizza tutte le regole in una tabella, in cui le colonne includono l'attestazione di output per la regola, l'autorità di certificazione attestazione (può essere un provider di identità o ACS) e una descrizione.

Se si fa clic su una regola specifica nella tabella, si verrà reindirizzati alla pagina Modifica regola attestazioni, in cui è possibile modificare la regola. Per aggiungere manualmente una nuova regola, è possibile fare clic su Aggiungi.

Regole attestazioni

Le regole attestazioni descrivono la logica di come ACS trasforma le attestazioni di input in attestazioni di output. Le regole sono contenute all'interno di gruppi di regole, associate alle applicazioni relying party e vengono eseguite ogni volta che un token viene rilasciato da ACS per un'applicazione. Se un gruppo di regole non contiene regole, non verrà emesso alcun token per l'applicazione relying party. In genere, è necessaria una regola per ogni tipo di attestazione da emettere per l'applicazione relying party. È possibile creare e usare solo una regola per eseguire il pass-through di tutti i tipi e i valori di attestazione. L'uso di una regola per ogni tipo di attestazione, tuttavia, migliora la sicurezza e offre un controllo maggiore sui dati passati all'applicazione.

In ACS è possibile configurare una regola per passare un'attestazione ricevuta da un provider di identità o un client all'applicazione relying party senza modificare il tipo, l'autorità emittente o il valore dell'attestazione. Queste regole sono definite regole pass-through. Ad esempio, i token emessi da Windows Live ID (account Microsoft) contengono un tipo di attestazione nameidentifier. Per passare questa attestazione invariata all'applicazione relying party, è necessario configurare una regola pass-through che elabora il tipo di attestazione nameidentifier di input dall'emittente dell'attestazione, Windows Live ID e crea un'attestazione di output identica.

La tabella seguente illustra le attestazioni di cui viene eseguito il pass-through da un provider di identità AD FS 2.0 fittizio denominato Contoso.com.

Attestazioni in ingresso Attestazioni in uscita

Issuer

Tipo

Valore

Issuer

Tipo

Valore

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Servizio di controllo di accesso

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Servizio di controllo di accesso

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

john@contoso.com

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Servizio di controllo di accesso

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

John Doe

Il motore regole ACS offre anche la possibilità di trasformare le attestazioni di input in attestazioni di output completamente diverse, in base all'autorità emittente dell'attestazione, al tipo di attestazione di input e al valore. In altre parole, il motore regole ACS consente di trasformare i token di input in token di output diversi aggiungendo, rimuovendo o modificando le attestazioni contenute nei token. Questa forma di trasformazione delle attestazioni rende ACS in grado di implementare l'autorizzazione di base in base ai valori di input dell'attestazione. L'esempio seguente mostra un tipo di attestazione "role" con un valore "administrator" come output se l'attestazione "nameidentifier" in ingresso corrisponde a un valore specifico.

Attestazioni in ingresso Attestazioni in uscita

Issuer

Tipo

Valore

Issuer

Tipo

Valore

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Servizio di controllo di accesso

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

entità

Il motore regole ACS offre anche la possibilità di creare attestazioni di output in base a una combinazione di due attestazioni di input. Nell'esempio seguente l'attestazione di output è di tipo "action" con valore "write" se entrambe le attestazioni "nameidentifier" e "role" di input da Contoso.com corrispondono a valori specifici. Quando in una regola vengono specificate due attestazioni di input, per generare l'attestazione in uscita è necessario che entrambi i valori corrispondano.

Attestazioni in ingresso Attestazioni in uscita

Issuer

Tipo

Valore

Issuer

Tipo

Valore

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

123456789

Servizio di controllo di accesso

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/action

scrittura

Contoso.com

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role

entità

Per altre informazioni e passaggi su come implementare la trasformazione del token usando le regole, vedere Procedura: Implementare la logica di trasformazione del token usando le regole.

Quando si aggiungono regole attestazioni nuove o modificate esistenti con il portale di gestione ACS, è necessario configurare le impostazioni seguenti:

Condizioni delle regole (if) – Aggiunta di un'attestazione in ingresso

Questa sezione include le condizioni che devono essere true per la regola in modo che venga emessa un'attestazione in uscita. Di seguito sono indicate alcune condizioni:

  • Autorità emittente dell'attestazione: fa riferimento all'entità che ha emesso l'attestazione in ingresso. Può trattarsi di un provider di identità configurato (ad esempio, ) o ACS. ACS è l'autorità emittente se l'attestazione di input proviene da un'identità del servizio o dall'attestazione di input proviene da un'altra regola attestazione. Per altre informazioni, vedere Identità del servizio.

  • Tipo di attestazione in ingresso: fa riferimento al tipo di attestazione in ingresso ricevuto dall'autorità emittente dell'attestazione. Ad esempio, il tipo di attestazione completo per "nameidentifier" è https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Il campo include le opzioni seguenti:

    • Qualsiasi: restituisce true se viene ricevuto un tipo di attestazione qualsiasi dall'autorità emittente.

    • Selezionare un tipo: restituisce true se il tipo di attestazione in ingresso corrisponde al tipo selezionato nel menu a discesa. Questo menu viene popolato con i tipi di attestazione disponibili per l'autorità emittente selezionata.

    • Immettere un tipo: restituisce true se il tipo di attestazione in ingresso corrisponde al valore esatto immesso nel campo.

      Importante

      Questo campo applica la distinzione tra maiuscole e minuscole.

  • Valore di attestazione in ingresso: fa riferimento al valore dell'attestazione in ingresso ricevuta. Ad esempio, il tipo di attestazione "nameidentifier" usa come valore un indirizzo di posta elettronica e questo campo può essere usato per verificare un indirizzo di posta elettronica specifico. Il campo include le opzioni seguenti:

    • Qualsiasi: restituisce true se viene ricevuto un valore di attestazione dall'autorità emittente.

    • Immettere un valore: restituisce true se il tipo di attestazione in ingresso corrisponde al valore esatto immesso nel campo. Questa opzione richiede la selezione o l'immissione di un tipo di attestazione in ingresso specifico nel campo Tipo di attestazione in ingresso.

      Importante

      Questo campo applica la distinzione tra maiuscole e minuscole.

Condizioni delle regole (if) – Aggiunta di una seconda attestazione in ingresso

Per aggiungere una seconda attestazione alla regola, fare clic su Add a second input claim. Ciò permette di specificare le condizioni aggiuntive illustrate di seguito. Si noti che in una regola con due attestazioni in ingresso è necessario che tutte le condizioni siano true per generare un'attestazione in uscita.

  • Autorità emittente dell'attestazione: fa riferimento all'entità che ha emesso la seconda attestazione in ingresso. Questo può essere lo stesso provider di identità selezionato per la prima attestazione oppure può essere ACS. Selezionare ACS per specificare le attestazioni generate da altre regole attestazioni durante l'elaborazione delle regole.

    Importante

    Non è possibile selezionare due provider di identità diversi per la prima e la seconda attestazione, poiché l'elaborazione delle regole viene eseguita solo per un token emesso da un provider di identità alla volta.

  • Tipo di attestazione in ingresso: fa riferimento al tipo di attestazione in ingresso ricevuto dall'autorità emittente dell'attestazione. Ad esempio, il tipo di attestazione completo per "nameidentifier" è https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Il campo include le opzioni seguenti:

    • Selezionare un tipo: restituisce true se il tipo di attestazione in ingresso corrisponde al tipo selezionato nel menu a discesa. Questo menu viene popolato con i tipi di attestazione disponibili per l'autorità emittente selezionata.

    • Immettere un tipo: restituisce true se il tipo di attestazione in ingresso corrisponde al valore esatto immesso nel campo.

      Importante

      Questo campo applica la distinzione tra maiuscole e minuscole.

  • Valore di attestazione in ingresso: fa riferimento al valore dell'attestazione in ingresso ricevuta. Ad esempio, il tipo di attestazione "nameidentifier" usa come valore un indirizzo di posta elettronica e questo campo può essere usato per verificare un indirizzo di posta elettronica specifico. Restituisce true se il tipo di attestazione in ingresso corrisponde al valore esatto immesso nel campo.

    Importante

    Questo campo applica la distinzione tra maiuscole e minuscole.

Azioni delle regole (then)

Questa sezione specifica l'attestazione di output rilasciata da ACS se le condizioni nella sezione If della regola sono true. Le opzioni delle attestazioni in uscita includono le seguenti:

  • Tipo di attestazione di output: tipo di attestazione rilasciato da ACS. Il campo include le opzioni seguenti:

    • Pass-through input claim type: emette un'attestazione in uscita con lo stesso tipo dell'attestazione in ingresso.

    • Select type: emette un'attestazione in uscita con il tipo specificato. Il menu a discesa include un elenco di tipi di attestazione comuni.

    • Enter type: emette un'attestazione con il tipo immesso. Se l'attestazione di output deve essere presente in un token SAML, questo valore deve essere un URI (ad esempio, https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).

      Importante

      Questo campo applica la distinzione tra maiuscole e minuscole.

  • Valore attestazione di output: fa riferimento al valore dell'attestazione di output rilasciata da ACS. Il campo include le opzioni seguenti:

    • Pass-through input claim value: emette un'attestazione in uscita con valore identico al valore dell'attestazione in ingresso.

    • Enter value: emette un'attestazione con il valore immesso in questo campo. Questa opzione richiede la selezione o l'immissione di un tipo di attestazione in ingresso specifico nel campo Output Claim Type.

      Importante

      Questo campo applica la distinzione tra maiuscole e minuscole.

Informazioni sulle regole

È possibile usare questa sezione per creare una descrizione per una regola.

Nota

In ACS le descrizioni delle regole non vengono create automaticamente per le regole generate.

Configurazione di regole con il servizio di gestione ACS

Le regole in uno spazio dei nomi Controllo di accesso possono essere configurate a livello di codice usando il servizio di gestione ACS. Per un esempio di come configurare le regole usando ASP.NET, vedere Esempio di codice: Servizio di gestione. Di seguito sono riportati elementi importanti da considerare quando si usa il servizio di gestione ACS per configurare le regole:

  • Quando si modificano ed eliminano le regole in un gruppo di regole, è consigliabile eseguire prima una query su ACS per tutte le regole all'interno del gruppo di regole e usare gli ID regola restituiti dalla query per eseguire le operazioni di modifica o eliminazione. Non è consigliabile archiviare gli ID restituiti dal servizio di gestione come riferimento per operazioni future, poiché la persistenza di questi ID non è garantita.

  • Se si scrive logica di ripetizione dei tentativi automatica per la creazione di regole, ad esempio in caso di timeout, è consigliabile eseguire prima di tutto una query relativa all'esistenza di una regola identica nel gruppo di regole corrente prima di tentare di aggiungerla una seconda volta.

Vedere anche

Concetti

Componenti di ACS 2.0