Personalización de tokens
Este artículo le ayuda a compilar seguridad en aplicaciones con tokens de id., tokens de acceso y tokens de seguridad desde la plataforma de identidad de Microsoft. Describe la información que puede recibir en tokens de Microsoft Entra y cómo puede personalizarlas. Es el quinto de una serie de artículos sobre cómo los desarrolladores de software independientes (ISV) pueden compilar y optimizar sus aplicaciones para Microsoft Entra ID. En esta serie, puede obtener más información sobre estos temas:
- Microsoft Entra ID para desarrolladores de software independientes describe cómo usar este servicio de administración de identidades y acceso basado en la nube para habilitar que los empleados accedan a los recursos con la aplicación.
- Establecer aplicaciones en el ecosistema de Microsoft Entra ID describe cómo usar el Centro de administración de Microsoft Entra o la Interfaz de programación de aplicaciones (API) de Microsoft Graph para registrar aplicaciones en un inquilino de Microsoft Entra ID.
- Autenticar aplicaciones y usuarios describe cómo las aplicaciones usan Microsoft Entra ID para autenticar usuarios y aplicaciones.
- Autorizar aplicaciones, recursos y cargas de trabajo describe la autorización cuando los humanos individuales interactúan y dirigen una aplicación en este escenario, las API actúan para un usuario y cuando las aplicaciones o servicios funcionan de forma independiente.
La operación principal para las aplicaciones que se conectan a Microsoft Entra ID está solicitando y procesando tokens. Como desarrollador, puede personalizar el token que Microsoft Entra ID envía a la aplicación de permisos delegada o a la API. No se pueden personalizar los tokens de carga de trabajo.
Si la aplicación implementa OpenID Connect (OIDC) y solicita tokens de identificador, puede personalizar el token de id. de la aplicación. Si implementa una API, puede personalizar los tokens de acceso que las aplicaciones que llaman a la API reciben. No es posible que una aplicación personalice los tokens de acceso que recibe que autorizan a una aplicación a acceder a una API.
El método de personalización del token principal para ISV es agregar notificaciones opcionales a los tokens en el registro de la aplicación. La referencia de notificaciones opcionales enumera las notificaciones opcionales disponibles.
En el caso de las aplicaciones multiinquilino, las notificaciones opcionales están disponibles para todos los inquilinos. Puede configurar los tokens de acceso de API para incluir la notificación opcional onprem_sid
para incluir la notificación de identidad de seguridad local del usuario. Aunque puede configurar una notificación opcional, la aplicación siempre debe controlar cuándo el token no incluye la notificación opcional que configuró. Por ejemplo, el usuario podría ser un usuario de solo Microsoft Entra ID que no tiene un identificador de seguridad local. En este caso, el Microsoft Entra ID no incluye la notificación opcional en el token. Microsoft Entra ID no devuelve una notificación con un valor vacío ("").
El notificación de grupo es una notificación opcional que requiere un control especial. Una aplicación o API puede incluir grupos de seguridad de los usuarios y grupos anidados en el token o incluir los grupos de seguridad y los grupos anidados con listas de distribuciones con la notificación de grupos. Las aplicaciones pueden incluir roles de directorio de un usuario en el token con la notificación de wids
(roles para todo el inquilino). La inclusión de todos los grupos o listas de distribución de todos los usuarios puede dar lugar a que no haya grupos ni listas de distribución en el token.
El tamaño del token limita las entradas totales de la notificación de grupos a 200 para aplicaciones de OAuth 2.0, 150 para aplicaciones SAMLy seis para aplicaciones que usan concesión implícita como parte de un flujo híbrido. Cuando hay demasiados grupos, el token tiene una notificación de uso por encima del límite de grupo. Si el token contiene una notificación de uso por encima del límite de grupo, vuelva a llamar aMicrosoft Graph para obtener los grupos del usuario. Dado que no tiene forma de saber cuándo el usuario es miembro de demasiados grupos, siempre incluye la capacidad de llamar a Microsoft Graph para las pertenencias a grupos del usuario en la aplicación. Se recomienda usar Microsoft Graph en lugar de usar la notificación de grupos debido a los requisitos de código de Microsoft Graph.
Para evitar el uso por encima del límite de grupo, configure la notificación de grupos para incluir solo los grupos a los que una aplicación tiene asignación. Con este enfoque, la notificación grupo solo incluye grupos asignados a una aplicación o API cuando el usuario es miembro del grupo (sin compatibilidad con grupos anidados). El usuario debe ser miembro directo del grupo al que una aplicación tiene asignación.
Otra manera de evitar el uso por encima del límite de grupos es usar roles en lugar de grupos. Puede configurar roles para la aplicación o API que recibe en el token. Los administradores de TI pueden asignar grupos a los roles que defina en un inquilino de Microsoft Entra ID con licencias P1 o posteriores. Después de la asignación, el token incluye una notificación de roles con la aplicación de los roles asignados del usuario, o roles basados en la pertenencia a grupos del usuario.
Evalúe las ventajas para usar grupos o roles. En el caso de los ISV, se recomienda usar roles en lugar de grupos.
Pasos siguientes
- Microsoft Entra ID para desarrolladores de software independientes describe cómo usar este servicio de administración de identidades y acceso basado en la nube para habilitar que los empleados accedan a los recursos con la aplicación.
- Establecer aplicaciones en el ecosistema de Microsoft Entra ID describe cómo usar el Centro de administración Microsoft Entra o Microsoft Graph API para registrar aplicaciones en un inquilino de Microsoft Entra ID.
- Autenticar aplicaciones y usuarios describe cómo las aplicaciones usan Microsoft Entra ID para autenticar usuarios y aplicaciones.
- Autorizar aplicaciones, recursos y cargas de trabajo describe la autorización cuando un usuario individual interactúa y dirige una aplicación, cuando las API actúan en nombre de un usuario y cuando las aplicaciones o servicios funcionan de forma independiente.