Tutorial: Personalización de las asignaciones de atributos de aprovisionamiento de usuarios para aplicaciones SaaS en Azure Active DirectoryTutorial - Customize user provisioning attribute-mappings for SaaS applications in Azure Active Directory

Microsoft Azure AD proporciona soporte técnico para el aprovisionamiento de usuarios en aplicaciones SaaS de terceros como Salesforce, Google Apps y otras.Microsoft Azure AD provides support for user provisioning to third-party SaaS applications such as Salesforce, G Suite and others. Si habilita el aprovisionamiento de usuarios para una aplicación SaaS de terceros, Azure Portal controla sus valores de atributo en forma de una asignación de atributos.If you enable user provisioning for a third-party SaaS application, the Azure portal controls its attribute values through attribute-mappings.

Antes de empezar, debe conocer lo que significa la administración de aplicaciones y el inicio de sesión único (SSO) .Before you get started, make sure you are familiar with app management and Single Sign-On (SSO) concepts. Consulte los vínculos siguientes:Check out the following links:

Hay un conjunto preconfigurado de atributos y asignaciones de atributos entre los objetos de usuario de Azure AD y los objetos de usuario de cada aplicación SaaS.There's a pre-configured set of attributes and attribute-mappings between Azure AD user objects and each SaaS app’s user objects. Además de los usuarios, algunas aplicaciones administran otros tipos de objetos, como los grupos.Some apps manage other types of objects along with Users, such as Groups.

Puede personalizar las asignaciones de atributos predeterminadas según sus necesidades empresariales.You can customize the default attribute-mappings according to your business needs. Esto significa que puede cambiar o eliminar asignaciones de atributos existentes o crear nuevas asignaciones de atributos.So, you can change or delete existing attribute-mappings, or create new attribute-mappings.

Edición de asignaciones de atributos de usuarioEditing user attribute-mappings

Siga estos pasos para acceder a la característica Asignaciones del aprovisionamiento de usuarios:Follow these steps to access the Mappings feature of user provisioning:

  1. Inicie sesión en el portal de Azure Active Directory.Sign in to the Azure Active Directory portal.

  2. En el panel izquierdo, seleccione Aplicaciones empresariales.Select Enterprise applications from the left pane. Se muestra una lista de las aplicaciones configuradas, incluidas aquellas que se han agregado desde la galería.A list of all configured apps is shown, including apps that were added from the gallery.

  3. Seleccione cualquier aplicación para cargar el panel de administración de aplicaciones, donde puede ver los informes y administrar la configuración de la aplicación.Select any app to load its app management pane, where you can view reports and manage app settings.

  4. Seleccione Aprovisionamiento para administrar la configuración de aprovisionamiento de cuentas de usuario de la aplicación seleccionada.Select Provisioning to manage user account provisioning settings for the selected app.

  5. Expanda Asignaciones para ver y modificar los atributos de usuario que fluyen entre Azure AD y la aplicación de destino.Expand Mappings to view and edit the user attributes that flow between Azure AD and the target application. Si la aplicación de destino lo admite, en esta sección se puede configurar opcionalmente el aprovisionamiento de grupos y cuentas de usuario.If the target application supports it, this section lets you optionally configure provisioning of groups and user accounts.

    Uso de asignaciones para ver y editar atributos de usuario

  6. Al seleccionar una configuración de Asignaciones, se abre la pantalla relacionada Asignación de atributos.Select a Mappings configuration to open the related Attribute Mapping screen. Hay algunas asignaciones de atributos que una aplicación SaaS necesita para funcionar correctamente.Some attribute-mappings are required by a SaaS application to function correctly. Para los atributos necesarios, la característica Eliminar no está disponible.For required attributes, the Delete feature is unavailable.

    Uso de la asignación de atributos para configurar asignaciones de atributos para aplicaciones

    En esta captura de pantalla, puede ver que el atributo Username de un objeto administrado en Salesforce se rellena con el valor de userPrincipalName del objeto vinculado de Azure Active Directory.In this screenshot, you can see that the Username attribute of a managed object in Salesforce is populated with the userPrincipalName value of the linked Azure Active Directory Object.

  7. Seleccione una asignación de atributos para abrir la pantalla Editar atributo.Select an existing Attribute Mapping to open the Edit Attribute screen. Aquí puede editar los atributos de usuario que fluyen entre Azure AD y la aplicación de destino.Here you can edit the user attributes that flow between Azure AD and the target application.

    Uso del atributo de edición para editar atributos de usuario

Información sobre los tipos de asignación de atributosUnderstanding attribute-mapping types

Con asignaciones de atributos, puede controlar cómo se rellenan los atributos en una aplicación SaaS de terceros.With attribute-mappings, you control how attributes are populated in a third-party SaaS application. Se admiten cuatro tipos de asignaciones diferentes:There are four different mapping types supported:

  • Directa : el atributo de destino se rellena con el valor de un atributo del objeto vinculado en Azure AD.Direct – the target attribute is populated with the value of an attribute of the linked object in Azure AD.
  • Constante: el atributo de destino se rellena con una cadena específica que se ha especificado.Constant – the target attribute is populated with a specific string you specified.
  • Expresión : el atributo de destino se rellena según el resultado de una expresión similar a un script.Expression - the target attribute is populated based on the result of a script-like expression. Para más información, consulte Escritura de expresiones para la asignación de atributos en Azure Active Directory.For more information, see Writing Expressions for Attribute-Mappings in Azure Active Directory.
  • Ninguno : el atributo de destino se deja sin modificar.None - the target attribute is left unmodified. Sin embargo, si el atributo de destino está vacío, se rellena con el valor predeterminado que especifique.However, if the target attribute is ever empty, it's populated with the Default value that you specify.

Además de estos cuatro tipos básicos, las asignaciones de atributos personalizadas admiten el concepto de una asignación de valor predeterminada opcional.Along with these four basic types, custom attribute-mappings support the concept of an optional default value assignment. La asignación de valor predeterminada garantiza que un atributo de destino se rellene con un valor si no hay ningún valor en Azure AD ni en el objeto de destino.The default value assignment ensures that a target attribute is populated with a value if there's not a value in Azure AD or on the target object. La configuración más habitual consiste en dejarlo en blanco.The most common configuration is to leave this blank.

Información sobre las propiedades de asignación de atributosUnderstanding attribute-mapping properties

En la sección anterior, ya ha introducido la propiedad de tipo de asignación de atributos.In the previous section, you were already introduced to the attribute-mapping type property. Además de esta propiedad, las asignaciones de atributos también admiten los siguientes atributos:Along with this property, attribute-mappings also support the following attributes:

  • Atributo de origen: especifica el atributo de usuario del sistema de origen (por ejemplo, Azure Active Directory).Source attribute - The user attribute from the source system (example: Azure Active Directory).
  • Atributo de destino: especifica el atributo de usuario del sistema de destino (por ejemplo, ServiceNow).Target attribute – The user attribute in the target system (example: ServiceNow).
  • Valor predeterminado si es nulo (opcional) : valor que se enviará al sistema de destino si el atributo de origen es NULL.Default value if null (optional) - The value that will be passed to the target system if the source attribute is null. Este valor solo se aprovisionará cuando se cree un usuario.This value will only be provisioned when a user is created. El "valor predeterminado si es nulo" no se aprovisionará al actualizar un usuario existente.The "default value when null" will not be provisioned when updating an existing user. Si, por ejemplo, quiere aprovisionar todos los usuarios existentes en el sistema de destino con un puesto determinado (cuando es NULL en el sistema de origen), puede usar la siguiente expresión: Switch(IsPresent([jobTitle]), "DefaultValue", "True", [jobTitle]).If, for example, you want to provision all existing users in the target system with a particular Job Title (when it is null in the source system), you can use the following expression: Switch(IsPresent([jobTitle]), "DefaultValue", "True", [jobTitle]). Asegúrese de reemplazar el "valor predeterminado" con lo que le gustaría aprovisionar cuando sea NULL en el sistema de origen.Make sure to replace the "Default Value" with what you would like to provision when null in the source system.
  • Hacer coincidir objetos con este atributo: especifica si se debe usar o no esta asignación para identificar de forma unívoca a los usuarios entre los sistemas de origen y de destino.Match objects using this attribute – Whether this mapping should be used to uniquely identify users between the source and target systems. Normalmente esto se establece en el atributo userPrincipalName o mail en Azure AD, que se suele asignar a un campo de nombre de usuario en una aplicación de destino.It's typically set on the userPrincipalName or mail attribute in Azure AD, which is typically mapped to a username field in a target application.
  • Precedencia de coincidencia: se pueden establecer varios atributos coincidentes.Matching precedence – Multiple matching attributes can be set. Si hay varios, se evalúan en el orden definido por este campo.When there are multiple, they're evaluated in the order defined by this field. En el momento en que se encuentre una coincidencia, no se evaluarán más atributos coincidentes.As soon as a match is found, no further matching attributes are evaluated. Aunque puede establecer tantos atributos coincidentes como desee, considere si los atributos que usa como atributos coincidentes son realmente únicos y deben ser atributos coincidentes.While you can set as many matching attributes as you would like, consider whether the attributes you are using as matching attributes are truly unique and need to be matching attributes. Normalmente, los clientes tienen 1 o 2 atributos coincidentes en su configuración.Generally customers have 1 or 2 matching attributes in their configuration.
  • Aplicar esta asignaciónApply this mapping
    • Siempre: esta asignación se aplica a las acciones de creación y actualización de usuarios.Always – Apply this mapping on both user creation and update actions.
    • Solo durante la creación: esta asignación se aplica solo a las acciones de creación de usuarios.Only during creation - Apply this mapping only on user creation actions.

Emparejamiento de usuarios en los sistemas de origen y destinoMatching users in the source and target systems

El servicio de aprovisionamiento de Azure AD se puede implementar tanto en escenarios "green field" (donde los usuarios no existen en el sistema de destino) como en escenarios y "brownfield" (donde los usuarios ya existen en el sistema de destino).The Azure AD provisioning service can be deployed in both "green field" scenarios (where users do not exit in the target system) and "brownfield" scenarios (where users already exist in the target system). Para admitir ambos escenarios, el servicio de aprovisionamiento usa el concepto de atributos coincidentes.To support both scenarios, the provisioning service uses the concept of matching attributes. Los atributos coincidentes permiten determinar la forma de identificar de forma única a un usuario en el origen y emparejarlo en el destino.Matching attributes allow you to determine how to uniquely identify a user in the source and match the user in the target. Como parte de la planeación de la implementación, identifique el atributo que se puede usar para identificar de forma única a un usuario en los sistemas de origen y destino.As part of planning your deployment, identify the attribute that can be used to uniquely identify a user in the source and target systems. Cosas que hay que tener en cuenta:Things to note:

  • Los atributos coincidentes deben ser únicos: los clientes a menudo usan atributos como userPrincipalName, mail u object ID como atributo coincidente.Matching attributes should be unique: Customers often use attributes such as userPrincipalName, mail, or object ID as the matching attribute.
  • Se pueden usar varios atributos como atributos coincidentes: puede definir varios atributos para que se evalúen al emparejar usuarios y el orden en el que se evalúan (definido como precedencia de coincidencias en la interfaz de usuario).Multiple attributes can be used as matching attributes: You can define multiple attributes to be evaluated when matching users and the order in which they are evaluated (defined as matching precedence in the UI). Por ejemplo, si define tres atributos como atributos coincidentes y un usuario se empareja de forma única después de evaluar los dos primeros atributos, el servicio no evalúa el tercero.If, for example, you define three attributes as matching attributes, and a user is uniquely matched after evaluating the first two attributes, the service will not evaluate the third attribute. El servicio evalúa los atributos coincidentes en el orden especificado y deja de evaluar cuando se encuentra una coincidencia.The service will evaluate matching attributes in the order specified and stop evaluating when a match is found.
  • El valor en el origen y el destino no tienen que coincidir exactamente: el valor en el destino puede ser una función sencilla del valor del origen.The value in the source and the target do not have to match exactly: The value in the target can be some simple function of the value in the source. Así, uno podría tener un atributo emailAddress en el origen y userPrincipalName en el destino, y emparejar mediante una función del atributo emailAddress que reemplace algunos caracteres por algún valor constante.So, one could have an emailAddress attribute in the source and the userPrincipalName in the target, and match by a function of the emailAddress attribute that replaces some characters with some constant value.
  • No se admite el emparejamiento en función de una combinación de atributos: La mayoría de las aplicaciones no admiten consultas basadas en dos propiedades.Matching based on a combination of attributes is not supported: Most applications do not support querying based on two properties. Por lo tanto, no es posible realizar coincidencias en función de una combinación de atributos.Therefore, it is not possible to match based on a combination of attributes. Es posible evaluar propiedades únicas una después de otra.It is possible to evaluate single properties on after another.
  • Todos los usuarios deben tener un valor para al menos un atributo coincidente: si define un atributo coincidente, todos los usuarios deben tener un valor para ese atributo en el sistema de origen.All users must have a value for at least one matching attribute: If you define one matching attribute, all users must have a value for that attribute in the source system. Si, por ejemplo, define userPrincipalName como atributo coincidente, todos los usuarios deben tener un valor userPrincipalName.If, for example, you define userPrincipalName as the matching attribute, all users must have a userPrincipalName. Si define varios atributos coincidentes (por ejemplo, extensionAttribute1 y mail), no todos los usuarios deben tener el mismo atributo coincidente.If you define multiple matching attribute (e.g. extensionAttribute1 and mail), not all users have to have the same matching attribute. Un usuario podría tener extensionAttribute1 pero no mail mientras que otro usuario podría tener mail pero no extensionAttribute1.One user could have a extensionAttribute1 but not mail while another user could have mail but no extensionAttribute1.
  • La aplicación de destino debe admitir el filtrado en el atributo coincidente: los desarrolladores de aplicaciones permiten filtrar por un subconjunto de atributos en su API de usuario o grupo.The target application must support filtering on the matching attribute: Application developers allow filtering for a subset of attributes on their user or group API. En el caso de las aplicaciones de la galería, se garantiza que la asignación de atributos predeterminada es para un atributo en el que la API de la aplicación de destino admite el filtrado.For applications in the gallery, we ensure that the default attribute mapping is for an attribute that the target application's API does support filtering on. Al cambiar el atributo coincidente predeterminado de la aplicación de destino, compruebe la documentación de las API de terceros para asegurarse de que se puede filtrar por el atributo.When changing the default matching attribute for the target application, check the third party API documentation to ensure that the attribute can be filtered on.

Edición de asignaciones de atributos de grupoEditing group attribute-mappings

Algunas aplicaciones seleccionadas, como ServiceNow, Box y G Suite, admiten la posibilidad de aprovisionar objetos de grupo además de objetos de usuario.A selected number of applications, such as ServiceNow, Box, and G Suite, support the ability to provision Group objects and User objects. Los objetos de grupo pueden contener propiedades de grupo como nombres para mostrar y alias de correo electrónico, además de miembros de grupo.Group objects can contain group properties such as display names and email aliases, along with group members.

En el ejemplo se muestra ServiceNow con objetos de grupo y usuario aprovisionados

El aprovisionamiento de grupos se puede habilitar o deshabilitar de manera opcional; para ello, seleccione la asignación de grupo en Asignaciones y establezca Habilitado en la opción deseada en la pantalla Asignación de atributos.Group provisioning can be optionally enabled or disabled by selecting the group mapping under Mappings, and setting Enabled to the option you want in the Attribute Mapping screen.

Los atributos suministrados como parte de los objetos de grupo se pueden personalizar de la misma manera que los objetos de usuario descritos anteriormente.The attributes provisioned as part of Group objects can be customized in the same manner as User objects, described previously.

Sugerencia

El aprovisionamiento de objetos de grupo (propiedades y miembros) es un concepto diferente al de asignación de grupos a una aplicación.Provisioning of group objects (properties and members) is a distinct concept from assigning groups to an application. Es posible asignar un grupo a una aplicación, pero solo se pueden aprovisionar los objetos de usuario contenidos en el grupo.It is possible to assign a group to an application, but only provision the user objects contained in the group. El aprovisionamiento de objetos de grupo completos no es necesario para usar grupos en asignaciones.Provisioning of full group objects is not required to use groups in assignments.

Edición de la lista de atributos admitidosEditing the list of supported attributes

Los atributos de usuario admitidos en una determinada aplicación están preconfigurados.The user attributes supported for a given application are pre-configured. La mayoría de las API de administración de usuarios de la aplicación de la mayoría no son compatibles con la detección de esquemas.Most application's user management APIs don't support schema discovery. Por lo tanto, el servicio de aprovisionamiento de Azure AD no puede generar dinámicamente la lista de atributos admitidos mediante llamadas a la aplicación.So, the Azure AD provisioning service isn't able to dynamically generate the list of supported attributes by making calls to the application.

Sin embargo, algunas aplicaciones admiten atributos personalizados, y el servicio de aprovisionamiento de Azure AD puede leer y escribir en los atributos personalizados.However, some applications support custom attributes, and the Azure AD provisioning service can read and write to custom attributes. Para especificar sus definiciones en Azure Portal, seleccione la casilla Mostrar opciones avanzadas de la parte inferior de la pantalla Asignación de atributos y, a continuación, seleccione Asignación de atributos en la aplicación.To enter their definitions into the Azure portal, select the Show advanced options check box at the bottom of the Attribute Mapping screen, and then select Edit attribute list for your app.

Las aplicaciones y sistemas que admiten la personalización de la lista de atributos son:Applications and systems that support customization of the attribute list include:

  • SalesforceSalesforce
  • ServiceNowServiceNow
  • Workday para Active Directory / Workday para Azure Active DirectoryWorkday to Active Directory / Workday to Azure Active Directory
  • SuccessFactors para Active Directory / SuccessFactors para Azure Active DirectorySuccessFactors to Active Directory / SuccessFactors to Azure Active Directory
  • Azure Active Directory (se admiten los atributos predeterminados de Azure AD Graph API y las extensiones de directorios personalizadas)Azure Active Directory (Azure AD Graph API default attributes and custom directory extensions are supported)
  • Aplicaciones que admiten SCIM 2.0Apps that support SCIM 2.0
  • En el caso de la escritura diferida de Azure Active Directory en Workday o SuccessFactors, se pueden actualizar los metadatos correspondientes a los atributos admitidos (XPATH y JSONPath), pero no se pueden agregar nuevos atributos de Workday o SuccessFactors más allá de los incluidos en el esquema predeterminado.For Azure Active Directory writeback to Workday or SuccessFactors, it is supported to update relevant metadata for supported attributes (XPATH and JSONPath), but it is not supported to add new Workday or SuccessFactors attributes beyond those included in the default schema

Nota

La edición de la lista de atributos admitidos solo se recomienda para administradores que hayan personalizado el esquema de sus aplicaciones y sistemas, y tengan conocimiento de primera mano de cómo se han definido sus atributos personalizados.Editing the list of supported attributes is only recommended for administrators who have customized the schema of their applications and systems, and have first-hand knowledge of how their custom attributes have been defined. A veces, es necesario estar familiarizado con las API y las herramientas de los desarrolladores que se proporcionan en una aplicación o un sistema.This sometimes requires familiarity with the APIs and developer tools provided by an application or system. La capacidad de editar la lista de atributos admitidos está bloqueada de forma predeterminada, pero los clientes pueden habilitar la funcionalidad; para ello, deben ir a la siguiente dirección URL: https://portal.azure.com/?Microsoft_AAD_IAM_forceSchemaEditorEnabled=true.The ability to edit the list of supported attributes is locked down by default, but customers can enable the capability by navigating to the following URL: https://portal.azure.com/?Microsoft_AAD_IAM_forceSchemaEditorEnabled=true . A continuación, puede ir a la aplicación para ver la lista de atributos como se describe anteriormente.You can then navigate to your application to view the attribute list as described above.

Al editar la lista de atributos admitidos, se proporcionan las siguientes propiedades:When editing the list of supported attributes, the following properties are provided:

  • Nombre: el nombre del sistema del atributo, tal como se define en el esquema del objeto de destino.Name - The system name of the attribute, as defined in the target object's schema.
  • Tipo: el tipo de datos que almacena el atributo, tal como se define en el esquema del objeto de destino, que puede ser uno de los siguientes:Type - The type of data the attribute stores, as defined in the target object's schema, which can be one of the following types:
    • Binario: el atributo contiene datos binarios.Binary - Attribute contains binary data.
    • Booleano: el atributo contiene un valor True o False.Boolean - Attribute contains a True or False value.
    • DateTime: el atributo contiene una cadena de fecha.DateTime - Attribute contains a date string.
    • Entero: al atributo contiene un entero.Integer - Attribute contains an integer.
    • Referencia: el atributo contiene un identificador que hace referencia a un valor almacenado en otra tabla en la aplicación de destino.Reference - Attribute contains an ID that references a value stored in another table in the target application.
    • Cadena: el atributo contiene una cadena de texto.String - Attribute contains a text string.
  • ¿Clave principal?Primary Key? : si el atributo se define como un campo de clave principal en el esquema del objeto de destino.- Whether the attribute is defined as a primary key field in the target object's schema.
  • ¿Necesario?Required? : si el atributo se debe rellenar en la aplicación o sistema de destino.- Whether the attribute is required to be populated in the target application or system.
  • ¿Varios valores?Multi-value? : si el atributo admite varios valores.- Whether the attribute supports multiple values.
  • ¿Coincidir mayúsculas y minúsculas?Exact case? : si los valores de atributo se evalúan según el uso de mayúsculas o minúsculas.- Whether the attributes values are evaluated in a case-sensitive way.
  • Expresión de API: no se usa, salvo que así se indique en la documentación de un conector de aprovisionamiento específico (como Workday).API Expression - Don't use, unless instructed to do so by the documentation for a specific provisioning connector (such as Workday).
  • Atributo de objeto con referencia: si este es un atributo de tipo referencia, este menú le permite seleccionar la tabla y el atributo de la aplicación de destino que contiene el valor asociado al atributo.Referenced Object Attribute - If it's a Reference type attribute, then this menu lets you select the table and attribute in the target application that contains the value associated with the attribute. Por ejemplo, si tiene un atributo llamado "Department" cuyo valor almacenado hace referencia a un objeto de una tabla "Departments" independiente, seleccionaría "Departments.Name".For example, if you have an attribute named "Department" whose stored value references an object in a separate "Departments" table, you would select "Departments.Name". Las tablas de referencia y los campos de identificador principal admitidos en una determinada aplicación están preconfigurados y actualmente no se pueden editar mediante Azure Portal, pero se pueden modificar con Microsoft Graph API.The reference tables and the primary ID fields supported for a given application are pre-configured and currently can't be edited using the Azure portal, but can be edited using the Microsoft Graph API.

Aprovisionamiento de un atributo de extensión personalizado para una aplicación compatible con SCIMProvisioning a custom extension attribute to a SCIM compliant application

El RFC de SCIM define un esquema principal de grupo y usuario, a la vez que permite que las extensiones del esquema cumplan los requisitos de la aplicación.The SCIM RFC defines a core user and group schema, while also allowing for extensions to the schema to meet your application's needs. Para agregar un atributo personalizado a una aplicación de SCIM:To add a custom attribute to a SCIM application:

  1. Inicie sesión en el portal de Azure Active Directory, seleccione Aplicaciones empresariales, seleccione la aplicación y, a continuación, Aprovisionamiento.Sign in to the Azure Active Directory portal, select Enterprise Applications, select your application, and then select Provisioning.
  2. En Asignaciones, seleccione el objeto (usuario o grupo) al que quiere agregar un atributo personalizado.Under Mappings, select the object (user or group) for which you'd like to add a custom attribute.
  3. En la parte inferior de la página, seleccione Mostrar opciones avanzadas.At the bottom of the page, select Show advanced options.
  4. Seleccione Editar lista de atributos para AppName.Select Edit attribute list for AppName.
  5. En la parte inferior de la lista de atributos, escriba la información sobre el atributo personalizado en los campos proporcionados.At the bottom of the attribute list, enter information about the custom attribute in the fields provided. Después, seleccione Agregar atributo.Then select Add Attribute.

En el caso de las aplicaciones de SCIM, el nombre del atributo debe seguir el patrón que se muestra en el ejemplo siguiente.For SCIM applications, the attribute name must follow the pattern shown in the example below. "CustomExtensionName" y "CustomAttribute" se pueden personalizar según los requisitos de la aplicación, por ejemplo: urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute.The "CustomExtensionName" and "CustomAttribute" can be customized per your application's requirements, for example: urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User:CustomAttribute

Estas instrucciones solo se aplican a las aplicaciones habilitadas para SCIM.These instructions are only applicable to SCIM-enabled applications. Las aplicaciones como ServiceNow y Salesforce no se integran con Azure AD mediante SCIM y, por lo tanto, no requieren este espacio de nombres específico al agregar un atributo personalizado.Applications such as ServiceNow and Salesforce are not integrated with Azure AD using SCIM, and therefore they don't require this specific namespace when adding a custom attribute.

Los atributos personalizados no pueden ser atributos referenciales, atributos de varios valores ni atributos de tipos complejos.Custom attributes can't be referential attributes, multi-value or complex-typed attributes. Los atributos de extensión personalizados de varios valores y de tipos complejos solo se admiten actualmente para las aplicaciones de la galería.Custom multi-value and complex-typed extension attributes are currently supported only for applications in the gallery.

Representación de ejemplo de un usuario con un atributo de extensión:Example representation of a user with an extension attribute:

   {
     "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
      "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
      "urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User"],
     "userName":"bjensen",
     "id": "48af03ac28ad4fb88478",
     "externalId":"bjensen",
     "name":{
       "formatted":"Ms. Barbara J Jensen III",
       "familyName":"Jensen",
       "givenName":"Barbara"
     },
     "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
     "employeeNumber": "701984",
     "costCenter": "4130",
     "organization": "Universal Studios",
     "division": "Theme Park",
     "department": "Tour Operations",
     "manager": {
       "value": "26118915-6090-4610-87e4-49d8ca9f808d",
       "$ref": "../Users/26118915-6090-4610-87e4-49d8ca9f808d",
       "displayName": "John Smith"
     }
   },
     "urn:ietf:params:scim:schemas:extension:CustomExtensionName:2.0:User": {
     "CustomAttribute": "701984",
   },
   "meta": {
     "resourceType": "User",
     "created": "2010-01-23T04:56:22Z",
     "lastModified": "2011-05-13T04:42:34Z",
     "version": "W\/\"3694e05e9dff591\"",
     "location":
 "https://example.com/v2/Users/2819c223-7f76-453a-919d-413861904646"
   }
 }

Aprovisionamiento de un rol para una aplicación de SCIMProvisioning a role to a SCIM app

Use los pasos siguientes para aprovisionar roles para un usuario para la aplicación.Use the steps below to provision roles for a user to your application. Tenga en cuenta que la descripción siguiente es específica de las aplicaciones de SCIM personalizadas.Note that the description below is specific to custom SCIM applications. En el caso de las aplicaciones de la galería como Salesforce y ServiceNow, use las asignaciones de roles predefinidas.For gallery applications such as Salesforce and ServiceNow, use the pre-defined role mappings. En las viñetas siguientes se explica cómo transformar el atributo AppRoleAssignments al formato que espera la aplicación.The bullets below describe how to transform the AppRoleAssignments attribute to the format your application expects.

  • La asignación de un elemento appRoleAssignment en Azure AD a un rol de la aplicación requiere que se transforme el atributo mediante una expresión.Mapping an appRoleAssignment in Azure AD to a role in your application requires that you transform the attribute using an expression. El atributo appRoleAssignment no debe asignarse directamente a un atributo de rol sin usar una expresión para analizar los detalles del rol.The appRoleAssignment attribute should not be mapped directly to a role attribute without using an expression to parse the role details.

  • SingleAppRoleAssignmentSingleAppRoleAssignment

    • Cuándo se debe usar: use la expresión SingleAppRoleAssignment para aprovisionar un rol único para un usuario y para especificar el rol principal.When to use: Use the SingleAppRoleAssignment expression to provision a single role for a user and to specify the primary role.
    • Cómo se configura: use los pasos anteriores para ir a la página de asignaciones de atributos y use la expresión SingleAppRoleAssignment para asignar al atributo de roles.How to configure: Use the steps described above to navigate to the attribute mappings page and use the SingleAppRoleAssignment expression to map to the roles attribute. Hay tres atributos de roles entre los que elegir: (roles[primary eq "True"].display, roles[primary eq "True].type y roles[primary eq "True"].value).There are three role attributes to choose from: (roles[primary eq "True"].display, roles[primary eq "True].type, and roles[primary eq "True"].value). Puede optar por incluir cualquiera de los atributos de rol o todos en las asignaciones.You can choose to include any or all of the role attributes in your mappings. Si quiere incluir más de uno, simplemente agregue una nueva asignación e inclúyala como atributo de destino.If you would like to include more than one, just add a new mapping and include it as the target attribute.

    Adición de SingleAppRoleAssignment

    • Cosas que hay que tener en cuentaThings to consider

      • Asegúrese de que no se asignen varios roles a un usuario.Ensure that multiple roles are not assigned to a user. No se puede garantizar el rol que se va a aprovisionar.We cannot guarantee which role will be provisioned.
    • Solicitud de ejemplo (POST)Example request (POST)

      {
        "schemas": [
            "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "alias",
        "userName": "alias@contoso.OnMicrosoft.com",
        "active": true,
        "displayName": "First Name Last Name",
        "meta": {
             "resourceType": "User"
        },
        "roles": [
           {
                 "primary": true,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "value": "Admin"
           }
        ]
    }
    
    • Salida de ejemplo (PATCH)Example output (PATCH)
    "Operations": [
    {
    "op": "Add",
    "path": "roles",
    "value": [
    {
    "value": "{\"id\":\"06b07648-ecfe-589f-9d2f-6325724a46ee\",\"value\":\"25\",\"displayName\":\"Role1234\"}"
    }
    ]
    

El formato de la solicitud es diferente entre PATCH y POST.The request format in the PATCH and POST differ. Para asegurarse de que los mensajes POST y PATCH se envían en el mismo formato, puede usar la marca de características descrita aquí.To ensure that POST and PATCH are sent in the same format, you can use the feature flag described here.

  • AppRoleAssignmentsComplexAppRoleAssignmentsComplex

    • Cuándo se debe usar: use la expresión AppRoleAssignmentsComplex para aprovisionar varios roles para un usuario.When to use: Use the AppRoleAssignmentsComplex expression to provision multiple roles for a user.

    • Cómo se configura: edite la lista de atributos admitidos como se explica arriba para incluir un nuevo atributo para los roles:How to configure: Edit the list of supported attributes as described above to include a new attribute for roles:

      Agregar roles

      Luego use la expresión AppRoleAssignmentsComplex para asignar al atributo de rol personalizado como se muestra en la imagen siguiente:Then use the AppRoleAssignmentsComplex expression to map to the custom role attribute as shown in the image below:

      Adición de AppRoleAssignmentsComplex

    • Cosas que hay que tener en cuentaThings to consider

      • todos los roles se aprovisionan como primary = false.All roles will be provisioned as primary = false.
      • POST contiene el tipo de rol.The POST contains the role type. La solicitud PATCH no contiene tipo.The PATCH request does not contain type. Se trabaja en el envío del tipo en las solicitudes POST y PATCH.We are working on sending the type in both POST and PATCH requests.
    • Salida del ejemploExample output

    {
         "schemas": [
             "urn:ietf:params:scim:schemas:core:2.0:User"
        ],
        "externalId": "alias",
        "userName": "alias@contoso.OnMicrosoft.com",
        "active": true,
        "displayName": "First Name Last Name",
        "meta": {
             "resourceType": "User"
        },
        "roles": [
           {
                 "primary": false,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "display": "Admin",
                 "value": "Admin"
           },
           {
                 "primary": false,
                 "type": "WindowsAzureActiveDirectoryRole",
                 "display": "User",
               "value": "User"
           }
        ]
    }
    

Aprovisionamiento de un atributo de varios valoresProvisioning a multi-value attribute

Algunos atributos, como phoneNumbers y emails, son atributos de varios valores en los que puede que necesite especificar diferentes tipos de números de teléfono o correos electrónicos.Certain attributes such as phoneNumbers and emails are multi-value attributes where you may need to specify different types of phone numbers or emails. Use la expresión siguiente para los atributos de varios valores.Use the expression below for multi-value attributes. Permite especificar el tipo de atributo y asignarlo al atributo de usuario de Azure AD correspondiente para el valor.It allows you to specify the attribute type and map that to the corresponding Azure AD user attribute for the value.

  • phoneNumbers[type eq "work"].valuephoneNumbers[type eq "work"].value

  • phoneNumbers[type eq "mobile"].valuephoneNumbers[type eq "mobile"].value

  • phoneNumbers[type eq "fax"].valuephoneNumbers[type eq "fax"].value

    "phoneNumbers": [
         {
           "value": "555-555-5555",
           "type": "work"
        },
        {
           "value": "555-555-5555",
           "type": "mobile"
        },
        {
           "value": "555-555-5555",
           "type": "fax"
        }
    ]
    

Restauración de los atributos predeterminados y las asignaciones de atributosRestoring the default attributes and attribute-mappings

Si necesita comenzar de nuevo y restablecer las asignaciones existentes de nuevo a su estado predeterminado, puede activar la casilla Restaurar asignaciones predeterminadas y guardar la configuración.Should you need to start over and reset your existing mappings back to their default state, you can select the Restore default mappings check box and save the configuration. Al hacerlo, todas las asignaciones y los filtros de ámbito se restablecen como si la aplicación se acabara de agregar al inquilino de Azure AD desde la galería de aplicaciones.Doing so sets all mappings and scoping filters as if the application was just added to your Azure AD tenant from the application gallery.

Al seleccionar esta opción se fuerza la resincronización de todos los usuarios mientras se ejecuta el servicio de aprovisionamiento.Selecting this option will effectively force a resynchronization of all users while the provisioning service is running.

Importante

Se recomienda firmemente establecer el estado de aprovisionamiento en Desactivado antes de invocar esta opción.We strongly recommend that Provisioning status be set to Off before invoking this option.

Qué debería saberWhat you should know

  • Microsoft Azure AD proporciona una implementación eficaz de un proceso de sincronización.Microsoft Azure AD provides an efficient implementation of a synchronization process. En un entorno inicializado, sólo los objetos que requieren actualizaciones se procesan durante un ciclo de sincronización.In an initialized environment, only objects requiring updates are processed during a synchronization cycle.
  • Actualizar las asignaciones de atributos repercute en el rendimiento de un ciclo de sincronización.Updating attribute-mappings has an impact on the performance of a synchronization cycle. Una actualización de la configuración de la asignación de atributos requiere que se vuelvan a evaluar todos los objetos administrados.An update to the attribute-mapping configuration requires all managed objects to be reevaluated.
  • Es un procedimiento recomendado mantener el número mínimo de cambios consecutivos de las asignaciones de atributos.A recommended best practice is to keep the number of consecutive changes to your attribute-mappings at a minimum.
  • Actualmente no se puede agregar un atributo de foto para su aprovisionamiento en una aplicación, ya que no se permite especificar el formato para sincronizar la foto.Adding a photo attribute to be provisioned to an app is not supported today as you cannot specify the format to sync the photo. Puede solicitar la característica en User VoiceYou can request the feature on User Voice
  • El atributo IsSoftDeleted suele formar parte de las asignaciones predeterminadas para una aplicación.The attribute IsSoftDeleted is often part of the default mappings for an application. IsSoftdeleted puede ser true en uno de los cuatro escenarios siguientes: el usuario está fuera del ámbito debido a que se ha desasignado de la aplicación; el usuario está fuera del ámbito debido a que no cumple un filtro de ámbito; el usuario se ha eliminado temporalmente en Azure AD; o la propiedad AccountEnabled está establecida en false en el usuario.IsSoftdeleted can be true in one of four scenarios (the user is out of scope due to being unassigned from the application, the user is out of scope due to not meeting a scoping filter, the user has been soft deleted in Azure AD, or the property AccountEnabled is set to false on the user). No se recomienda eliminar el atributo IsSoftDeleted de las asignaciones de atributos.It is not recommended to remove the IsSoftDeleted attribute from your attribute mappings.
  • El servicio de aprovisionamiento de Azure AD no admite el aprovisionamiento de valores NULL.The Azure AD provisioning service does not support provisioning null values.
  • La clave principal, normalmente "ID", no se debe incluir como atributo de destino en las asignaciones de atributos.They primary key, typically "ID", should not be included as a target attribute in your attribute mappings.
  • Normalmente, el atributo de rol se debe asignar mediante una expresión, en lugar de una asignación directa.The role attribute typically needs to be mapped using an expression, rather than a direct mapping. Consulte la sección anterior para más información sobre la asignación de roles.See section above for more details on role mapping.
  • Aunque puede deshabilitar grupos de las asignaciones, no se admite la deshabilitación de usuarios.While you can disable groups from your mappings, disabling users is not supported.

Pasos siguientesNext steps