Configuración de notificaciones de grupo para aplicaciones mediante Microsoft Entra ID

Microsoft Entra ID puede proporcionar la información de pertenencia a grupos de usuarios en tokens para ser usados en las aplicaciones. Esta característica admite dos patrones principales:

  • Grupos identificados por su atributo de identificador de objeto (OID) de Microsoft Entra
  • Grupos que se identifican por el atributo sAMAccountName o GroupSID para usuarios y grupos sincronizados por Active Directory
  • Grupos identificados por su atributo Nombre para mostrar para grupos solo en la nube

Importante

La cantidad de grupos emitidos en un token se limita a 150 para las aserciones de SAML y 200 para JWT, incluidos los grupos anidados. En organizaciones más grandes, el número de grupos a los que pertenece un usuario puede exceder el límite que Microsoft Entra ID agregará a un token. Superar un límite puede generar resultados impredecibles. Para soluciones alternativas a estos límites, lea más información en Advertencias importantes para esta funcionalidad.

Advertencias importantes sobre esta funcionalidad

  • La compatibilidad con el uso de los atributos del identificador de seguridad (SID) y de sAMAccountName sincronizados en el entorno local está diseñada para permitir el traslado de aplicaciones existentes desde los Servicios de federación de Active Directory (AD FS) y otros proveedores de identidades. Los grupos administrados en Microsoft Entra ID no contienen los atributos necesarios para emitir estas notificaciones.

  • Para evitar el límite de número de grupos si los usuarios tienen un gran número de pertenencias a grupos, puede restringir los grupos emitidos en las notificaciones a los grupos pertinentes de la aplicación. Obtenga más información sobre la emisión de grupos asignados a la aplicación para tokens JWT y tokens SAML. Si no es posible asignar grupos a las aplicaciones, también puede configurar un filtro de grupo para reducir la cantidad de grupos que se emiten en la notificación. El filtrado de grupos se aplica a los tokens emitidos para las aplicaciones en las que las notificaciones y el filtrado de grupos se configuraron en la hoja Aplicaciones empresariales del portal.

  • Las notificaciones de grupo tienen un límite de 5 grupos si el token se emite a través del flujo implícito. Los tokens solicitados a través del flujo implícito solo tendrán una notificación "hasgroups":true si el usuario está en más de cinco grupos.

  • Se recomienda basar la autorización en la aplicación en roles de aplicación en lugar de grupos cuando:

    • Desarrolla una nueva aplicación o si se puede configurar una aplicación existente para ella.
    • No se requiere compatibilidad con grupos anidados.

    Al usar roles de aplicación, se limita la cantidad de información que se necesita para acceder al token; además, es más seguro y podrá separar la asignación de usuarios de la configuración de la aplicación.

Notificaciones de grupo para aplicaciones que migran de AD FS y otros proveedores de identidad

Muchas aplicaciones que están configuradas para autenticarse con AD FS dependen de la información de la suscripción del grupo en forma de atributos de grupo de Windows Server Active Directory. Estos atributos son el grupo sAMAccountName, que se puede calificar en función del nombre de dominio, o el identificador de seguridad de grupo de Windows (GroupSID). Cuando la aplicación está federada con AD FS, AD FS usa la función TokenGroups para recuperar las pertenencias del grupo para el usuario.

Una aplicación que se ha pasado de AD FS necesita que las notificaciones tengan el mismo formato. Las notificaciones de grupos y roles emitidas desde Microsoft Entra ID pueden contener el atributo sAMAccountName calificado por el dominio o el atributo GroupSID sincronizado desde Active Directory, en lugar del atributo Microsoft Entra ID objectIDdel grupo.

Los formatos que se admiten en las notificaciones de grupo son:

  • ObjectId del grupo Microsoft Entra: disponible para todos los grupos.
  • sAMAccountName: disponible para los grupos sincronizados desde Active Directory.
  • NetbiosDomain\sAMAccountName: disponible para los grupos sincronizados desde Active Directory.
  • DNSDomainName\sAMAccountName: disponible para los grupos sincronizados desde Active Directory.
  • Identificador de seguridad de grupo local: disponible para los grupos sincronizados desde Active Directory.

Nota

sAMAccountName y los atributos GroupSID locales solo están disponibles en los objetos de grupo sincronizados desde Active Directory. No están disponibles en los grupos creados en Microsoft Entra ID ni Office 365. Las aplicaciones configuradas en Microsoft Entra ID para obtener atributos de grupos locales sincronizados solo los obtienen para los grupos sincronizados.

Opciones para que las aplicaciones consuman información de grupo

Las aplicaciones pueden llamar al punto de conexión del grupo de Microsoft Graph para obtener la información del grupo para el usuario autenticado. Esta llamada garantiza que todos los grupos de los que un usuario es miembro estén disponibles, incluso cuando haya una gran cantidad de grupos involucrados. De este modo, la enumeración de grupos es independiente de las limitaciones de tamaño del token.

Sin embargo, si una aplicación existente espera consumir información de grupo a través de notificaciones, es posible configurar Microsoft Entra ID con varios formatos de notificación. Considere las opciones siguientes:

  • Al usar la pertenencia a grupos para la autorización en la aplicación, es preferible usar el atributo ObjectID del grupo. El atributo de grupo ObjectID es inmutable y único en Microsoft Entra ID. Está disponible para todos los grupos.

  • Si usa el atributo sAMAccountName de grupo local para la autorización, use nombres calificados por el dominio. Reduce la posibilidad de que los nombres entren en conflicto. sAMAccountName puede ser único dentro de un dominio de Active Directory, pero si más de un dominio de Active Directory está sincronizado con un inquilino de Microsoft Entra, existe la posibilidad de que más de un grupo tenga el mismo nombre.

  • Puede usar los roles de aplicación para proporcionar una capa de direccionamiento indirecto entre la suscripción del grupo y la aplicación. A continuación, la aplicación toma decisiones de autorización internas basadas en las notificaciones de roles del token.

  • Si la aplicación está configurada para obtener atributos de grupo que se sincronizan desde Active Directory y un grupo no contiene esos atributos, no se incluirá en las notificaciones.

  • Las notificaciones de grupo en tokens incluyen grupos anidados, excepto cuando se usa la opción para restringir las notificaciones de grupo a los grupos asignados a la aplicación.

    Si un usuario es miembro de GroupB, y GroupB es, a su vez, miembro de GroupA, las notificaciones de grupo del usuario contendrán GroupA y GroupB. Si los usuarios de una organización tienen un gran número de suscripciones a grupos, la cantidad de grupos enumerados en el token puede aumentar el tamaño de ese token. Microsoft Entra ID limita el número de grupos que emitirá en un token a 150 para las aserciones SAML y a 200 para JWT. Si un usuario es miembro de un mayor número de grupos, se omiten los grupos. En su lugar, se incluye un vínculo al punto de conexión de Microsoft Graph para obtener información de los grupos.

Requisitos previos para usar atributos de grupo sincronizados desde Active Directory

Las notificaciones de pertenencia a grupos se pueden emitir en tokens para cualquier grupo si usa el formato ObjectId. Para usar notificaciones de grupo en formatos distintos de grupo ObjectId, los grupos deben sincronizarse desde Active Directory a través de Microsoft Entra Connect.

Para configurar Microsoft Entra ID para emitir nombres de grupos para los grupos de Active Directory:

  1. Sincronizar los nombres de grupos de Active Directory

    Antes de que Microsoft Entra ID pueda emitir los nombres de grupo o el SID de grupo local en las notificaciones de grupo o rol, es necesario sincronizar los atributos requeridos desde Active Directory. Debe estar ejecutando Microsoft Entra Connect versión 1.2.70 o posterior. Las versiones de Microsoft Entra Connect anteriores a la 1.2.70 sincronizarán los objetos de grupo desde Active Directory, pero no incluirán los atributos de nombre de grupo requeridos.

  2. Configurar el registro de aplicación en Microsoft Entra ID para incluir notificaciones de grupo en tokens

    Puede configurar notificaciones de grupo en la sección Aplicaciones empresariales del portal, o bien con el manifiesto de aplicación en la sección Registros de aplicación. Para configurar las notificaciones de grupo en el manifiesto de aplicación, consulte Configuración del registro de aplicación de Microsoft Entra para atributos de grupo más adelante en este artículo.

Adición de notificaciones de grupo para aplicaciones SAML mediante la configuración de SSO

Para configurar notificaciones de grupo para una aplicación SAML de la galería o que no pertenece a la galería a través del inicio de sesión único (SSO):

  1. Abra Aplicaciones empresariales, seleccione la aplicación en la lista, Configuración de inicio de sesión único y, luego, seleccione Atributos y notificaciones del usuario.

  2. Seleccione Agregar una notificación de grupo.

    Captura de pantalla que muestra la página de los atributos y las reclamaciones de usuario, con el botón para añadir una reclamación de grupo seleccionado.

  3. Use las opciones para seleccionar qué grupos se deben incluir en el token.

    Captura de pantalla que muestra la ventana Notificaciones de grupo con opciones de grupo.

    Número de selección Descripción
    Todos los grupos Emite grupos de seguridad, listas de distribución y roles.
    Grupos de seguridad Emite grupos de seguridad de los que el usuario es miembro en la notificación de grupos. Si al usuario se le asignan roles de directorio, se emiten como id. de objeto.
    Roles de directorio Si al usuario se le asignan roles de directorio, se emiten como una notificación wids. (No se emitirá la notificación del grupo).
    Grupos asignados a la aplicación Emite solo los grupos asignados explícitamente a la aplicación y de los que el usuario es miembro. Se recomienda para organizaciones grandes debido al límite de número de grupos en el token.
    • Por ejemplo, para emitir todos los grupos de seguridad de los que el usuario es miembro, seleccione Grupos de seguridad.

      Captura de pantalla en la que se muestra la ventana Notificaciones de grupo con la opción Grupos de seguridad seleccionada.

      Para emitir grupos utilizando atributos de Active Directory sincronizados desde Active Directory en lugar de atributos de Microsoft Entra ID objectID, seleccione el formato requerido en la lista desplegable Atributo de origen. Solo los grupos sincronizados desde Active Directory se incluirán en las notificaciones.

      Captura de pantalla en la que se muestra el menú desplegable del atributo de origen.

    • Para emitir solo grupos asignados a la aplicación, seleccione Grupos asignados a la aplicación.

      Captura de pantalla en la que se muestra la ventana Notificaciones de grupo con la opción Grupos asignados a la aplicación seleccionada.

      Los grupos asignados a la aplicación se incluirán en el token. Otros grupos de los que el usuario sea miembro se omitirán. Con esta opción, no se incluyen los grupos anidados y el usuario debe ser miembro directo del grupo asignado a la aplicación.

      Para cambiar los grupos asignados a la aplicación, seleccione la aplicación en la lista Aplicaciones empresariales. Luego, seleccione Usuarios y grupos en el menú izquierdo de la aplicación.

      Para más información sobre cómo administrar la asignación de grupos a aplicaciones, consulte Asignación de un usuario o grupo a una aplicación empresarial.

Emisión del nombre para mostrar para grupos solo en la nube en el token

Puede configurar la notificación de grupo para incluir el nombre para mostrar del grupo para los grupos solo en la nube.

  1. Abra Aplicaciones empresariales, seleccione la aplicación en la lista, Configuración de inicio de sesión único y, luego, seleccione Atributos y notificaciones del usuario.

  2. Si ya tiene las notificaciones de grupo configuradas, selecciónelas en la sección Notificaciones adicionales. De lo contrario, puede agregar la notificación de grupo como se describe en los pasos anteriores.

  3. Para el tipo de grupo emitido en el token, seleccione Grupos asignados a la aplicación:

    Captura de pantalla en la que se muestra la ventana Notificaciones de grupo con la opción Grupos asignados a la aplicación seleccionada.

  4. Para emitir el nombre para mostrar del grupo para grupos solo en la nube, en el desplegable Atributo de origen seleccione la opción Nombres para mostrar del grupo solo en la nube:

    Captura de pantalla que muestra el desplegable de atributos de origen de las notificaciones de grupo, con la opción para configurar los nombres de grupo solo en la nube seleccionada.

  5. En el caso de una configuración híbrida, para emitir el atributo de grupo local para los grupos sincronizados y el nombre para mostrar para los grupos en la nube, puede seleccionar el atributo de orígenes locales deseado y marcar la casilla Emitir el nombre del grupo para los grupos solo en la nube:

    Captura de pantalla que muestra la configuración para emitir el atributo de grupo local para grupos sincronizados y el nombre para mostrar de los grupos en la nube.

Nota:

Solo puede agregar nombres de grupo de nube de grupos asignados a una aplicación. La restricción a groups assigned to the application se debe a que un nombre de grupo no es único, y los nombres para mostrar solo pueden emitirse para grupos asignados explícitamente a la aplicación para reducir los riesgos de seguridad. De lo contrario, cualquier usuario podría crear un grupo con un nombre duplicado y obtener acceso en el lado de la aplicación.

Establecimiento de opciones avanzadas

Personalización del nombre de notificación de grupo

Puede modificar la manera en que se emiten notificaciones de grupo mediante la configuración en Opciones avanzadas.

Si selecciona Personalizar el nombre de la notificación de grupo, puede especificar otro tipo de notificación para las notificaciones de grupo. Escriba el tipo de notificación en el cuadro Nombre y el espacio de nombres opcional para la notificación en el cuadro Espacio de nombres.

Captura de pantalla en la que se muestra la sección Opciones avanzadas, con la opción Personalizar el nombre de la notificación del grupo seleccionada y los valores Nombre y Espacio de nombres definidos.

Algunas aplicaciones requieren que la información de suscripción del grupo aparezca en la notificación de rol. También puede activar la casilla Emitir grupos como notificaciones de rol para emitir los grupos del usuario como roles.

Captura de pantalla en la que se muestra la sección Opciones avanzadas, con las casillas de verificación

Nota

Si usa la opción de emitir datos de grupo como roles, solo los grupos aparecerán en la notificación de rol. Ningún rol de aplicación que tenga asignado el usuario aparecerá en la notificación de rol.

Filtrado de grupos

El filtrado de grupos permite un control preciso de la lista de grupos que se incluye como parte de la notificación de grupo. Cuando se configura un filtro, solo los grupos que coinciden con el filtro se incluirán en la notificación del grupo que se envía a dicha aplicación. El filtro se aplicará a todos los grupos independientemente de la jerarquía de grupos.

Nota

El filtrado de grupos se aplica a los tokens emitidos para las aplicaciones en las que las notificaciones y el filtrado de grupos se configuraron en la hoja Aplicaciones empresariales del portal.
El filtrado de grupos no se aplica a los roles de Microsoft Entra.

Puede configurar los filtros para que se apliquen al nombre para mostrar o al atributo SAMAccountName del grupo. Se admiten las operaciones de filtrado siguientes:

  • Prefijo: coincide con el inicio del atributo seleccionado.
  • Sufijo: coincide con el final del atributo seleccionado.
  • Contiene: coincide con cualquier ubicación del atributo seleccionado.

Captura de pantalla que muestra opciones de filtro.

Transformación de grupo

Algunas aplicaciones pueden requerir los grupos en un formato diferente de cómo se representan en Microsoft Entra ID. Para cumplir con este requisito, puede aplicar una transformación a cada grupo que se emitirá en la notificación de grupo. Para lograrlo, permita la configuración de una expresión regular (regex) y un valor de reemplazo en las notificaciones de grupo personalizadas.

Captura de pantalla de la transformación de un grupo con la información de regex añadida.\

  • Patrón de regex: use una expresión regular para analizar cadenas de texto según el patrón que se estableció en este cuadro. Si el patrón de regex que describe se evalúa como true, se ejecutará el patrón de reemplazo de regex.
  • Patrón de reemplazo de regex: en la notación de regex, describa cómo quiere que se reemplace la cadena si el patrón de regex que describió se evalúa como true. Use grupos de capturas para buscar coincidencias con subexpresiones en esta expresión regular de reemplazo.

Para más información sobre los grupos de capturas y reemplazos de expresiones regulares, consulte El modelo de objetos de expresión regular: El grupo capturado.

Nota:

Tal como se describe en la documentación de Microsoft Entra, no es posible modificar una notificación restringida mediante una directiva. No se puede cambiar el origen de datos ni se aplica ninguna transformación al generar estas notificaciones. La notificación de grupo sigue siendo una notificación restringida, por lo que debe cambiar el nombre de los grupos para personalizarlos. Si selecciona un nombre restringido como el nombre de la notificación de grupo personalizada, la notificación se omitirá en tiempo de ejecución.

También puede usar la característica de transformación de expresión regular como filtro, porque los grupos que no coincidan con el patrón de regex no se emitirán en la notificación resultante.

Si la transformación aplicada a la notificación de grupos originales da como resultado una nueva notificación personalizada, la notificación de grupos original se omitirá del token. Sin embargo, si la expresión regular configurada no coincide con ningún valor de la lista original, la notificación personalizada no estará presente y la notificación de grupos originales se incluirá en el token.

Edición de la configuración de notificaciones de grupo

Una vez que agrega una configuración de notificación de grupo a la configuración Atributos y notificaciones del usuario, la opción para agregar una notificación de grupo no estará disponible. Para cambiar la configuración de notificación de grupo, seleccione la notificación de grupo en la lista Notificaciones adicionales.

Captura de pantalla de la zona de atributos y reclamaciones de usuario con el nombre de la reclamación de grupo destacado.

Configurar el registro de aplicación de Microsoft Entra para atributos de grupo

También puede configurar las notificaciones de grupo en la sección Notificaciones opcionales del manifiesto de aplicación.

  1. En el portal, seleccione Identidad>Aplicaciones>Registros de aplicaciones>Seleccionar aplicación>Manifiesto.

  2. Cambie groupMembershipClaims para habilitar las notificaciones de pertenencia a grupos.

    Los valores válidos son:

    Número de selección Descripción
    All Emite grupos de seguridad, listas de distribución y roles.
    SecurityGroup Emite grupos de seguridad y roles de Microsoft Entra de los que el usuario es miembro en la notificación de grupo.
    DirectoryRole Si al usuario se le asignan roles de directorio, se emiten como una notificación wids. (No se emitirá una notificación de grupo).
    ApplicationGroup Emite solo los grupos asignados explícitamente a la aplicación y de los que el usuario es miembro.
    None No se devuelve ningún grupo. (No distingue mayúsculas de minúsculas, por lo que también funciona none. Se puede establecer directamente en el manifiesto de aplicación).

    Por ejemplo:

    "groupMembershipClaims": "SecurityGroup"
    

    De manera predeterminada, los atributos ObjectID de grupo se emitirán en el valor de la notificación de grupo. Para modificar el valor de la notificación para que contenga los atributos del grupo local, o bien para cambiar el tipo de notificación a rol, use la configuración optionalClaims que se describe en el paso siguiente.

  3. Establezca notificaciones opcionales para la configuración de nombre del grupo.

    Si quiere que los grupos del token contengan los atributos de grupo de Active Directory local, especifique a qué tipo de token se debe aplicar la notificación opcional en la sección optionalClaims. Puede enumerar varios tipos de token:

    • idToken para el token de identificador de OIDC
    • accessToken para el token de acceso de OAuth/OIDC
    • Saml2Token para tokens SAML

    Nota

    El tipo Saml2Token se aplica a los tokens tanto en formato SAML1.1 como SAML2.0.

    Para cada tipo de token pertinente, modifique la notificación de grupo para usar la sección optionalClaims en el manifiesto. El esquema optionalClaims es el siguiente:

    {
    "name": "groups",
    "source": null,
    "essential": false,
    "additionalProperties": []
    }
    
    Esquema de notificaciones opcionales Value
    name Debe ser "groups".
    source No se usa. Omitir o especificar null.
    essential No se usa. Omitir o especificar false.
    additionalProperties Lista de propiedades adicionales. Las opciones válidas son "sam_account_name", "dns_domain_and_sam_account_name", "netbios_domain_and_sam_account_name", "cloud_displayname" y "emit_as_roles".

    En additionalProperties, solo uno de estos elementos, "sam_account_name", "dns_domain_and_sam_account_name" o "netbios_domain_and_sam_account_name", es obligatorio. Si hay más de uno, se usa el primero y omiten los demás.

    Algunas aplicaciones requieren información de grupo sobre el usuario en la notificación de rol. Para cambiar el tipo de notificación de una notificación de grupo a una notificación de rol, agregue "emit_as_roles" a las propiedades adicionales. Los valores de grupo se emitirán en la notificación de rol.

    Para emitir el nombre para mostrar del grupo para los grupos solo en la nube, puede agregar "cloud_displayname" a additional properties. Esta opción solo es válida cuando “groupMembershipClaims” se establece en ApplicationGroup.

    Nota:

    Si usa "emit_as_roles", ninguno de los roles de aplicación configurados al que está asignado el usuario aparecerá en la notificación de rol.

Ejemplos

Emita los grupos como nombres de grupos en tokens de acceso de OAuth con formato DNSDomainName\sAMAccountName:

"optionalClaims": {
    "accessToken": [{
        "name": "groups",
        "additionalProperties": ["dns_domain_and_sam_account_name"]
    }]
}

Emita los nombres de grupos que se devolverán con formato NetbiosDomain\sAMAccountName como la notificación de rol en tokens de identificador de OIDC y SAML:

"optionalClaims": {
    "saml2Token": [{
        "name": "groups",
        "additionalProperties": ["netbios_domain_and_sam_account_name", "emit_as_roles"]
    }],

    "idToken": [{
        "name": "groups",
        "additionalProperties": ["netbios_domain_and_sam_account_name", "emit_as_roles"]
    }]
}

Pasos siguientes