Aprovisionamiento de aplicaciones basado en atributos con filtros de ámbitoAttribute-based application provisioning with scoping filters

El objetivo de este artículo es explicar cómo usar filtros de ámbito para definir reglas basadas en atributos que determinarán qué usuarios se aprovisionarán en una aplicación.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.

Casos en los que se usan los filtros de ámbitoScoping filter use cases

Un filtro de ámbito permite que el servicio de aprovisionamiento de Azure Active Directory (Azure AD) incluya o excluya a cualquier usuario que tenga un atributo que coincida con un valor específico.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. Por ejemplo, al aprovisionar los usuarios de Azure AD a una aplicación de SaaS que use un equipo de ventas, puede especificar que solo los usuarios que tengan un atributo de "departamento de ventas" deben estar incluidos en el proceso de aprovisionamiento.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.

Puede usar los filtros de ámbito de diversas maneras, según el tipo de conector de aprovisionamiento:Scoping filters can be used differently depending on the type of provisioning connector:

  • Aprovisionamiento de salida desde Azure AD a aplicaciones SaaS.Outbound provisioning from Azure AD to SaaS applications. Cuando Azure AD es el sistema de origen, las asignaciones de usuarios y grupos son el método más común para determinar qué usuarios deben incluirse en el ámbito de aprovisionamiento.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. Estas asignaciones también se usan para habilitar el inicio de sesión único y proporcionan un único método para administrar el acceso y el aprovisionamiento.These assignments also are used for enabling single sign-on and provide a single method to manage access and provisioning. Igualmente, puede usar los filtros de ámbito de forma opcional como complemento a las asignaciones, o simplemente puede filtrar los usuarios según los valores de los atributos.Scoping filters can be used optionally, in addition to assignments or instead of them, to filter users based on attribute values.

    Sugerencia

    Puede deshabilitar la opción de aprovisionamiento basada en asignaciones para una aplicación empresarial estableciendo la opción del menú Ámbito que se encuentra en la configuración de aprovisionamiento en Sincronizar todos los usuarios y grupos.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. Gracias a esta opción y a los filtros de ámbito basados en los atributos, obtendrá un rendimiento más rápido que si usa asignaciones basadas en grupos.Using this option plus attribute-based scoping filters offers faster performance than using group-based assignments.

  • Aprovisionamiento de entrada desde aplicaciones HCM a Azure AD y Active Directory.Inbound provisioning from HCM applications to Azure AD and Active Directory. Cuando una aplicación HCM como Workday es el sistema de origen, los filtros de ámbito son el método principal para determinar qué usuarios deben ser aprovisionados desde la aplicación HCM en 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.

De forma predeterminada, los conectores de aprovisionamiento de Azure AD no tienen configurados los filtros de ámbito basados en atributos.By default, Azure AD provisioning connectors do not have any attribute-based scoping filters configured.

Estructura de un filtro de ámbitoScoping filter construction

Un filtro de ámbito consta de una o más cláusulas.A scoping filter consists of one or more clauses. Las cláusulas determinan qué usuarios pueden atravesar el filtro de ámbito mediante la evaluación de los atributos de cada usuario.Clauses determine which users are allowed to pass through the scoping filter by evaluating each user's attributes. Por ejemplo, podría tener una cláusula que requiere que el atributo "Estado" del usuario sea igual a "Nueva York", de modo que solo se aprovisionará a los usuarios de Nueva York en la aplicación.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 cláusula define una única condición de un solo valor de atributo.A single clause defines a single condition for a single attribute value. Si se crean varias cláusulas en un filtro de ámbito único, se evalúan juntas mediante la función lógica "AND".If multiple clauses are created in a single scoping filter, they're evaluated together by using "AND" logic. Esto significa que todas las cláusulas deben evaluarse como "true" para que un usuario pueda ser aprovisionado.This means all clauses must evaluate to "true" in order for a user to be provisioned.

Por último, puede crear varios filtros de ámbito para una sola aplicación.Finally, multiple scoping filters can be created for a single application. Si hay varios filtros de ámbito, se evalúan juntos mediante la función lógica "OR".If multiple scoping filters are present, they're evaluated together by using "OR" logic. Esto significa que si todas las cláusulas de cualquiera de los filtros de ámbito configurados resultan ser "true", el usuario será aprovisionado.This means that if all the clauses in any of the configured scoping filters evaluate to "true", the user is provisioned.

Cada usuario o grupo que procesa el servicio de aprovisionamiento de Azure AD se evalúa siempre de forma individual con cada filtro de ámbito.Each user or group processed by the Azure AD provisioning service is always evaluated individually against each scoping filter.

Por ejemplo, teniendo en cuenta el siguiente filtro de ámbito:As an example, consider the following scoping filter:

Filtro de ámbito

Según este filtro de ámbito, los usuarios deben cumplir los siguientes criterios para ser aprovisionados:According to this scoping filter, users must satisfy the following criteria to be provisioned:

  • Deben estar en Nueva York.They must be in New York.
  • Deben trabajar en el departamento de ingeniería.They must work in the Engineering department.
  • Su identificador de empleado de la empresa debe estar entre 1.000.000 y 2.000.000.Their company employee ID must be between 1,000,000 and 2,000,000.
  • El puesto no debe estar vacío ni ser un valor nulo.Their job title must not be null or empty.

Creación de filtros de ámbitoCreate scoping filters

Los filtros de ámbito se configuran como parte de las asignaciones de atributos de cada conector de aprovisionamiento de usuarios de Azure AD.Scoping filters are configured as part of the attribute mappings for each Azure AD user provisioning connector. En el siguiente procedimiento se da por supuesto que ya ha configurado el aprovisionamiento automático de una de las aplicaciones compatibles, para el que agregaremos un filtro de ámbito.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.

Creación de un filtro de ámbitoCreate a scoping filter

  1. En Azure Portal, vaya a la sección Azure Active Directory > Aplicaciones empresariales > Todas las aplicaciones.In the Azure portal, go to the Azure Active Directory > Enterprise Applications > All applications section.

  2. Seleccione la aplicación para la que desea configurar el aprovisionamiento automático: por ejemplo, "ServiceNow".Select the application for which you have configured automatic provisioning: for example, "ServiceNow".

  3. Seleccione la pestaña Aprovisionamiento.Select the Provisioning tab.

  4. En la sección Asignaciones, seleccione la asignación para la que desea configurar un filtro de ámbito: por ejemplo, "Sincronizar usuarios de Azure Active Directory con 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. Seleccione el menú Ámbito del objeto de origen.Select the Source object scope menu.

  6. Seleccione Agregar filtro de ámbito.Select Add scoping filter.

  7. Defina una cláusula seleccionando un nombre de atributo de origen, un operador y un valor del atributo para comparar.Define a clause by selecting a source Attribute Name, an Operator, and an Attribute Value to match against. Se admiten los siguientes operadores:The following operators are supported:

    a.a. EQUALS.EQUALS. La cláusula devuelve "true" si el atributo que se evalúa coincide exactamente con el valor de la cadena de entrada (se distingue entre mayúsculas y minúsculas).Clause returns "true" if the evaluated attribute matches the input string value exactly (case sensitive).

    b.b. NOT EQUALS.NOT EQUALS. La cláusula devuelve "true" si el atributo que se evalúa no coincide con el valor de la cadena de entrada (se distingue entre mayúsculas y minúsculas).Clause returns "true" if the evaluated attribute doesn't match the input string value (case sensitive).

    c.c. IS TRUE.IS TRUE. La cláusula devuelve "true" si el atributo que se evalúa contiene un valor booleano de tipo "true".Clause returns "true" if the evaluated attribute contains a Boolean value of true.

    d.d. IS FALSE.IS FALSE. La cláusula devuelve "true" si el atributo que se evalúa contiene un valor booleano de tipo "false".Clause returns "true" if the evaluated attribute contains a Boolean value of false.

    e.e. IS NULL.IS NULL. La cláusula devuelve "true" si el atributo que se evalúa está vacío.Clause returns "true" if the evaluated attribute is empty.

    f.f. IS NOT NULL.IS NOT NULL. La cláusula devuelve "true" si el atributo que se evalúa no está vacío.Clause returns "true" if the evaluated attribute isn't empty.

    g.g. REGEX MATCH.REGEX MATCH. La cláusula devuelve "true" si el atributo que se evalúa coincide con el patrón de una expresión regular.Clause returns "true" if the evaluated attribute matches a regular expression pattern. Ejemplo: ([1-9][0-9]) coincide con cualquier número entre 10 y 99.For example: ([1-9][0-9]) matches any number between 10 and 99.

    h.h. NOT REGEX MATCH.NOT REGEX MATCH. La cláusula devuelve "true" si el atributo que se evalúa no coincide con el patrón de una expresión regular.Clause returns "true" if the evaluated attribute doesn't match a regular expression pattern.

  8. Seleccione Agregar nueva cláusula de control.Select Add new scoping clause.

  9. Si lo desea, repita los pasos 7 y 8 para agregar más cláusulas de ámbito.Optionally, repeat steps 7-8 to add more scoping clauses.

  10. En Título del filtro de ámbito, escriba el nombre del filtro de ámbito.In Scoping Filter Title, add a name for your scoping filter.

  11. Seleccione Aceptar.Select OK.

  12. Seleccione Aceptar de nuevo en la pantalla Filtros de ámbito.Select OK again on the Scoping Filters screen. Si lo desea, repita los pasos del 6 al 11 para agregar otro filtro de ámbito.Optionally, repeat steps 6-11 to add another scoping filter.

  13. Seleccione Guardar en la pantalla Asignación de atributos.Select Save on the Attribute Mapping screen.

Importante

Si guarda un nuevo filtro de ámbito, se realizará una sincronización completa de la aplicación y todos los usuarios del sistema de origen volverán a ser evaluados mediante el nuevo filtro de ámbito.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. Si un usuario de la aplicación que estaba en el ámbito de aprovisionamiento se encuentra ahora fuera del mismo, su cuenta se deshabilita o se desaprovisiona de la aplicación.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.