Provisioning dell'applicazione basato su attributi con filtri per la definizione dell'ambitoAttribute-based application provisioning with scoping filters

Questo articolo spiega come usare i filtri di ambito per definire regole basate su attributi per determinare gli utenti per i quali viene eseguito il provisioning per un'applicazione.The objective of this article is to explain how to use scoping filters to define attribute-based rules that determine which users are provisioned to an application.

Casi d'uso dei filtri di ambitoScoping filter use cases

Un filtro di ambito consente ad Azure Active Directory (Azure AD) di eseguire il provisioning del servizio per includere o escludere gli utenti che dispongono di un attributo che corrisponde a un valore specifico.A scoping filter allows the Azure Active Directory (Azure AD) provisioning service to include or exclude any users who have an attribute that matches a specific value. Ad esempio, quando si esegue il provisioning di utenti di Azure AD in un'applicazione SaaS usata da un team di vendita, è possibile specificare che solo gli utenti con un attributo "Reparto" di "Vendite" devono essere inclusi nell'ambito del provisioning.For example, when provisioning users from Azure AD to a SaaS application used by a sales team, you can specify that only users with a "Department" attribute of "Sales" should be in scope for provisioning.

I filtri di ambito possono essere usati in modo diverso a seconda del tipo di connettore di provisioning:Scoping filters can be used differently depending on the type of provisioning connector:

  • Provisioning in uscita da Azure AD ad applicazioni SaaS.Outbound provisioning from Azure AD to SaaS applications. Quando Azure AD è il sistema di origine, le assegnazioni di utenti e gruppi sono il metodo più comune per determinare quali utenti sono inclusi nell'ambito per il provisioning.When Azure AD is the source system, user and group assignments are the most common method for determining which users are in scope for provisioning. Queste assegnazioni vengono usate anche per l'abilitazione dell'accesso Single Sign-On e offrono un unico metodo per gestire l'accesso e il provisioning.These assignments also are used for enabling single sign-on and provide a single method to manage access and provisioning. I filtri di ambito possono essere usati facoltativamente, oltre o in sostituzione delle assegnazioni, per filtrare gli utenti in base ai valori di attributo.Scoping filters can be used optionally, in addition to assignments or instead of them, to filter users based on attribute values.

    Suggerimento

    È possibile disabilitare il provisioning in base alle assegnazioni per un'applicazione aziendale modificando le impostazioni nel menu Ambito nelle impostazioni di provisioning su Sincronizza tutti gli utenti e i gruppi.You can disable provisioning based on assignments for an enterprise application by changing settings in the Scope menu under the provisioning settings to Sync all users and groups. L'uso di questa opzione insieme ai filtri di ambito basati su attributi offre prestazioni più veloci rispetto all'uso di assegnazioni basate su gruppo.Using this option plus attribute-based scoping filters offers faster performance than using group-based assignments.

  • Provisioning in ingresso dalle applicazioni di Gestione connessione ibrida ad Azure AD e Active Directory.Inbound provisioning from HCM applications to Azure AD and Active Directory. Quando il sistema di origine è un'applicazione di Gestione connessione ibrida come Workday, i filtri di ambito sono il metodo principale per determinare gli utenti che devono eseguire il provisioning dall'applicazione Gestione connessione ibrida ad Active Directory o Azure AD.When an HCM application such as Workday is the source system, scoping filters are the primary method for determining which users should be provisioned from the HCM application to Active Directory or Azure AD.

Per impostazione predefinita, i connettori di provisioning di Azure AD non dispongono di filtri di ambito basati su attributi configurati.By default, Azure AD provisioning connectors do not have any attribute-based scoping filters configured.

Creazione di un filtro di ambitoScoping filter construction

Un filtro di ambito è costituito da una o più clausole.A scoping filter consists of one or more clauses. Le clausole determinano gli utenti che verranno restituiti dal filtro di ambito valutando gli attributi di ogni utente.Clauses determine which users are allowed to pass through the scoping filter by evaluating each user's attributes. Ad esempio, se una clausola richiede che l'attributo "Stato" di un utente sia uguale a "Italia", nell'applicazione viene eseguito il provisioning solo degli utenti italiani.For example, you might have one clause that requires that a user's "State" attribute equals "New York", so only New York users are provisioned into the application.

Una sola clausola definisce una sola condizione per un singolo valore dell'attributo.A single clause defines a single condition for a single attribute value. Se vengono create più clausole in un solo filtro di ambito, queste vengono valutate insieme con la logica "AND".If multiple clauses are created in a single scoping filter, they're evaluated together by using "AND" logic. Ciò significa che tutte le clausole devono restituire "true" affinché si esegua il provisioning di un utente.This means all clauses must evaluate to "true" in order for a user to be provisioned.

Infine, è possibile creare più filtri di ambito per una singola applicazione.Finally, multiple scoping filters can be created for a single application. Se sono presenti più filtri di ambito, questi vengono valutati insieme con la logica "OR".If multiple scoping filters are present, they're evaluated together by using "OR" logic. Ciò significa che se tutte le clausole in un qualsiasi filtro di ambito configurato restituiscono "true", per l'utente viene eseguito il provisioning.This means that if all the clauses in any of the configured scoping filters evaluate to "true", the user is provisioned.

Ogni utente o gruppo elaborato dal servizio di provisioning di Azure AD viene sempre valutato singolarmente in base a ogni filtro di ambito.Each user or group processed by the Azure AD provisioning service is always evaluated individually against each scoping filter.

Vedere ad esempio il filtro di ambito seguente:As an example, consider the following scoping filter:

Filtro per la definizione dell'ambito

In base a questo filtro di ambito, gli utenti devono soddisfare i criteri seguenti per poterne effettuare il provisioning:According to this scoping filter, users must satisfy the following criteria to be provisioned:

  • Devono trovarsi a New York.They must be in New York.
  • Devono lavorare nel reparto Engineering.They must work in the Engineering department.
  • L'ID del dipendente aziendale deve essere compreso tra 1.000.000 e 2.000.000.Their company employee ID must be between 1,000,000 and 2,000,000.
  • La posizione non deve essere null o vuota.Their job title must not be null or empty.

Creare filtri di ambitoCreate scoping filters

I filtri di ambito sono configurati come parte dei mapping degli attributi per ogni connettore di provisioning dell'utente di Azure AD.Scoping filters are configured as part of the attribute mappings for each Azure AD user provisioning connector. La procedura seguente presuppone che sia già stato configurato il provisioning automatico per una delle applicazioni supportate e che si aggiunga un filtro di ambito per tale applicazione.The following procedure assumes that you already set up automatic provisioning for one of the supported applications and are adding a scoping filter to it.

Creare un filtro di ambitoCreate a scoping filter

  1. Nel portale di Azure passare alla sezione Azure Active Directory > Applicazioni aziendali > Tutte le applicazioni.In the Azure portal, go to the Azure Active Directory > Enterprise Applications > All applications section.

  2. Selezionare l'applicazione per cui è stato configurato il provisioning automatico, ad esempio "ServiceNow".Select the application for which you have configured automatic provisioning: for example, "ServiceNow".

  3. Selezionare la scheda Provisioning.Select the Provisioning tab.

  4. Nella sezione Mapping selezionare il mapping per cui si vuole configurare un filtro di ambito, ad esempio "Synchronize Azure Active Directory Users to ServiceNow" (Sincronizzare gli utenti di Azure Active Directory in ServiceNow).In the Mappings section, select the mapping that you want to configure a scoping filter for: for example, "Synchronize Azure Active Directory Users to ServiceNow".

  5. Selezionare il menu Ambito dell'oggetto di origine.Select the Source object scope menu.

  6. Selezionare Aggiungi filtro di ambito.Select Add scoping filter.

  7. Definire una clausola selezionando un'origine Nome attributo, un Operatore e un Valore dell'attributo da confrontare.Define a clause by selecting a source Attribute Name, an Operator, and an Attribute Value to match against. Sono supportati gli operatori seguenti:The following operators are supported:

    a.a. EQUALS (È UGUALE A).EQUALS. La clausola restituisce "true" se l'attributo valutato corrisponde esattamente al valore della stringa di input (con distinzione tra maiuscole e minuscole).Clause returns "true" if the evaluated attribute matches the input string value exactly (case sensitive).

    b.b. NOT EQUALS (DIVERSO DA).NOT EQUALS. La clausola restituisce "true" se l'attributo valutato non corrisponde al valore della stringa di input (con distinzione tra maiuscole e minuscole).Clause returns "true" if the evaluated attribute doesn't match the input string value (case sensitive).

    c.c. IS TRUE (È VERO).IS TRUE. La clausola restituisce "true" se l'attributo valutato contiene un valore booleano true.Clause returns "true" if the evaluated attribute contains a Boolean value of true.

    d.d. IS FALSE (È FALSO).IS FALSE. La clausola restituisce "true" se l'attributo valutato contiene un valore booleano false.Clause returns "true" if the evaluated attribute contains a Boolean value of false.

    e.e. IS NULL (È NULL).IS NULL. La clausola restituisce "true" se l'attributo valutato è vuoto.Clause returns "true" if the evaluated attribute is empty.

    f.f. IS NOT NULL (NON È NULL).IS NOT NULL. La clausola restituisce "true" se l'attributo valutato non è vuoto.Clause returns "true" if the evaluated attribute isn't empty.

    g.g. REGEX MATCH (CORRISPONDENZA REGEX).REGEX MATCH. La clausola restituisce "true" se l'attributo valutato corrisponde a un modello di espressione regolare.Clause returns "true" if the evaluated attribute matches a regular expression pattern. Ad esempio: ([1-9][0-9]) corrisponde a qualsiasi numero compreso tra 10 e 99.For example: ([1-9][0-9]) matches any number between 10 and 99.

    h.h. NOT REGEX MATCH (NESSUNA CORRISPONDENZA REGEX).NOT REGEX MATCH. La clausola restituisce "true" se l'attributo valutato non corrisponde a un modello di espressione regolare.Clause returns "true" if the evaluated attribute doesn't match a regular expression pattern.

  8. Selezionare Aggiungi nuova clausola di ambito.Select Add new scoping clause.

  9. Facoltativamente, ripetere i passaggi 7 e 8 per aggiungere altre clausole di ambito.Optionally, repeat steps 7-8 to add more scoping clauses.

  10. In Titolo filtro di ambito aggiungere un nome per il filtro di ambito.In Scoping Filter Title, add a name for your scoping filter.

  11. Selezionare OK.Select OK.

  12. Selezionare di nuovo OK nella schermata Filtri di ambito.Select OK again on the Scoping Filters screen. Facoltativamente, ripetere i passaggi da 6 a 11 per aggiungere un altro filtro di ambito.Optionally, repeat steps 6-11 to add another scoping filter.

  13. Selezionare Salva nella schermata Mapping attributi.Select Save on the Attribute Mapping screen.

Importante

Il salvataggio di un nuovo filtro di ambito attiva una nuova sincronizzazione completa per l'applicazione, in cui tutti gli utenti del sistema di origine vengono nuovamente valutati rispetto al nuovo filtro di ambito.Saving a new scoping filter triggers a new full sync for the application, where all users in the source system are evaluated again against the new scoping filter. Se un utente nell'applicazione era precedentemente incluso nell'ambito per il provisioning, ma non rientra più nell'ambito, l'account verrà disabilitato o ne verrà eseguito il deprovisioning nell'applicazione.If a user in the application was previously in scope for provisioning, but falls out of scope, their account is disabled or deprovisioned in the application.