Integración del acceso híbrido con integración de identificadores de Microsoft Entra
Microsoft Entra id. admite protocolos de autenticación modernos que ayudan a proteger las aplicaciones. Pero muchas aplicaciones empresariales funcionan en una red corporativa protegida, y algunas usan métodos de autenticación heredados. Ahora que las empresas desarrollan una estrategia de Confianza cero y admiten entornos híbridos y en la nube, hay soluciones que conecten las aplicaciones Microsoft Entra ID y que proporcionen autenticación para las aplicaciones heredadas.
Más información: Seguridad de Confianza cero
Microsoft Entra ID. admite de forma nativa protocolos modernos:
- Lenguaje de marcado de aserción de seguridad (SAML)
- Federación de servicios web (WS-Fed)
- OpenID Connect (OIDC)
Microsoft Entra proxy de aplicación o Microsoft Entra proxy de aplicación admite la autenticación kerberos y basada en encabezados. No se admiten otros protocolos, como Secure Shell (SSH), NTLM (Microsoft Windows NT LAN Manager), protocolo ligero de acceso a directorios (LDAP) y cookies. Sin embargo, los proveedores de software independientes (ISV) pueden crear soluciones para conectar estas aplicaciones con Microsoft Entra ID.
Los ISV pueden ayudar a los clientes a detectar y migrar aplicaciones de software como servicio (SaaS) a Microsoft Entra. Pueden conectar aplicaciones que usan métodos de autenticación heredados con Microsoft Entra ID. Los clientes pueden consolidarse en Microsoft Entra ID para simplificar su administración de aplicaciones e implementar Confianza cero principios.
Información general de la solución
La solución que compile puede incluir lo siguiente:
- Detección de aplicaciones: a menudo, los clientes no conocen todas las aplicaciones en uso
- La detección de aplicaciones busca aplicaciones, lo que facilita la integración de aplicaciones con Microsoft Entra ID
- Migración de aplicaciones: cree un flujo de trabajo para integrar aplicaciones con Microsoft Entra ID sin usar el centro de administración de Microsoft Entra
- Integración de las aplicaciones que los clientes usan hoy
- Compatibilidad con la autenticación heredada : conexión de aplicaciones con métodos de autenticación heredados e inicio de sesión único (SSO)
- Acceso condicional: permita que los clientes apliquen directivas de Microsoft Entra ID a las aplicaciones de la solución sin usar el centro de administración de Microsoft Entra
Más información: ¿Qué es el acceso condicional?
Consulte las secciones siguientes para conocer las consideraciones técnicas y las recomendaciones.
Publicación de aplicaciones en Azure Marketplace
Azure Marketplace es un origen de confianza de aplicaciones para administradores de TI. Las aplicaciones son compatibles con Microsoft Entra ID y admiten el inicio de sesión único, automatizan el aprovisionamiento de usuarios e se integran en los inquilinos externos con el registro automatizado de aplicaciones.
La aplicación se puede integrar previamente en Microsoft Entra ID para que admita SSO y el aprovisionamiento automatizado. Consulte Enviar una solicitud para publicar su aplicación en la galería de aplicaciones de Microsoft Entra.
Se recomienda convertirse en editor comprobado para que los clientes sepan que es el editor de confianza de la aplicación. Consulte Comprobación del publicador.
Habilite el inicio de sesión único para administradores de TI
Hay varias maneras de habilitar el inicio de sesión único para los administradores de IT en la solución. Consulte Planeamiento de una implementación de inicio de sesión único y opciones de inicio de sesión único.
Microsoft Graph usa OIDC/OAuth. Los clientes usan OIDC para iniciar sesión en la solución. Use los problemas de Microsoft Entra ID de JSON Web Token (JWT) para interactuar con Microsoft Graph. Consulte OpenID Connect en la plataforma de identidad de Microsoft.
Si su solución usa SAML para el SSO de administrador de IT, el token SAML no permite que la solución interactúe con Microsoft Graph. Puede usar SAML para el SSO de administrador de IT, pero la solución tiene que admitir la integración de OIDC con Microsoft Entra ID para poder obtener un JWT de Microsoft Entra ID para interactuar correctamente con Microsoft Graph. Consulte Uso del protocolo SAML por parte de la Plataforma de identidad de Microsoft.
Puede usar uno de los siguientes métodos SAML:
- Enfoque de SAML recomendado: cree un nuevo registro en Azure Marketplace, que es una aplicación de OIDC. Los clientes agregan las aplicaciones de SAML y OIDC a su inquilino. Si la aplicación no está en la galería de Microsoft Entra, puede empezar con una aplicación multiinquilino que no sea de la galería.
- Enfoque de SAML alternativo: el cliente puede crear un registro de aplicación de OIDC en su inquilino de Microsoft Entra ID y establecer los identificadores URI, los puntos de conexión y los permisos
Use el tipo de concesión de credenciales de cliente, que requiere que la solución permita a los clientes escribir un identificador de cliente y un secreto. La solución también requiere que almacene esta información. Obtenga un JWT de Microsoft Entra ID y úselo para interactuar con Microsoft Graph. Consulte Obtención de un token. Se recomienda volver a preparar la documentación del cliente sobre cómo crear el registro de aplicaciones en su inquilino de Microsoft Entra. Incluye puntos de conexión, URI y permisos.
Nota
Para poder usar las aplicaciones para el SSO de administrador de IT o usuario, el administrador de IT del cliente debe dar su consentimiento a la aplicación en su inquilino. Consulte Concesión del consentimiento del administrador para todo el inquilino a una aplicación.
Flujos de autenticación
La solución de autenticación clave que admiten los siguientes escenarios:
- El administrador de IT del cliente inicia sesión con SSO para administrar la solución.
- El administrador de IT del cliente usa la solución para integrar aplicaciones con Microsoft Entra ID a través de Microsoft Graph
- Los usuarios inician sesión en aplicaciones heredadas protegidas por la solución y Microsoft Entra ID
El administrador de IT del cliente realiza el inicio de sesión único en la solución
La solución puede usar SAML u OIDC para el SSO cuando el administrador de TI del cliente inicia sesión. Se recomienda que el administrador de TI inicie sesión en la solución con sus credenciales de Microsoft Entra, lo que permite el uso de los controles de seguridad actuales. Integración con Microsoft Entra ID para SSO mediante SAML u OIDC.
En el diagrama siguiente se muestra el flujo de autenticación de usuario:
- El administrador de IT inicia sesión en su solución con sus credenciales de Microsoft Entra
- La solución redirige al administrador de IT a Microsoft Entra ID con una solicitud de inicio de sesión de SAML u OIDC
- Microsoft Entra autentica al administrador de IT y luego lo redirige a la solución con un token SAML o un JWT para que se autorice en su solución
Los administradores de TI integran aplicaciones con el identificador de Microsoft Entra
Los administradores de IT integran aplicaciones con Microsoft Entra ID mediante su solución, que emplea Microsoft Graph para crear registros de aplicaciones y directivas de acceso condicional de Microsoft Entra.
En el diagrama siguiente se muestra el flujo de autenticación de usuario:
- El administrador de IT inicia sesión en su solución con sus credenciales de Microsoft Entra
- La solución redirige al administrador de IT a Microsoft Entra ID con una solicitud de inicio de sesión de SAML u OIDC
- Microsoft Entra autentica al administrador de IT y luego lo redirige a su solución con un token SAML o un JWT para que se autorice
- Cuando el administrador de IT integra una aplicación con Microsoft Entra ID, la solución llama a Microsoft Graph con su JWT para registrar las aplicaciones o aplica las Directivas de Acceso condicional de Microsoft Entra
Los usuarios inician sesión en las aplicaciones
Cuando los usuarios inician sesión en las aplicaciones, usan OIDC o SAML. Si las aplicaciones necesitan interactuar con Microsoft Graph o la API protegida de Microsoft Entra, se recomienda configurarlas para que usen OICD. Esta configuración garantiza que el JWT se aplique para interactuar con Microsoft Graph. Si no es necesario que las aplicaciones interactúen con Microsoft Graph ni con APIs protegidas por Microsoft Entra, use SAML.
En el diagrama siguiente se muestra el flujo de autenticación de usuario:
- El usuario inicia sesión en una aplicación
- La solución redirige al usuario a Microsoft Entra ID con una solicitud de inicio de sesión de SAML u OIDC
- Microsoft Entra autentica al usuario y luego lo redirige a su solución con un token SAML o un JWT para que se autorice
- La solución permite la solicitud mediante el protocolo de aplicación.
Microsoft Graph API
Se recomienda usar las siguientes API. Use Microsoft Entra ID. para configurar permisos delegados o permisos de aplicación. En el caso de esta solución, use permisos delegados.
- API de plantillas de aplicaciones: en Azure Marketplace, use esta API para buscar una plantilla de aplicación coincidente.
- Permisos necesarios: Application.Read.All
- API de registro de aplicaciones: cree registros de aplicaciones OIDC o SAML para que los usuarios inicien sesión en aplicaciones protegidas con la solución
- Permisos necesarios: Application.Read.All y Application.ReadWrite.All.
- Service Principal API: después de registrar la aplicación, actualice el objeto de entidad de servicio para establecer algunas propiedades de SSO.
- Permisos necesarios: Application.ReadWrite.All, Directory.AccessAsUser.All y AppRoleAssignment.ReadWrite.All (para la asignación).
- API de acceso condicional: aplicación de directivas de acceso condicional de Microsoft Entra a aplicaciones de usuario
- Permisos necesarios: Policy.Read.All, Policy.ReadWrite.ConditionalAccess y Application.Read.All.
Más información: Uso de Microsoft Graph API
Escenarios de Microsoft Graph API
Use la siguiente información para implementar registros de aplicaciones, conectar aplicaciones heredadas y habilitar directivas de acceso condicional. Aprenda a automatizar el consentimiento del administrador, obtener el certificado de firma de tokens y asignar usuarios y grupos.
Uso de Microsoft Graph API para registrar aplicaciones con el identificador de Microsoft Entra
Agregar de las aplicaciones de Azure Marketplace
Algunas aplicaciones que usan los clientes están en el Azure Marketplace. Puede crear una solución que agregue estas aplicaciones al inquilino externo. Use el ejemplo siguiente con Microsoft Graph API para buscar una plantilla en Azure Marketplace.
Nota
Cuando se usa Application Templates API, el nombre para mostrar distingue mayúsculas de minúsculas.
Authorization: Required with a valid Bearer token
Method: Get
https://graph.microsoft.com/v1.0/applicationTemplates?$filter=displayname eq "Salesforce.com"
Si encuentra una coincidencia en la llamada a la API, capture el identificador. Realice la siguiente llamada API y proporcione un nombre para mostrar para la aplicación en el cuerpo del JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/cd3ed3de-93ee-400b-8b19-b61ef44a0f29/instantiate
{
"displayname": "Salesforce.com"
}
Después de realizar la llamada API, se genera un objeto de entidad de servicio. Capture el id. de aplicación y el id. de la entidad de servicio que se van a usar en las siguientes llamadas API.
Revise el objeto de entidad de servicio con el protocolo SAML y una dirección URL de inicio de sesión:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.salesforce.com"
}
Revise el objeto de aplicación con los URI de redireccionamiento y los URI de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.salesforce.com"]},
"identifierUris":["https://www.salesforce.com"]
}
Agregar aplicaciones que no están en Azure Marketplace
Si no hay ninguna coincidencia en Azure Marketplace o para integrar una aplicación personalizada, registre una aplicación personalizada en Microsoft Entra ID con el identificador de plantilla: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Después, realice la siguiente llamada API y proporcione un nombre para mostrar para la aplicación en el cuerpo del JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom SAML App"
}
Después de realizar la llamada API, se genera un objeto de entidad de servicio. Capture el id. de aplicación y el id. de la entidad de servicio que se van a usar en las siguientes llamadas API.
Revise el objeto de entidad de servicio con el protocolo SAML y una dirección URL de inicio de sesión:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.samlapp.com"
}
Revise el objeto de aplicación con los URI de redireccionamiento y los URI de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["https://www.samlapp.com"]
}
Configuración del inicio de sesión único de Microsoft Entra
Una vez registradas las aplicaciones SaaS en Microsoft Entra ID, las aplicaciones deben empezar a usar Microsoft Entra ID como proveedor de identidades (IdP):
- Las aplicaciones admiten el inicio de sesión único con un solo clic: Microsoft Entra ID habilita las aplicaciones. En el centro de administración de Microsoft Entra, el cliente realiza el SSO con un clic con las credenciales administrativas de las aplicaciones SaaS admitidas.
- Las aplicaciones no admiten el inicio de sesión único con un solo clic: el cliente permite que las aplicaciones usen Microsoft Entra ID.
Conexión de aplicaciones al identificador de Microsoft Entra con autenticación heredada
Su solución puede permitir que el cliente use características de SSO y Microsoft Entra, incluso aplicaciones no admitidas. Para permitir el acceso con protocolos heredados, la aplicación llama a Microsoft Entra ID para autenticar al usuario y aplicar Directivas de acceso condicional de Microsoft Entra. Habilite esta integración desde la consola. Cree un registro de aplicación de SAML u OIDC entre su solución y Microsoft Entra ID.
Creación de un registro de aplicación SAML
Use el siguiente id. de plantilla de aplicación personalizado: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Después, realice la siguiente llamada API y proporcione un nombre para mostrar en el cuerpo del JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom SAML App"
}
Después de realizar la llamada API, se genera un objeto de entidad de servicio. Capture el id. de aplicación y el id. de la entidad de servicio que se van a usar en las siguientes llamadas API.
Revise el objeto de entidad de servicio con el protocolo SAML y una dirección URL de inicio de sesión:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.samlapp.com"
}
Revise el objeto de aplicación con los URI de redireccionamiento y los URI de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["https://www.samlapp.com"]
}
Creación de un registro de aplicación OIDC
Use el siguiente id. de plantilla para una aplicación personalizada: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Realice la siguiente llamada API y proporcione un nombre para mostrar en el cuerpo del JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom OIDC App"
}
Desde la llamada API, capture el id. de aplicación y el id. de la entidad de servicio que se van a usar en las siguientes llamadas API.
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/{Application Object ID}
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["[https://www.samlapp.com"],
"requiredResourceAccess": [
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182",
"type": "Scope"
},
{
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
"type": "Scope"
},
{
"id": "37f7f235-527c-4136-accd-4a02d197296e",
"type": "Scope"
}]
}]
}
Nota
Los permisos de API del nodo resourceAccess
conceden a la aplicación los permisos openid, User.Read y offline_access, que habilitan el inicio de sesión. Consulte Información general sobre los permisos de Microsoft Graph.
Aplicación de directivas de acceso condicional
Los clientes y asociados pueden usar Microsoft Graph API para crear o aplicar Directivas de acceso condicional por aplicación. Para los asociados, los clientes pueden aplicar estas directivas desde la solución, sin necesidad de usar el centro de administración de Microsoft Entra. Hay dos opciones para aplicar directivas de acceso condicional de Microsoft Entra:
- Asignación de la aplicación a una directiva de acceso condicional
- Crear una nueva directiva de acceso condicional y asignarle la aplicación.
Use una directiva de acceso condicional
Para obtener una lista de las directivas de acceso condicional, ejecute la consulta siguiente. Obtenga el id. de objeto de directiva para modificar.
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies
Para revisar la directiva, incluya el identificador de objeto de la aplicación en el ámbito de includeApplications
en el cuerpo de JSON:
Authorization: Required with a valid Bearer token
Method: PATCH
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/{policyid}
{
"displayName":"Existing Conditional Access Policy",
"state":"enabled",
"conditions":
{
"applications":
{
"includeApplications":[
"00000003-0000-0ff1-ce00-000000000000",
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls":
{
"operator":"OR",
"builtInControls":[
"mfa"
]
}
}
Creación de una directiva de acceso condicional
Agregue el identificador de objeto de la aplicación en el ámbito de includeApplications
en el cuerpo de JSON:
Authorization: Required with a valid Bearer token
Method: POST
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/
{
"displayName":"New Conditional Access Policy",
"state":"enabled",
"conditions":
{
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"mfa"
]
}
}
#Policy Template for Requiring Compliant Device
{
"displayName":"Enforce Compliant Device",
"state":"enabled",
"conditions": {
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"compliantDevice",
"domainJoinedDevice"
]
}
}
#Policy Template for Block
{
"displayName":"Block",
"state":"enabled",
"conditions": {
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"block"
]
}
}
Automatización del consentimiento del administrador
Si el cliente agrega aplicaciones de la solución a Microsoft Entra ID, puede automatizar el consentimiento del administrador con Microsoft Graph. Necesita el id. del objeto de entidad de servicio de la aplicación que creó en las llamadas API y el identificador del objeto de entidad de servicio de Microsoft Graph del inquilino externo.
Para obtener el Microsoft Graph de objeto de entidad de servicio al realizar esta llamada API:
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/serviceprincipals/?$filter=appid eq '00000003-0000-0000-c000-000000000000'&$select=id,appDisplayName
Para automatizar el consentimiento del administrador, realice la siguiente llamada API:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
"clientId":"{Service Principal Object ID of Application}",
"consentType":"AllPrincipals",
"principalId":null,
"resourceId":"{Service Principal Object ID Of Microsoft Graph}",
"scope":"openid user.read offline_access}"
}
Obtención del certificado de firma de tokens
Para obtener la parte pública del certificado de firma de tokens, use GET
desde el punto de conexión de metadatos de Microsoft Entra de la aplicación:
Method:GET
https://login.microsoftonline.com/{Tenant_ID}/federationmetadata/2007-06/federationmetadata.xml?appid={Application_ID}
Asignación de usuarios y grupos
Después de publicar la aplicación en Microsoft Entra ID, puede asignar la aplicación a usuarios y grupos para asegurarse de que aparece en el portal Mis aplicaciones. Esta asignación se almacena en el objeto de entidad de servicio generado al crear la aplicación. Consulte Introducción al portal Mis aplicaciones
Obtenga las AppRole
instancias de la aplicación podría haberse asociado a ella. Es habitual que las aplicaciones SaaS tengan varias instancias de AppRole
asociadas. Normalmente, en el caso de las aplicaciones personalizadas, hay una instancia predeterminada AppRole
. Obtenga el id. de la instancia de AppRole
que quiere asignar:
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
A partir de Microsoft Entra ID. de objeto, obtenga el identificador de objeto de usuario o grupo que quiere asignar a la aplicación. Tome el identificador de rol de aplicación de la llamada API anterior y envíelo con el cuerpo de PATCH en la entidad de servicio:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"principalId":"{Principal Object ID of User -or- Group}",
"resourceId":"{Service Principal Object ID}",
"appRoleId":"{App Role ID}"
}
Colaboraciones
Para ayudar a proteger las aplicaciones heredadas al usar controladores de red y entrega, Microsoft tiene asociaciones con los siguientes proveedores del controlador de entrega de aplicaciones (ADC).
- Akamai Enterprise Application Access
- Citrix ADC
- F5 BIG-IP Access Policy Manager
- Kemp LoadMaster
- Pulse Secure Virtual Traffic Manager
Los siguientes proveedores de soluciones VPN se conectan con Microsoft Entra ID para habilitar métodos de autenticación y autorización modernos, como SSO y la autenticación multifactor.
- Cisco Secure Firewall - Secure Client
- Fortinet FortiGate
- F5 BIG-IP Access Policy Manager
- Palo Alto Networks GlobalProtect
- Pulse Connect Secure
Los siguientes proveedores de soluciones de perímetro definido por software (SDP) se conectan con Microsoft Entra ID para sus métodos de autenticación y autorización, como SSO y MFA.
- Datawiza Access Broker
- Perimeter 81
- Silverfort Authentication Platform
- Strata Maverics Identity Orchestrator
- Zscaler Private Access