Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo proporciona una introducción a la configuración del comportamiento de autenticación de Microsoft Entra para usuarios federados mediante la directiva Detección del dominio de inicio (HRD). Se trata el uso del inicio de sesión de aceleración automática para omitir la pantalla de entrada con el nombre de usuario y reenviar automáticamente a los usuarios a los puntos de conexión de inicio de sesión federado. Para más información sobre la política de HRD, consulte el artículo Home Realm Discovery.
Requisitos previos
Para configurar la directiva de HRD para una aplicación en Microsoft Entra ID, necesita:
- Una cuenta de Azure con una suscripción activa. Si aún no tiene una, puede crear una cuenta de forma gratuita.
- El rol Administrador de aplicaciones
Inicio de sesión de aceleración automática
Algunas organizaciones configuran dominios en su inquilino de Microsoft Entra para federarlos con otro proveedor de identidades (IDP), como los Servicios de federación de Active Directory (AD FS), para la autenticación de usuarios. Cuando un usuario inicia sesión en una aplicación, en primer lugar se le muestra una página de inicio de sesión de Microsoft Entra. Una vez que escribe su nombre principal de usuario (UPN), si está en un dominio federado, se le redirige a la página de inicio de sesión del IdP que sirve a ese dominio. En determinadas circunstancias, es posible que los administradores quieran dirigir a los usuarios a la página de inicio de sesión cuando inician sesión en aplicaciones específicas. Como resultado, los usuarios pueden omitir la página inicial de Microsoft Entra ID. Este proceso se conoce como "aceleración automática de inicio de sesión".
Para los usuarios federados con credenciales habilitadas para la nube, como el inicio de sesión mediante el servicio de mensajes cortos (SMS) o las claves FIDO, debe evitar la aceleración automática del inicio de sesión. Consulte Deshabilitar el inicio de sesión de aceleración automática para obtener información sobre cómo evitar sugerencias de dominio con HRD.
Importante
A partir de abril de 2023, las organizaciones que usan la aceleración automática o smartlinks podrían empezar a ver una nueva pantalla agregada a la interfaz de usuario de inicio de sesión. Esta pantalla, que se denomina diálogo de confirmación del dominio, forma parte del compromiso general de Microsoft con la protección de la seguridad y requiere que el usuario confirme el dominio del inquilino en el que inicia sesión. Si ve el diálogo de confirmación del dominio y no reconoce el dominio de inquilino que aparece, debe cancelar el flujo de autenticación y ponerse en contacto con el administrador de TI.
Para obtener más información, visite El cuadro de diálogo de confirmación del dominio.
Configuración de una directiva de HRD mediante Microsoft Graph PowerShell
Usamos cmdlets de PowerShell de Microsoft Graph para examinar varios escenarios, entre los que se incluyen:
- Configure la directiva HRD para la aceleración automática de una aplicación en un inquilino con un dominio federado único.
- La configuración de la directiva HRD para la aceleración automática de una aplicación en uno de varios dominios que se verifican en el inquilino.
- Configuración de la directiva HRD para permitir que una aplicación heredada realice la autenticación directa de nombre de usuario/contraseña en Microsoft Entra ID para un usuario federado.
- Enumerar las aplicaciones para las que se configura una directiva.
En los ejemplos siguientes, podrá crear, actualizar, vincular y eliminar directivas de HRD en las entidades de servicio de la aplicación en Microsoft Entra ID.
Antes de empezar, ejecute el comando Conectar para iniciar sesión en el identificador de Microsoft Entra con al menos el rol Administrador de aplicaciones :
connect-MgGraph -scopes "Policy.Read.All"Ejecute el siguiente comando para ver todas las directivas de la organización:
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Si no se devuelve nada, significa que no tiene directivas creadas en el inquilino.
Creación de una directiva de HRD mediante Microsoft Graph PowerShell
En este ejemplo, creará una directiva que, cuando la asigna a una aplicación:
- Acelera automáticamente a los usuarios a la pantalla de inicio de sesión de un proveedor de identidades federado cuando los usuarios inician sesión en una aplicación y hay un único dominio en su inquilino.
- Acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado si hay más de un dominio federado en su inquilino.
- Habilita el inicio de sesión no interactivo con nombre de usuario/contraseña directamente en Microsoft Entra ID para usuarios federados para las aplicaciones a las que se asigna la directiva.
La siguiente directiva acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado cuando estos inician sesión en una aplicación y cuando hay un solo dominio en su inquilino.
Ejecute el comando Conectar para iniciar sesión en Microsoft Entra ID con al menos el rol Administrador de aplicaciones :
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"Ejecute el siguiente comando para crear una nueva directiva de HRD:
# Define the parameters for the policy $params = @{ definition = @( '{"HomeRealmDiscoveryPolicy":{ "AccelerateToFederatedDomain":true, } }' ) displayName = "BasicAutoAccelerationPolicy" isOrganizationDefault = $true } # Create a new Home Realm Discovery Policy New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
La siguiente directiva acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado cuando hay más de un dominio federado en su inquilino. Si tiene más de un dominio federado que autentica a los usuarios para las aplicaciones, es necesario especificar el dominio para la aceleración automática.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AccelerateToFederatedDomain":true,
"PreferredDomain":"federated.example.edu"
}}'
)
displayName = "MultiDomainAutoAccelerationPolicy"
isOrganizationDefault = $true
}
# Create the new policy
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
La siguiente directiva habilita la autenticación de nombre de usuario y contraseña para los usuarios federados directamente con Microsoft Entra ID para aplicaciones específicas:
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AllowCloudPasswordValidation":true
}
}'
)
displayName = "EnableDirectAuthPolicy"
}
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
Para ver la nueva directiva y obtener su ObjectID, ejecute el siguiente comando:
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Para aplicar la directiva de HRD después de crearla, puede asignarla a varias entidades de servicio.
Busque el principal de servicio para asignar la directiva mediante Microsoft Graph PowerShell
Para ello, necesita el valor de ObjectID de las entidades de servicio a las que quiere asignar la directiva. Hay varias maneras de encontrar el ObjectID de los servicios principales.
Puede usar el Centro de administración de Microsoft Entra. Con esta opción:
- Vaya a Entra ID>Aplicaciones empresariales>Todas las aplicaciones.
- Escriba el nombre de la aplicación existente en el cuadro de búsqueda y seleccione la aplicación existente en los resultados de la búsqueda. Copie el identificador de objeto de la aplicación.
Dado que usa Microsoft Graph PowerShell, ejecute el siguiente cmdlet para enumerar las entidades de servicio y sus identificadores.
connect-MgGraph -scopes "Application.Read.All"
Get-MgServicePrincipal
Asignar la directiva al principal del servicio usando Microsoft Graph PowerShell
Después de tener el ObjectID de la entidad de servicio de la aplicación para la que desea configurar la aceleración automática, ejecute el siguiente comando. Este comando asocia la directiva HRD que creó con la entidad de servicio que buscó en las secciones anteriores.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration", "Application.ReadWrite.All"
# Define the parameters for the New-MgServicePrincipalHomeRealmDiscoveryPolicy cmdlet
$assignParams = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>"
}
New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -BodyParameter $assignParams
Puede repetir este comando para cada entidad de servicio a la que quiera agregar la directiva.
En el caso de que una aplicación ya tenga asignada una directiva de detección de dominio de inicio, no puede agregar una segunda. En ese caso, cambie la definición de la directiva de detección del HRD que está asignada a la aplicación para agregar parámetros adicionales.
Comprobación de las entidades de servicio a las que se asigna la directiva de HRD mediante Microsoft Graph PowerShell
Ejecute el siguiente comando para enumerar las entidades de servicio a las que se asigna la directiva:
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>"
# Replace with the actual ObjectId of the Policy
Asegúrese de probar la experiencia de inicio de sesión de la aplicación para comprobar que la nueva directiva funciona.
Configuración de una directiva de HRD mediante Microsoft Graph
Usamos llamadas api de Microsoft Graph para recorrer algunos escenarios, entre los que se incluyen:
Configure la directiva HRD para la aceleración automática de una aplicación en un inquilino con un dominio federado único.
La configuración de la directiva HRD para la aceleración automática de una aplicación en uno de varios dominios que se verifican en el inquilino.
Configuración de la directiva HRD para permitir que una aplicación heredada realice la autenticación directa de nombre de usuario/contraseña en Microsoft Entra ID para un usuario federado.
Enumerar las aplicaciones para las que se configura una directiva.
En los ejemplos siguientes, podrá crear, actualizar, vincular y eliminar directivas de HRD en las entidades de servicio de la aplicación en Microsoft Entra ID.
Antes de empezar, acceda a la ventana del Explorador de Microsoft Graph.
Inicie sesión con al menos el rol Administrador de aplicaciones.
Conceda el consentimiento al permiso
Policy.Read.All.Ejecute la siguiente llamada API para ver todas las directivas de la organización:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Si no se devuelve nada, significa que no tiene directivas creadas en el inquilino.
Creación de una directiva de HRD mediante Microsoft Graph
En este ejemplo, creará una directiva que, cuando la asigna a una aplicación:
- Acelera automáticamente a los usuarios a la pantalla de inicio de sesión de un proveedor de identidades federado cuando los usuarios inician sesión en una aplicación y hay un único dominio en su inquilino.
- Acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado si hay más de un dominio federado en su inquilino.
- Habilita el inicio de sesión no interactivo con nombre de usuario/contraseña directamente en Microsoft Entra ID para usuarios federados para las aplicaciones a las que se asigna la directiva.
La siguiente directiva acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado cuando estos inician sesión en una aplicación y cuando hay un solo dominio en su inquilino.
Desde la ventana del explorador de Microsoft Graph:
Inicie sesión con al menos el rol Administrador de aplicaciones.
Conceda el consentimiento al permiso
Policy.ReadWrite.ApplicationConfiguration.Publique la nueva directiva o una revisión para actualizar la directiva existente.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true}}" ], "displayName": "BasicAutoAccelerationPolicy", "isOrganizationDefault": true }
La siguiente directiva acelera automáticamente a los usuarios a una pantalla de inicio de sesión del proveedor de identidades federado cuando hay más de un dominio federado en su inquilino. Si tiene más de un dominio federado que autentica a los usuarios para las aplicaciones, es necesario especificar el dominio para la aceleración automática.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true,\"PreferredDomain\":\"federated.example.edu\"}}"
],
"displayName": "MultiDomainAutoAccelerationPolicy",
"isOrganizationDefault": true
}
La siguiente directiva habilita la autenticación de nombre de usuario y contraseña para los usuarios federados directamente con Microsoft Entra ID para aplicaciones específicas:
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AllowCloudPasswordValidation\":true}}"
],
"displayName": "EnableDirectAuthPolicy"
}
Para ver la nueva directiva y obtener su ObjectID, ejecute la siguiente llamada API:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Para aplicar la directiva de HRD después de crearla, puede asignarla a varias entidades de servicio.
Búsqueda de la entidad de servicio para asignar la directiva mediante Microsoft Graph
Para ello, necesita el valor de ObjectID de las entidades de servicio a las que quiere asignar la directiva. Hay varias maneras de encontrar el ObjectID de los servicios principales.
Puede usar el Centro de administración de Microsoft Entra. Con esta opción:
Vaya a Entra ID>Aplicaciones empresariales>Todas las aplicaciones.
Escriba el nombre de la aplicación existente en el cuadro de búsqueda y seleccione la aplicación existente en los resultados de la búsqueda. Copie el identificador de objeto de la aplicación.
Dado que usa el Explorador de Microsoft Graph, ejecute la siguiente solicitud para enumerar las entidades de servicio y sus identificadores.
GET https://graph.microsoft.com/v1.0/servicePrincipals
Asignación de la directiva a una entidad de servicio mediante Microsoft Graph
Una vez tenga el valor de ObjectID de la entidad de servicio de la aplicación para la que quiere configurar la aceleración automática, ejecute la siguiente llamada API. Esta llamada API asocia la directiva de HRD que creó con la entidad de servicio que se encuentra en las secciones anteriores.
Asegúrese de dar su consentimiento al permiso Application.ReadWrite.All.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}"
}
Puede repetir esta llamada a la API para cada entidad de servicio a la que desea agregar la política.
En el caso de que una aplicación ya tenga asignada una directiva de detección de dominio de inicio, no puede agregar una segunda. En ese caso, cambie la definición de la directiva de detección del HRD que está asignada a la aplicación para agregar parámetros adicionales.
Comprobar las entidades de servicio a las que está asignada la directiva de HRD mediante Microsoft Graph
Ejecute la siguiente llamada API para enumerar las entidades de servicio a las que se asigna la directiva:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}/appliesTo
Asegúrese de probar la experiencia de inicio de sesión de la aplicación para comprobar que la nueva directiva funciona.
Eliminación de una directiva de HRD de una aplicación mediante Microsoft Graph PowerShell
Obtenga el ObjectID de la directiva.
Utilice el ejemplo anterior para obtener el ObjectID de la directiva y el del principal del servicio de la aplicación del que desea quitarlo.
Quite la asignación de directiva de la entidad de servicio de la aplicación
Remove-MgServicePrincipalHomeRealmDiscoveryPolicyHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyIdCompruebe que se eliminó correctamente; para ello, enumere las entidades de servicio a las que se asignó la directiva
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Eliminación de la directiva de HRD mediante Microsoft Graph PowerShell
Para eliminar la directiva de HRD que creó, ejecute el siguiente comando:
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Eliminación de una directiva de HRD de una aplicación mediante Microsoft Graph
Obtenga el ObjectID de la directiva.
Utilice el ejemplo anterior para obtener el ObjectID de la directiva y el del principal del servicio de la aplicación del que desea quitarlo.
Quite la asignación de directiva de la entidad de servicio de la aplicación
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/{policyId}/$refCompruebe que se eliminó correctamente; para ello, enumere las entidades de servicio a las que se asignó la directiva
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>/appliesTo
Eliminación de la directiva de HRD mediante Microsoft Graph
Para eliminar la directiva de HRD que creó, ejecute la siguiente llamada API:
DELETE https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{id}