Uso de Passport en un entorno federado de Microsoft Entra ID (anteriormente Azure AD)

Nota: Microsoft Entra ID es el nuevo nombre de Azure AD (Azure Active Directory)

Al usar Passport en un entorno federado de Microsoft Entra ID, deberá crear una directiva de detección de dominios de inicio (HRD) en Entra ID mediante PowerShell. Una política de HRD permite a Passport utilizar Entra ID como fuente de verdad para autenticar a los usuarios al implementar Passport en un entorno federado en el que Entra ID actúa como proveedor de servicios (SP) federado con un proveedor de identidad (IdP) externo.

Antes de empezar

Asegúrese de que:

  • Tiene una cuenta de Azure con una suscripción activa. Si aún no tienes una, puedes crear una cuenta gratis aquí.

  • Tiene acceso a un usuario de Azure con uno de los siguientes roles: Administrador global, Administrador de aplicaciones en la nube, Administrador de aplicaciones o propietario de la entidad de servicio.

  • Tiene un equipo Windows o Windows Server (puede ser virtual) con la versión preliminar del cmdlet de PowerShell de Azure AD más reciente instalada.

  • El proveedor de identidades federadas ya está sincronizando tanto las contraseñas de los usuarios como las de los usuarios.

    •  En una configuración híbrida de Azure AD y Active Directory, la sincronización de hash de contraseñas debe estar habilitada entre Azure AD y Active Directory mediante Microsoft Entra Connect Sync.

    • En un escenario de IdP en la nube, asegúrese de que tanto los nombres de usuario como las contraseñas estén sincronizados desde el IdP federado.

  • Ya ha creado la aplicación Kandji Passport Enterprise en Entra ID, según las instrucciones de este artículo de soporte.

  • Ha creado el elemento de la biblioteca de pasaportes en Kandji utilizando este artículo de soporte.

Flujo de autenticación en un entorno federado

El siguiente diagrama muestra el flujo de autenticación de Passport cuando Entra ID actúa como un proveedor de servicios (SP) federado con otro proveedor de identidad (IdP).

Cuando un usuario intenta autenticarse a través de Passport, la solicitud tiene el siguiente aspecto:

  1. Passport envía una solicitud de autenticación a Azure AD.

  2. Azure AD reenvía la solicitud de autenticación al IdP federado.

  3. El IdP valida la solicitud de autenticación y la devuelve a Azure AD.

  4. Azure AD recibe la validación, pero no tiene ningún motivo para reenviarla a Passport, momento en el que se produce un error en el intento de autenticación del usuario y se entrega un error a Passport.

 

Flujo de autenticación con HRD configurado

En el diagrama siguiente se muestra el flujo de autenticación de Passport con una directiva de detección de dominios de inicio de Azure AD. Cuando un usuario intenta autenticarse a través de Passport, la solicitud tiene el siguiente aspecto: 

  1. Passport envía una solicitud de autenticación a Azure AD.

  2. Entra ID valida la solicitud de autenticación mediante la política de HRD y responde a Passport con una respuesta de autenticación de usuario correcta.

Crear una política de desarrollo de recursos humanos

  1. Vaya a la computadora con Windows.

  2. Abra PowerShell como administrador.

  3. Conéctese a su inquilino de Enra ID con el comando Connect-AzureAD. Se abrirá una vista web, en la que se le pedirá que introduzca sus credenciales de ID de Entra.

  4. Cree una nueva política con el siguiente comando. Esto permitirá a los usuarios autenticarse en una aplicación específica directamente con Entra ID con su nombre de usuario y contraseña en un entorno federado. Si tiene directivas de HRD existentes en su entorno, puede establecer DisplayName en algo como KandjiHRDPolicy.

    New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName KandjiHRDPolicy -Type HomeRealmDiscoveryPolicy
  5. Ejecute el comando Get-AzureADPolicy para enumerar la directiva que acaba de crear y copie la cadena ObjectID que aparece en la columna ID de la salida.

  6. Ejecute el comando Get-AzureADServicePrincipal para obtener el ObjectID de la entidad de servicio (aplicación empresarial de Azure).

    1. Si conoce el nombre de la aplicación empresarial, puede agregar el your_app_name_here -SearchString al comando anterior. Ejemplo: Get-AzureADServicePrincipal -SearchString "Kandji Passport"

  7. Ejecute el siguiente comando para agregar la aplicación Kandji Passport Enterprise a la política de HRD. Reemplace <ObjectID de la entidad de servicio> por el ObjectIDde la aplicación empresarial de Kandji copiado anteriormente. Reemplace <ObjectId de la directiva> por el ObjectIDde HDR copiado anteriormente.

    Add-AzureADServicePrincipalPolicy -Id <ObjectID of the Service Principal> -RefObjectId <ObjectId of the Policy>
    1. Si no crea la política correcta, puede usar el siguiente comando para quitarla y volver a intentarlo.

      Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal> -PolicyId <ObjectId of the policy>
  8. Compruebe las aplicaciones asignadas con Get-AzureADPolicyAppliedObject -id <ObjectId de la directiva>.

  9. Para desconectar la sesión de PowerShell de Azure, use el comando Disconnect-AzureAD.