Configurar notificaciones de grupo para aplicaciones con Azure Active Directory (versión preliminar pública)Configure group claims for applications with Azure Active Directory (Public Preview)

Azure Active Directory puede proporcionar información de suscripción a un grupo de usuarios en tokens que se pueden usar en las aplicaciones.Azure Active Directory can provide a users group membership information in tokens for use within applications. Se admiten dos patrones principales:Two main patterns are supported:

  • Grupos que se identifican por su atributo de identificador de objetos (OID) de Azure Active Directory (disponible con carácter general)Groups identified by their Azure Active Directory object identifier (OID) attribute (Generally Available)
  • Grupos que se identifican por los atributos sAMAccountName o GroupSID para grupos y usuarios sincronizados de Active Directory (AD) (versión preliminar pública)Groups identified by sAMAccountName or GroupSID attributes for Active Directory (AD) synchronized groups and users (Public Preview)

Importante

Hay una serie de advertencias a tener en cuenta para esta funcionalidad de la versión preliminar:There are a number of caveats to note for this preview functionality:

  • La compatibilidad con el uso de los atributos del identificador de seguridad (SID) y de sAMAccountName sincronizados de forma local, está diseñada para permitir el traslado de aplicaciones existentes desde AD FS y otros proveedores de identidad.Support for use of sAMAccountName and security identifier (SID) attributes synced from on-premises is designed to enable moving existing applications from AD FS and other identity providers. Los grupos administrados en Azure AD no contienen los atributos necesarios para emitir estas notificaciones.Groups managed in Azure AD do not contain the attributes necessary to emit these claims.
  • En organizaciones más grandes, la cantidad de grupos de los que un usuario es miembro puede exceder el límite que Azure Active Directory agregará a un token.In larger organizations the number of groups a user is a member of may exceed the limit that Azure Active Directory will add to a token. 150 grupos para un token de SAML y 200 para uno de JWT.150 groups for a SAML token, and 200 for a JWT. Esto puede llevar a resultados impredecibles.This can lead to unpredictable results. Si este es un problema potencial, recomendamos realizar pruebas y, si es necesario, esperar hasta que agreguemos mejoras que le permitan restringir las notificacionesa los grupos relevantes para la aplicación.If this is a potential issue we recommend testing and if necessary waiting until we add enhancements to allow you to restrict the claims to the relevant groups for the application.
  • En cuanto al desarrollo de nuevas aplicaciones, o en los casos en que la aplicación se puede configurar y donde no se requiere una compatibilidad de grupo anidada, le recomendamos que la autorización desde la aplicación se base en roles de aplicación en vez de en grupos.For new application development, or in cases where the application can be configured for it, and where nested group support isn't required, we recommend that in-app authorization is based on application roles rather than groups. Gracias a ello, limitará 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.This limits the amount of infomation that needs to go into the token, is more secure, and separates user assignment from app configuration.

Notificaciones de grupo para aplicaciones que migran de AD FS y otros proveedores de identidadGroup claims for applications migrating from AD FS and other identity providers

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 AD.Many applications that are configured to authenticate with AD FS rely on group membership information in the form of Windows AD group attributes. Estos atributos son el grupo sAMAccountName, que puede ser calificado en función del nombre de dominio, o el identificador de seguridad de grupo de Windows (GroupSID).These attributes are the group sAMAccountName, which may be qualified by-domain name, or the Windows Group Security Identifier (GroupSID). Cuando la aplicación está federada con AD FS, AD FS usa la función TokenGroups para recuperar las suscripciones del grupo para el usuario.When the application is federated with AD FS, AD FS uses the TokenGroups function to retrieve the group memberships for the user.

Para que coincida con el token que recibiría una aplicación de AD FS, se pueden emitir notificaciones de grupo y rol que contengan el dominio calificado sAMAccountName en lugar del valor de objectID de Azure Active Directory del grupo.To match the token an app would receive from AD FS, group and role claims may be emitted containing the domain qualified sAMAccountName rather than the group's Azure Active Directory objectID.

Los formatos que se admiten en las notificaciones de grupo son:The supported formats for group claims are:

  • ObjectId de grupo Azure Active Directory (disponible para todos los grupos)Azure Active Directory Group ObjectId (Available for all groups)
  • sAMAccountName (disponible para grupos sincronizados desde Active Directory)sAMAccountName (Available for groups synchronized from Active Directory)
  • NetbiosDomain\sAMAccountName (disponible para grupos sincronizados desde Active Directory)NetbiosDomain\sAMAccountName (Available for groups synchronized from Active Directory)
  • DNSDomainName\sAMAccountName (disponible para grupos sincronizados desde Active Directory)DNSDomainName\sAMAccountName (Available for groups synchronized from Active Directory)
  • Identificador de seguridad de grupo local (disponible para grupos sincronizados desde Active Directory)On Premises Group Security Identifier (Available for groups synchronized from Active Directory)

Nota

Los atributos sAMAccountName y del grupo local SID solo están disponibles en los objetos de grupo sincronizados desde Active Directory.sAMAccountName and On Premises Group SID attributes are only available on Group objects synced from Active Directory. No están disponibles en grupos creados en Azure Active Directory u Office365.They aren't available on groups created in Azure Active Directory or Office365. Las aplicaciones configuradas en Azure Active Directory para obtener atributos de grupo locales sincronizados solo se obtienen para grupos sincronizados.Applications configured in Azure Active Directory to get synced on-premises group attributes get them for synced groups only.

Opciones para que las aplicaciones consuman información de grupoOptions for applications to consume group information

Una forma en que las aplicaciones pueden obtener información de grupo es llamar al punto de conexión de los grupos de Graph para recuperar la suscripción de grupo para el usuario autenticado.One way for applications to obtain group information is to call the Graph groups endpoint in order to retrieve the group membership for the authenticated user. Esta llamada garantiza que todos los grupos de los que un usuario es miembro estén disponibles, incluso cuando hay una gran cantidad de grupos involucrados y la aplicación necesita enumerar todos los grupos de los que el usuario es miembro.This call ensures that all the groups a user is a member of are available even when there are a large number of groups involved and the application needs to enumerate all groups the user is a member of. La enumeración de grupos es entonces independiente de las limitaciones de tamaño del token.Group enumeration is then independent of token size limitations.

Sin embargo, si una aplicación existente espera consumir información de grupo a través de las notificaciones que el token que recibe, Azure Active Directory se puede configurar con una serie de opciones de notificaciones diferentes para satisfacer las necesidades de la aplicación.However, if an existing application already expects to consume group information via claims in the token it receives, Azure Active Directory can be configured with a number of different claims options to fit the needs of the application. Considere las opciones siguientes:Consider the following options:

  • Cuando se usa la suscripción de grupo para propósitos de autorización desde la aplicación, es preferible usar el valor de ObjectID del grupo, que es fijo y único en Azure Active Directory y está disponible para todos los grupos.When using group membership for in-application authorization purposes it’s preferable to use the Group ObjectID, which is immutable and unique in Azure Active Directory and available for all groups.
  • Si usa el grupo local sAMAccountName para la autorización, use nombres calificados de dominio, ya que hay menos posibilidades de que surjan problemas si los nombres entran en algún conflicto.If using the on-premises group sAMAccountName for authorization, use domain qualified names; there’s less chance of situations arising were names clash. sAMAccountName por sí solo 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 Azure Active Directory, existe la posibilidad de que más de un grupo tenga el mismo nombre.sAMAccountName on its own may be unique within an Active Directory domain, but if more than one Active Directory domain is synchronized with an Azure Active Directory tenant there is a possibility for more than one group to have the same name.
  • Puede usar los Roles de aplicación para proporcionar una capa de direccionamiento indirecto entre la suscripción del grupo y la aplicación.Consider using Application Roles to provide a layer of indirection between the group membership and the application. A continuación, la aplicación toma decisiones de autorización internas basadas en las notificaciones de roles del token.The application then makes internal authorization decisions based on role clams in the 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.If the application is configured to get group attributes that are synced from Active Directory and a Group doesn't contain those attributes it won't be included in the claims.
  • Las notificaciones de grupo de los token incluyen grupos anidados.Group claims in tokens include nested groups. 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.If a user is a member of GroupB and GroupB is a member of GroupA, then the group claims for the user will contain both GroupA and GroupB. En cuanto a las organizaciones que cuentan con un uso intensivo de grupos anidados y tienen usuarios con un gran número de suscripciones a grupos, la cantidad de grupos enumerados en el token puede aumentar el tamaño de ese token.For organizations with heavy usage of nested groups and users with large numbers of group memberships the number of groups listed in the token can grow the token size. Azure Active Directory limita la cantidad de grupos que se emitirá en un token a 150 para las aserciones de SAML y a 200 para JWT, para evitar que los token se vuelvan demasiado grandes.Azure Active Directory limits the number of groups it will emit in a token to 150 for SAML assertions, and 200 for JWT to prevent tokens getting too large. Si un usuario es miembro de un número mayor de grupos que el límite establecido, los grupos se emiten junto con un vínculo al punto de conexión de Graph para obtener información del grupo.If a user is a member of a larger number of groups than the limit, the groups are emitted along with a link to the Graph endpoint to obtain group information.

Requisitos previos para usar atributos de grupo sincronizados desde Active Directory: Los grupos se deben sincronizar desde Active Directory mediante Azure AD Connect.Prerequisites for using Group attributes synchronized from Active Directory: The groups must be synchronized from Active Directory using Azure AD Connect.

Hay dos pasos para configurar Azure Active Directory y así poder emitir nombres de grupo para los grupos de Active Directory.There are two steps to configuring Azure Active Directory to emit group names for Active Directory Groups.

  1. Sincronice los nombres de los grupos desde Active Directory Antes de que Azure Active Directory pueda emitir los nombres de los grupos o el SID del grupo local en las notificaciones de grupo o rol, los atributos necesarios deben sincronizarse desde Active Directory.Synchronize group names from Active Directory Before Azure Active Directory can emit the group names or on premises group SID in group or role claims, the required attributes need to be synchronized from Active Directory. Debe ejecutar la versión 1.2.70 de Azure AD Connect, o cualquier versión posterior.You must be running Azure AD Connect version 1.2.70 or later. Antes de la versión 1.2.70, Azure AD Connect sincronizará los objetos del grupo desde Active Directory, pero no incluirá los atributos de nombre de grupo requeridos de forma predeterminada.Prior to version 1.2.70 Azure AD Connect will synchronize the group objects from Active Directory, but doesn’t include the required group name attributes by default. Debe actualizar a la versión actual.You should upgrade to the current version.

  2. Configure el registro de la aplicación en Azure Active Directory para incluir notificaciones de grupo en los token Las notificaciones de grupo pueden configurarse en la sección Aplicaciones de empresa del portal de una aplicación de Galería o de SSO de SAML que no sea de la galería, o mediante el Manifiesto de la aplicación que se encuentra en la sección de registros de la aplicación.Configure the application registration in Azure Active Directory to include group claims in tokens Group claims can be configured either in the Enterprise Applications section of the portal for a Gallery or Non-Gallery SAML SSO application, or using the Application Manifest in the Application Registrations section. Para configurar las notificaciones de grupo en el manifiesto de la aplicación, consulte "Configuración del registro de la aplicación de Azure Active Directory para los atributos de grupo" a continuación.To configure group claims in the application manifest see “Configuring the Azure Active Directory Application Registration for group attributes” below.

Configuración de las notificaciones de grupo para aplicaciones SAML mediante la configuración de SSOConfigure group claims for SAML applications using SSO configuration

Para configurar las notificaciones de grupo de una aplicación SAML de la galería o que no pertenezca a ella, abra Aplicaciones de empresa, haga clic en la aplicación de la lista y seleccione Configuración de inicio de sesión único.To configure Group Claims for a Gallery or Non-Gallery SAML application, open Enterprise Applications, click on the application in the list and select Single Sign On configuration.

Seleccione el icono de edición junto a "Grupos devueltos en el token".Select the edit icon next to "Groups returned in token"

Interfaz de usuario de notificaciones

Use los botones de radio para seleccionar qué grupos deben incluirse en el token.Use the radio buttons to select which groups should be included in the token

Interfaz de usuario de notificaciones

Número de selecciónSelection DESCRIPCIÓNDescription
Todos los gruposAll groups Emite grupos de seguridad y listas de distribución.Emits security groups and distribution lists. También hace que los roles de directorio que el usuario tenga asignados se emitan en una notificación “wids”, y cualquier rol de aplicación que el usuario tenga asignado se emita en la notificación de roles.It also causes Directory Roles the user is assigned to be emitted in a 'wids' claim, and any application roles the user is assigned to be emitted in the roles claim.
Grupos de seguridadSecurity groups Emite grupos de seguridad de los que el usuario es miembro en la notificación de grupos.Emits security groups the user is a member of in the groups claim
Listas de distribuciónDistribution lists Emite listas de distribución de las que el usuario es miembro.Emits distribution lists the user is a member of
Roles de directorioDirectory roles Si al usuario se le asignan roles de directorio, se emiten como una notificación “wids” (no se emitirá la notificación de grupos).If the user is assigned directory roles they are emitted as a 'wids' claim (groups claim won't be emitted)

Por ejemplo, para emitir todos los grupos de seguridad a los que pertenece el usuario, seleccione Grupos de seguridad.For example, to emit all the Security Groups the user is a member of, select Security Groups

Interfaz de usuario de notificaciones

Para emitir grupos mediante los atributos de Active Directory sincronizados desde Active Directory en lugar de los valores de objectID de Azure AD, seleccione el formato requerido en el menú desplegable.To emit groups using Active Directory attributes synced from Active Directory instead of Azure AD objectIDs select the required format from the drop-down. Esto reemplazará el id. de objeto en las notificaciones con valores de cadena que contengan nombres de grupo.This replaces the object ID in the claims with string values containing group names. Solo los grupos sincronizados desde Active Directory se incluirán en las notificaciones.Only groups synchronized from Active Directory will be included in the claims.

Interfaz de usuario de notificaciones

Opciones avanzadasAdvanced options

La forma en que se emiten las notificaciones de grupo se puede modificar mediante la configuración en Opciones avanzadas.The way group claims are emitted can be modified by the settings under Advanced options

Personalice el nombre de la notificación del grupo: Si se selecciona esta opción, se puede especificar un tipo de notificación diferente para las notificaciones de grupo.Customize the name of the group claim: If selected, a different claim type can be specified for group claims. Escriba el tipo de notificación en el campo Nombre y el espacio de nombres opcional para la notificación en el campo de espacio de nombres.Enter the claim type in the Name field and the optional namespace for the claim in the namespace field.

Interfaz de usuario de notificaciones

Algunas aplicaciones requieren que la información de suscripción del grupo aparezca en la notificación “rol”.Some applications require the group membership information to appear in the 'role' claim. Opcionalmente, puede emitir los grupos de usuarios como roles marcando la casilla “Emitir notificaciones de rol”.You can optionally emit the user's groups as roles by checking the 'Emit groups a role claims' box.

Interfaz de usuario de notificaciones

Nota

Si se usa la opción de emitir datos de grupo como roles, solo los grupos aparecerán en la notificación de rol.If the option to emit group data as roles is used, only groups will appear in the role claim. Cualquier rol de aplicación que el usuario haya asignado no aparecerá en la notificación de rol.Any Application Roles the user is assigned will not appear in the role claim.

Configurar el registro de aplicación de Azure AD para atributos de grupoConfigure the Azure AD Application Registration for group attributes

Las notificaciones de grupo también se pueden configurar en la sección Notificaciones opcionales del Manifiesto de la aplicación.Group claims can also be configured in the Optional Claims section of the Application Manifest.

  1. En el portal -> Azure Active Directory -> Registros de aplicaciones -> Seleccionar aplicación -> ManifiestoIn the portal ->Azure Active Directory -> Application Registrations->Select Application->Manifest

  2. Habilite las notificaciones de suscripción a grupos cambiando el valor de grupoMembershipClaim.Enable group membership claims by changing the groupMembershipClaim

    Los valores válidos son:The valid values are:

    • "All""All"
    • "SecurityGroup""SecurityGroup"
    • "DistributionList""DistributionList"
    • "DirectoryRole""DirectoryRole"

    Por ejemplo:For example:

    "groupMembershipClaims": "SecurityGroup"
    

    De forma predeterminada, los valores de ObjectID de grupo se emitirán en el valor de la notificación de grupo.By default Group ObjectIDs will be emitted in the group claim value. Para modificar el valor de la notificación para que contenga los atributos del grupo local, o para cambiar el tipo de notificación a rol, use la configuración de notificaciones opcionales de la siguiente manera:To modify the claim value to contain on premises group attributes, or to change the claim type to role, use OptionalClaims configuration as follows:

  3. Establezca las notificaciones opcionales para la configuración de nombre de grupo.Set group name configuration optional claims.

    Si quiere que los grupos del token contengan los atributos de grupo locales de AD en la sección de notificaciones opcionales, especifique a qué tipo de token se debe aplicar la notificación, el nombre de la notificación opcional solicitada y las propiedades adicionales que quiera usar.If you want the groups in the token to contain the on premises AD group attributes in the optional claims section specify which token type optional claim should be applied to, the name of optional claim requested and any additional properties desired. Pueden aparecer varios tipos de token:Multiple token types can be listed:

    • idToken para el token de OIDC IDidToken for the OIDC ID token
    • accessToken para el token de acceso OAuth/OIDCaccessToken for the OAuth/OIDC access token
    • Saml2Token para los token de SAML.Saml2Token for SAML tokens.

    Nota

    El tipo Saml2Token se aplica a los token con formato SAML 1.1 y SAML 2.0The Saml2Token type applies to both SAML1.1 and SAML2.0 format tokens

    Para cada tipo de token relevante, modifique las notificaciones de grupos para usar la sección OptionalClaims en el manifiesto.For each relevant token type, modify the groups claim to use the OptionalClaims section in the manifest. El esquema de OptionalClaims es el siguiente:The OptionalClaims schema is as follows:

    {
    "name": "groups",
    "source": null,
    "essential": false,
    "additionalProperties": []
    }
    
    Esquema de notificaciones opcionalOptional Claims Schema ValorValue
    name:name: Debe ser "grupos"Must be "groups"
    source:source: No se usa.Not used. Omitir o especificar nullOmit or specify null
    essential:essential: No se usa.Not used. Omitir o especificar falsoOmit or specify false
    additionalProperties:additionalProperties: Lista de propiedades adicionales.List of additional properties. Las opciones válidas son "sam_account_name", “dns_domain_and_sam_account_name”, “netbios_domain_and_sam_account_name”, "emit_as_roles"Valid options are "sam_account_name", “dns_domain_and_sam_account_name”, “netbios_domain_and_sam_account_name”, "emit_as_roles"

    En additionalProperties solo se necesita un valor de "sam_account_name", “dns_domain_and_sam_account_name”, “netbios_domain_and_sam_account_name”.In additionalProperties only one of "sam_account_name", “dns_domain_and_sam_account_name”, “netbios_domain_and_sam_account_name” are required. Si hay más de uno, se usa el primero y omiten los demás.If more than one is present, the first is used and any others ignored.

    Algunas aplicaciones requieren información de grupo sobre el usuario en la notificación de rol.Some applications require group information about the user in the role claim. Para cambiar el tipo de notificación de una notificación de grupo a una notificación de rol, agregue "emit_as_roles" a propiedades adicionales.To change the claim type to from a group claim to a role claim, add “emit_as_roles” to additional properties. Los valores de grupo se emitirán en la notificación de rol.The group values will be emitted in the role claim.

    Nota

    Si se usa "emit_as_roles", cualquier rol de aplicación configurado que se asigne al usuario no aparecerá en la notificación de rol.If "emit_as_roles" is used any Application Roles configured that the user is assigned will not appear in the role claim

EjemplosExamples

Emita grupos como nombres de grupo en tokens de acceso OAuth con el formato dnsDomainName\SAMAccountName.Emit groups as group names in OAuth access tokens in dnsDomainName\SAMAccountName format

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

Para emitir los nombres de grupo que se devolverán en el formato netbiosDomain\samAccountName como la notificación de roles de los token de SAML y OIDC ID:To emit group names to be returned in netbiosDomain\samAccountName format as the roles claim in SAML and OIDC ID Tokens:

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

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

Pasos siguientesNext steps

¿Qué es la identidad híbrida?What is hybrid identity?