Compartir a través de


Configuración de la autenticación basada en certificados de Microsoft Entra

La autenticación basada en certificados (CBA) de Microsoft Entra permite a las organizaciones configurar sus inquilinos de Microsoft Entra para permitir o requerir que los usuarios se autentiquen con certificados X.509 creados en su infraestructura de clave pública (PKI) empresarial para el inicio de sesión en aplicaciones y exploradores. Esta característica permite a los clientes adoptar una moderna autenticación sin contraseña y con protección ante suplantación de identidad (phishing) mediante un certificado x.509.

Durante el inicio de sesión, los usuarios también ven una opción para autenticarse con un certificado en lugar de escribir una contraseña. Si hay varios certificados que coincidan en el dispositivo, el usuario puede elegir cuál usar. El certificado se valida junto con la cuenta de usuario y, si el proceso es un éxito, se iniciará sesión.

Siga estas instrucciones para configurar y usar la CBA de Microsoft Entra para inquilinos en planes de Office 365 Enterprise y del gobierno de los Estados Unidos. Ya debe tener configurada una infraestructura de clave pública (PKI).

Requisitos previos

Asegúrese de que se cumplan los siguientes requisitos previos:

  • Configure al menos una entidad de certificación (CA) y las CA intermedias en Microsoft Entra ID.
  • El usuario debe tener acceso a un certificado de usuario (emitido desde una infraestructura de clave pública de confianza configurada en el inquilino) diseñado para que la autenticación del cliente se autentique en Microsoft Entra ID.
  • Cada CA debe tener una lista de revocación de certificados (CRL) a la que se pueda hacer referencia desde direcciones URL con conexión a Internet. Si la entidad de certificación de confianza no tiene configurada una CRL, Microsoft Entra ID no realiza ninguna comprobación de CRL, la revocación de certificados de usuario no funciona y la autenticación no se bloquea.

Importante

Asegúrese de que la PKI es segura y no se pueda ver comprometida fácilmente. En el caso de que se vea comprometida, el atacante puede crear y firmar certificados de cliente y poner en peligro a cualquier usuario del inquilino, tanto a aquellos sincronizados en el entorno local, como a los que están solo en la nube. Sin embargo, una estrategia de protección de claves seguras, junto con otros controles físicos y lógicos, como tarjetas de activación de HSM o tokens para el almacenamiento seguro de artefactos, puede proporcionar una defensa en profundidad para evitar que atacantes externos o amenazas internas comprometan la integridad de la PKI. Para obtener más información, consulte Protección de PKI.

Importante

Visite las recomendaciones de Microsoft para conocer los procedimientos recomendados para Microsoft Cryptographic que implican la elección del algoritmo, la longitud de clave y la protección de datos. Asegúrese de usar uno de los algoritmos recomendados, la longitud de clave y las curvas aprobadas por NIST.

Importante

Como parte de las mejoras de seguridad en curso, los puntos de conexión de Azure/M365 agregan compatibilidad con TLS1.3 y se espera que este proceso tarde unos meses en cubrir los miles de puntos de conexión de servicio en Azure/M365. Esto incluye el punto de conexión de Microsoft Entra usado por la autenticación basada en certificados de Microsoft Entra (CBA) *.certauth.login.microsoftonline.com y *.certauth.login.microsoftonline.us. TLS 1.3 es la versión más reciente del protocolo de seguridad más implementado de Internet, que cifra los datos para proporcionar un canal de comunicación seguro entre dos puntos de conexión. TLS 1.3 elimina los algoritmos criptográficos obsoletos, mejora la seguridad de las versiones anteriores y tiene como objetivo cifrar la mayor parte del protocolo de enlace posible. Se recomienda encarecidamente que los desarrolladores empiecen a probar TLS 1.3 en sus aplicaciones y servicios.

Nota:

Al evaluar una PKI, es importante revisar las directivas de emisión de certificados y aplicación. Como se mencionó antes, agregar entidades de certificación (CA) a la configuración de Microsoft Entra permite que los certificados emitidos por dichas CA autentiquen a cualquier usuario de Microsoft Entra ID. Por este motivo, es importante tener en cuenta cómo y cuándo pueden emitir certificados las CA y cómo implementan identificadores reutilizables. Cuando los administradores necesitan asegurarse de que solo se pueda usar un certificado específico para autenticar a un usuario, los administradores deben usar exclusivamente enlaces de alta afinidad para lograr un mayor nivel de garantía que permita que solo un certificado específico pueda autenticar al usuario. Para obtener más información, consulte:enlaces de alta afinidad.

Pasos para configurar y probar la CBA de Microsoft Entra

Es necesario realizar algunos pasos de configuración antes de habilitar la CBA de Microsoft Entra. En primer lugar, un administrador debe configurar las CA de confianza que emiten certificados de usuario. Como se muestra en el diagrama siguiente, usamos el control de acceso basado en rol para asegurarnos de que solo los administradores con privilegios mínimos realicen cambios.

Se necesita un administrador global para administrar esta función.

Opcionalmente, también puede configurar enlaces de autenticación para asignar certificados a una autenticación de factor único o multifactor, y configurar enlaces de nombre de usuario para asignar el campo de certificado a un atributo del objeto de usuario. Los administradores de directivas de autenticación pueden configurar las opciones relacionadas con el usuario. Una vez completadas todas las configuraciones, habilite la CBA de Microsoft Entra en el inquilino.

Diagrama de los pasos necesarios para habilitar la autenticación basada en certificados de Microsoft Entra.

Paso 1: Configurar las entidades de certificación con el almacén de confianza basado en PKI (versión preliminar)

Entra tiene un nuevo almacén de confianza de entidades de certificación (CA) basadas en la infraestructura de clave pública (PKI). El almacén de confianza de CA basado en PKI mantiene las CA dentro de un objeto contenedor para cada PKI diferente. Los administradores pueden administrar CA en un contenedor basado en PKI más fácilmente que una lista plana de CA.

El almacén de confianza basado en PKI tiene límites más altos para el número de CA y el tamaño de cada archivo de CA. Un almacén de confianza basado en PKI admite hasta 250 CA y tamaño de 8 KB para cada objeto de CA. Se recomienda encarecidamente usar el nuevo almacén de confianza basado en PKI para almacenar CA, que es escalable y admite nuevas funcionalidades, como sugerencias del emisor.

Nota:

Si usa el almacén de confianza anterior para configurar CA, se recomienda configurar un almacén de confianza basado en PKI.

Un administrador debe configurar las CA de confianza que emiten certificados de usuario. Solo se necesitan administradores con privilegios mínimos para realizar cambios. Un almacén de confianza basado en PKI tiene los roles de RBAC Administrador de autenticación con privilegios y Administrador de autenticación.

La característica Cargar PKI del almacén de confianza basado en PKI solo está disponible con la licencia de Microsoft Entra ID P1 o P2. Sin embargo, con licencia gratuita también, los administradores pueden cargar todas las CA individualmente en lugar del archivo PKI y configurar el almacén de confianza basado en PKI.

Importante

Debido a un problema conocido con el nuevo almacén, se recomienda no eliminar todas las CAs en el almacén anterior y conservar al menos una CA en el almacén anterior. Estamos trabajando para corregir el problema para quitar la limitación.

Configuración de entidades de certificación mediante el Centro de administración de Microsoft Entra

Creación de un objeto de contenedor PKI

  1. Cree un objeto de contenedor PKI.

  2. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de directivas de autenticación.

  3. Vaya a Protección>Mostrar más>Security Center (o Puntuación de seguridad de la identidad) >infraestructura de clave pública (versión preliminar).

  4. Haga clic en + Crear PKI.

  5. Escriba el Nombre para mostrar.

  6. Haga clic en Crear.

    Diagrama de los pasos necesarios para crear una PKI.

  7. Seleccione Columnas para agregar o eliminar columnas.

  8. Seleccione Actualizar para actualizar la lista de PKI.

Eliminación de un objeto contenedor PKI

  1. Para eliminar una PKI, seleccione la PKI y seleccione Eliminar. Si la PKI tiene CA en ella, escriba el nombre de la PKI para confirmar la eliminación de todas las CA dentro de ella y seleccione Eliminar.

    Diagrama de los pasos necesarios para eliminar una PKI.

Carga de CA individuales en un objeto contenedor PKI

  1. Para cargar una CA en el contenedor PKI:
    1. Haga clic en + Agregar entidad de certificación.

    2. Seleccione el archivo de CA.

    3. Seleccione si la entidad de certificación es un certificado raíz; de lo contrario, seleccione No.

    4. Para Dirección URL de lista de revocación de certificados, establezca la dirección URL accesible desde Internet para la CRL base de CA que contiene todos los certificados revocados. Si no se establece la dirección URL, no se producirá un error en la autenticación con certificados revocados.

    5. Para Dirección URL de lista de revocación de certificados Delta, establezca la dirección URL accesible desde Internet para la CRL que contiene todos los certificados revocados desde que se ha publicado la última CRL base.

    6. La marca Sugerencias del emisor está habilitada de forma predeterminada. Desactive Sugerencias del emisor si la CA no debe incluirse en las sugerencias del emisor.

    7. Seleccione Guardar.

    8. Para eliminar un certificado de una CA, seleccione el certificado y seleccione Eliminar.

      Diagrama de cómo eliminar un certificado de entidad de certificación.

    9. Seleccione Columnas para agregar o eliminar columnas.

    10. Seleccione Actualizar para actualizar la lista de CA.

Carga de todas las CA con la carga de PKI en el objeto contenedor PKI

  1. Para cargar todas las CA a la vez en el contenedor PKI:

    1. Cree un objeto de contenedor PKI o abra uno.
    2. Seleccione Cargar PKI.
    3. Introduzca la dirección URL HTTP de Internet en la que está disponible el archivo .p7b.
    4. Escriba la suma de comprobación SHA256 del archivo.
    5. Seleccione la carga.
    6. La carga de PKI es un proceso asincrónico. A medida que se carga cada entidad de certificación, está disponible en la PKI. La finalización de la carga de PKI puede tardar hasta 30 minutos.
    7. Seleccione Actualizar para actualizar las CA.

    Para generar la suma de comprobación SHA256 del archivo .p7b PKI, ejecute este comando:

    Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256
    

Edición de una PKI

  1. Para editar una PKI, seleccione ... en la fila de PKI y seleccione Editar.
  2. Escriba un nuevo nombre de PKI y seleccione Guardar.

Edición de una CA

  1. Para editar una CA, seleccione ... en la fila de CA y seleccione Editar.
  2. Introduzca nuevos valores para Tipo de CA (raíz/intermedio), dirección URL de CRL, dirección URL de CRL Delta, marca Sugerencias del emisor activadas según sea necesario y seleccione Guardar.

Restauración de una PKI

  1. Seleccione la pestaña PKI eliminadas.
  2. Seleccione la PKI y seleccione Restaurar PKI.

Restauración de una CA

  1. Seleccione la pestaña CA eliminadas.
  2. Seleccione el archivo de CA y seleccione Restaurar entidad de certificación.

Descripción del atributo isIssuerHintEnabled en CA

Las sugerencias del emisor envían una indicación de CA de confianza como parte del protocolo de enlace de seguridad de la capa de transporte (TLS). La lista de CA de confianza se establece según el sujeto de las CA cargadas por el inquilino en el almacén de confianza Entra. Para obtener más información sobre las sugerencias del emisor, consulte Descripción de las sugerencias del emisor.

De forma predeterminada, los nombres de firmante de todas las CA del almacén de confianza de Microsoft Entra se envían como sugerencias. Si desea devolver una sugerencia solo con CA específicas, establezca el atributo de sugerencia del emisor isIssuerHintEnabled en true.

Hay un límite de caracteres de 16 KB para las sugerencias del emisor (nombre de firmante de la CA) que el servidor puede devolver al cliente TLS. Como procedimiento recomendado, establezca el atributo isIssuerHintEnabled true solo para las CA que emiten certificados de usuario.

Si varias CA intermedias del mismo certificado raíz emiten los certificados de usuario final, de forma predeterminada todos los certificados aparecen en el selector de certificados. Pero si establece isIssuerHintEnabled en true para CA específicas, solo los certificados de usuario adecuados aparecen en el selector de certificados. Para habilitar isIssuerHintEnabled, edite la CA y actualice el valor a true.

Configuración de entidades de certificación mediante las API de Microsoft Graph

Las API de Microsoft Graph se pueden usar para configurar CA. En los ejemplos siguientes se muestra cómo usar Microsoft Graph para ejecutar operaciones de creación, lectura, actualización o eliminación (CRUD) para una PKI o CA.

Creación de un objeto de contenedor PKI

PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/
Content-Type: application/json
{
   "displayName": "ContosoPKI"
}

Obtener todos los objetos PKI

GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations
ConsistencyLevel: eventual

Obtención del objeto PKI por PKI-id

GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{PKI-id}/
ConsistencyLevel: eventual

Carga de CA con un archivo .p7b

PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
Content-Type: application/json
{
    	"uploadUrl":"https://CBA/demo/CBARootPKI.p7b,
    	"sha256FileHash": "AAAAAAD7F909EC2688567DE4B4B0C404443140D128FE14C577C5E0873F68C0FE861E6F"
}

Obtención de todas las CA en una PKI

GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{PKI-id}/certificateAuthorities
ConsistencyLevel: eventual

Obtención de una entidad de certificación específica dentro de una PKI por CA-id

GET https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
ConsistencyLevel: eventual

Actualización de la marca de sugerencias del emisor de entidad de certificación específica

PATCH https://graph.microsoft.com/beta/directory/publicKeyInfrastructure/certificateBasedAuthConfigurations/{PKI-id}/certificateAuthorities/{CA-id}
Content-Type: application/json
{
   "isIssuerHintEnabled": true
}

Configure entidades de certificación (CA) mediante PowerShell Para esta configuración, puede usar [Microsoft Graph PowerShell] (/powershell/microsoftgraph/installation).

  1. Inicie PowerShell con privilegios de administrador.

  2. Instale e importe el SDK de PowerShell para Microsoft Graph.

    Install-Module Microsoft.Graph -Scope AllUsers
    Import-Module Microsoft.Graph.Authentication
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  3. Conéctese al inquilino y acepte todo.

       Connect-MGGraph -Scopes "Directory.ReadWrite.All", "User.ReadWrite.All" -TenantId <tenantId>
    

Registro de auditoría

Todas las operaciones CRUD en una PKI o CA dentro del almacén de confianza se registran en los registros de auditoría de Microsoft Entra.

Diagrama de registros de auditoría.

Preguntas más frecuentes

Pregunta: ¿Por qué se produce un error en la carga de PKI?

Respuesta: compruebe si el archivo PKI es válido y se puede acceder sin problemas. El tamaño máximo del archivo PKI debe ser

Pregunta: ¿Cuál es el acuerdo de nivel de servicio (SLA) para la carga de PKI?

Respuesta: la carga de PKI es una operación asincrónica y puede tardar hasta 30 minutos en completarse.

Pregunta: ¿Cómo se genera la suma de comprobación SHA256 para el archivo PKI?

Respuesta: para generar la suma de comprobación SHA256 del archivo .p7b PKI, ejecute este comando:

Get-FileHash .\CBARootPKI.p7b -Algorithm SHA256

Paso 2: Habilitación de CBA en el inquilino

Importante

Se considera a un usuario apto para la MFA cuando está en el ámbito de la autenticación basada en certificados en la directiva de métodos de autenticación. Este requisito de directiva significa que un usuario no puede realizar pruebas como parte de su autenticación para registrar otros métodos disponibles. Si los usuarios no tienen acceso a los certificados, se bloquean y no pueden registrar otros métodos para la MFA. Los administradores de directivas de autenticación solo deben habilitar CBA para los usuarios que tienen certificados válidos. No incluya Todos los usuarios para CBA. Use solo grupos de usuarios con certificados válidos disponibles. Para más información, vea Autenticación multifactor de Microsoft Entra.

Para habilitar CBA en el Centro de administración de Microsoft Entra, complete los pasos siguientes:

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de directivas de autenticación como mínimo.

  2. Vaya a Grupos>Todos los grupos> seleccione Nuevo grupo y cree un grupo para los usuarios de CBA.

  3. Vaya a Protección>Métodos de autenticación>Autenticación basada en certificados.

  4. En Habilitar y destino, seleccione Habilitar.

  5. Seleccione Agregar grupos para seleccionar grupos específicos como el que creó. Use grupos específicos en lugar de Todos los usuarios.

    Captura de pantalla de cómo habilitar la CBA.

Una vez habilitada la autenticación basada en certificados en el inquilino, todos los usuarios del inquilino verán la opción de iniciar sesión con un certificado. Solo los usuarios habilitados para CBA pueden autenticarse mediante el certificado X.509.

Nota:

El administrador de red debe permitir el acceso al punto de conexión de autorización con certificado del entorno en la nube del cliente, además de a login.microsoftonline.com. Deshabilite la inspección de TLS en el punto de conexión de autorización con certificado para asegurarse de que la solicitud de certificado de cliente se realice correctamente como parte del protocolo de enlace de TLS.

Paso 3: Configurar la directiva de enlace de autenticación

La directiva de enlace de autenticación ayuda a determinar la solidez de la autenticación en un factor único o multifactor. El nivel de protección predeterminado para los certificados del inquilino es de autenticación de un solo factor.

Un administrador de directivas de autenticación puede cambiar el valor predeterminado de factor único a multifactor y configurar reglas de directiva personalizadas. Las reglas de enlace de autenticación asignan atributos de certificado, como Emisor o Identificador de objeto de directiva (OID) o Emisor y OID de directiva, a un valor y seleccionan el nivel de protección predeterminado para esa regla. Puede crear varias reglas.

Para modificar la configuración predeterminada del inquilino en el Centro de administración Microsoft Entra, complete los pasos siguientes:

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de directivas de autenticación como mínimo.

  2. Vaya a Protección>Métodos de autenticación>Directivas.

  3. En Administrar, seleccione Métodos de autenticación>Autenticación basada en certificados.

    Captura de pantalla de la directiva de autenticación.

  4. Seleccione Configurar para configurar el enlace de autenticación y el enlace de nombre de usuario.

  5. El atributo de nivel de protección tiene un valor predeterminado de Autenticación de factor único. Seleccione Autenticación multifactor para cambiar el valor predeterminado a MFA.

    Nota:

    El valor de nivel de protección predeterminado está vigente si no se agrega ninguna regla personalizada. Si se agregan reglas personalizadas, se respeta en su lugar el nivel de protección definido en la regla.

    Captura de pantalla que explica cómo cambiar la directiva predeterminada a MFA.

  6. También puede configurar reglas de enlace de autenticación personalizadas para ayudar a determinar el nivel de protección de los certificados del cliente. Se puede configurar mediante los campos Sujeto emisor u OID de directiva en el certificado.

    Las reglas de enlace de autenticación asignan los atributos del certificado (emisor u OID de directiva) a un valor y seleccionan el nivel de protección predeterminado para esa regla. Se pueden crear varias reglas.

    Para agregar reglas personalizadas, seleccione Agregar regla.

    Captura de pantalla que explica cómo agregar una regla.

    Para crear una regla por emisor del certificado, seleccione Emisor del certificado.

    1. Seleccione un Id. de emisor del certificado en el cuadro de lista.

    2. Seleccione Autenticación multifactor, Bajo enlace de afinidad y, después, haga clic en Agregar. Cuando se le solicite, haga clic en Acepto para terminar de añadir la regla.

      Captura de pantalla de la directiva de autenticación multifactor.

    Para crear una regla por OID de directiva, seleccione OID de directiva.

    1. Escriba un valor en OID de directiva.

    2. Seleccione Autenticación multifactor, Bajo enlace de afinidad y, después, haga clic en Agregar. Cuando se le solicite, haga clic en Acepto para terminar de añadir la regla.

      Captura de pantalla de la asignación a OID de directiva.

    Para crear una regla por emisor y OID de directiva:

    1. Seleccione Emisor de certificados y OID de directiva.

    2. Seleccione un emisor y escriba el OID de directiva.

    3. En Seguridad de la autenticación, seleccione Autenticación de factor único o Autenticación multifactor.

    4. En Enlace de afinidad, seleccione Bajo.

      Captura de pantalla de cómo seleccionar un enlace de afinidad bajo.

    5. Seleccione Agregar.

      Captura de pantalla de cómo agregar un enlace de afinidad bajo.

    6. Autentíquese con un certificado que tenga OID de directiva 3.4.5.6 y emitido por CN=CBATestRootProd. La autenticación debe pasar y obtener una notificación multifactor.

Importante

Hay un problema conocido por el que un administrador de directivas de autenticación de inquilinos de Microsoft Entra configura una regla de directiva de autenticación de CBA mediante OID de emisor y directiva. El problema afecta a algunos escenarios de registro de dispositivos, entre los que se incluyen:

  • Inscripción de Windows Hello para empresas
  • Registro de claves de seguridad FIDO2
  • Inicio de sesión de teléfono sin contraseña de Windows

El registro de dispositivos con Workplace Join, Microsoft Entra ID y los escenarios de unión a dispositivos híbridos de Microsoft Entra no se ven afectados. Las reglas de directivas de autenticación CBA que utilicen OID de emisor o de política no se verán afectadas. Para mitigarlo, los administradores deben hacer lo siguiente:

  • Edite las reglas de directiva de autenticación basada en certificados que usan las opciones de OID de emisor y directiva. Quite el requisito de OID de emisor o directiva y seleccione Guardar. -O bien-
  • Quite la regla de directiva de autenticación que usa OID de emisor y directiva. Cree reglas que usen solo OID de emisor o directiva.

Estamos trabajando para solucionar el problema.

Para crear una regla por emisor y número de serie:

  1. Agregue una directiva de enlace de autenticación. La directiva requiere que cualquier certificado emitido por CN=CBATestRootProd con policyOID 1.2.3.4.6 solo necesite un enlace de afinidad alto. Se usan emisores y números de serie.

    Captura de pantalla del emisor y el número de serie agregados al Centro de administración de Microsoft Entra.

  2. Seleccione el campo Certificado. En este ejemplo, vamos a seleccionar Emisor y número de serie.

    Captura de pantalla de cómo seleccionar un emisor y un número de serie.

  3. El único atributo de usuario admitido es CertificateUserIds. Seleccione Agregar.

    Captura de pantalla de cómo agregar un emisor y un número de serie.

  4. Seleccione Guardar.

    El registro de inicio de sesión muestra qué enlace se usó para el inicio de sesión y los detalles del certificado.

    Captura de pantalla del registro de inicios de sesión.

  5. Seleccione Aceptar para guardar cualquier regla personalizada.

Importante

Escriba PolicyOID mediante el formato de identificador de objeto. Por ejemplo, si la directiva de certificado indica Todas las directivas de emisión, escriba el OID como 2.5.29.32.0 al agregar la regla. La cadena Todas las directivas de emisión no es válida para el editor de reglas y no surte efecto.

Paso 4: Configuración de la directiva de enlace de nombre de usuario

La directiva de enlace de nombre de usuario ayuda a validar el certificado del usuario. De forma predeterminada, asignamos el nombre principal del certificado a UserPrincipalName en el objeto de usuario para determinar el usuario.

Un administrador de directivas de autenticación puede invalidar el valor predeterminado y crear una asignación personalizada. Para determinar cómo configurar el enlace de nombre de usuario, vea Funcionamiento del enlace de nombre de usuario.

Para otros escenarios que usan el atributo certificateUserIds, consulte Identificadores de usuario de certificado.

Importante

Si una directiva de enlace de nombre de usuario usa atributos sincronizados, como certificateUserIds, onPremisesUserPrincipalName y userPrincipalName del objeto de usuario, tenga en cuenta que las cuentas con privilegios administrativos en Active Directory (como las que tienen derechos delegados en objetos de usuario o derechos administrativos en el servidor de Microsoft Entra Connect) pueden realizar cambios que afecten a estos atributos en Microsoft Entra ID.

  1. Cree el enlace de nombre de usuario; para ello, seleccione uno de los campos del certificado X.509 para enlazar con uno de los atributos de usuario. El orden de enlace de nombre de usuario representa el nivel de prioridad del enlace. La primera tiene la prioridad más alta, y así sucesivamente.

    Captura de pantalla de una directiva de enlace de nombre de usuario.

    Si el campo del certificado X.509 especificado se encuentra en el certificado, pero Microsoft Entra ID no encuentra un objeto de usuario con ese valor, se produce un error en la autenticación. Microsoft Entra ID intenta el siguiente enlace de la lista.

  2. Seleccione Guardar para guardar los cambios.

La configuración final es como la de esta imagen:

Captura de pantalla de la configuración final.

Paso 5: Probar la configuración

En esta sección se explica cómo probar el certificado y las reglas de enlace de autenticación personalizadas.

Prueba del certificado

Como primera prueba de configuración, debe intentar iniciar sesión en el portal MyApps mediante un explorador del dispositivo.

  1. Escriba el nombre principal de usuario (UPN).

    Captura de pantalla del nombre principal de usuario (UPN).

  2. Seleccione Siguiente.

    Captura de pantalla del inicio de sesión con el certificado.

    Si ha habilitado otros métodos de autenticación como el inicio de sesión telefónico o FIDO2, es posible que los usuarios vean otra pantalla de inicio de sesión.

    Captura de pantalla del inicio de sesión alternativo.

  3. Seleccione Iniciar sesión con un certificado.

  4. Elija el certificado de usuario correcto en la interfaz de usuario del selector de certificados de cliente y seleccione Aceptar.

    Captura de pantalla de la interfaz de usuario del selector de certificado.

  5. Los usuarios deben haber iniciado sesión en el portal Mis aplicaciones.

Si el inicio de sesión se realiza correctamente, sabrá que:

  • El certificado de usuario se aprovisiona en el dispositivo de prueba.
  • Microsoft Entra ID está configurado correctamente con entidades de certificación de confianza.
  • El enlace de nombre de usuario está configurado correctamente y el usuario se encuentra y se autentica.

Prueba de reglas de enlace de autenticación personalizadas

Ahora se examinará un escenario en el que se valida la autenticación segura. Crearemos dos reglas de directiva de autenticación, una mediante el uso del emisor sujeto para satisfacer la autenticación de un solo factor, y otra mediante OID de directiva para satisfacer la autenticación multifactor.

  1. Cree una regla de sujeto emisor con el nivel de protección de autenticación de factor único y, como valor, el sujeto emisor de las CA. Por ejemplo:

    CN = WoodgroveCA

  2. Cree una regla de OID de directiva con el nivel de protección de autenticación multifactor y, como valor, una de las OID de directiva de su certificado. Por ejemplo: 1.2.3.4.

    Captura de pantalla de la regla de OID de directiva.

  3. Cree una directiva de acceso condicional para que el usuario requiera autenticación multifactor. Para ello, siga los pasos descritos en Acceso condicional: requerir MFA.

  4. Vaya al portal MyApps. Escriba el UPN y seleccione Siguiente.

    Captura de pantalla del nombre principal de usuario (UPN).

  5. Seleccione Iniciar sesión con un certificado.

    Captura de pantalla del inicio de sesión con el certificado.

    Si ha habilitado otros métodos de autenticación como inicio de sesión telefónico o claves de seguridad, es posible que los usuarios vean una pantalla de inicio de sesión diferente.

    Captura de pantalla del inicio de sesión alternativo.

  6. Seleccione el certificado de cliente y seleccione Información de certificado.

    Captura de pantalla del selector de cliente.

  7. El certificado aparece y podrá comprobar los valores del emisor y OID de directiva. Captura de pantalla del emisor del certificado.

  8. Para ver los valores de OID de directiva, seleccione Detalles.

    Captura de pantalla de los datos de autenticación.

  9. Seleccione el certificado de cliente y seleccione Aceptar.

  10. El OID de directiva del certificado coincide con el valor 1.2.3.4 configurado y cumple la autenticación multifactor. Del mismo modo, el emisor del certificado coincide con el valor CN=WoodgroveCA configurado y cumple la autenticación de factor único.

  11. Como la regla de OID de directiva tiene prioridad sobre la regla del emisor, el certificado cumple la autenticación multifactor.

  12. La directiva de acceso condicional para el usuario requiere MFA y el certificado la satisface, por lo que el usuario puede iniciar sesión en la aplicación.

Prueba de la directiva de enlace de nombre de usuario

La directiva de enlace de nombre de usuario ayuda a validar el certificado del usuario. Hay tres enlaces que se admiten para la directiva de enlace de nombre de usuario:

  • IssuerAndSerialNumber>CertificateUserIds
  • IssuerAndSubject>CertificateUserIds
  • Subject>CertificateUserIds

De forma predeterminada, Microsoft Entra ID asigna el nombre principal del certificado a UserPrincipalName en el objeto de usuario para determinar el usuario. Un administrador de directivas de autenticación puede invalidar el valor predeterminado y crear una asignación personalizada, como se explicó anteriormente.

Un administrador de directivas de autenticación debe habilitar los nuevos enlaces. Para prepararse, deben asegurarse de que los valores correctos para los enlaces de nombre de usuario correspondientes se actualizan en el atributo CertificateUserIds del objeto de usuario:

Importante

El formato de los valores de Issuer, Subject y SerialNumber debe estar en el orden inverso de su formato en el certificado. No agregue ningún espacio en el emisor o el asunto.

Asignación manual del emisor y el número de serie

Este es un ejemplo de asignación manual del emisor y el número de serie. El valor del emisor que se va a agregar es:

C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate

Captura de pantalla del valor del emisor.

Para obtener el valor correcto para el número de serie, ejecute el siguiente comando y almacene el valor que se muestra en CertificateUserIds. La sintaxis del comando es la siguiente:

Certutil –dump –v [~certificate path~] >> [~dumpFile path~] 

Por ejemplo:

certutil -dump -v firstusercert.cer >> firstCertDump.txt

Este es un ejemplo del comando certutil:

certutil -dump -v C:\save\CBA\certs\CBATestRootProd\mfausercer.cer 

X509 Certificate: 
Version: 3 
Serial Number: 48efa06ba8127299499b069f133441b2 

   b2 41 34 13 9f 06 9b 49 99 72 12 a8 6b a0 ef 48 

El valor SerialNumber que se va a agregar en CertificateUserId es el siguiente:

b24134139f069b49997212a86ba0ef48

CertificateUserId:

X509:<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate<SR> b24134139f069b49997212a86ba0ef48 

Asignación manual de problemas y asunto

Este es un ejemplo de asignación manual de problemas y asunto. El valor de Issuer es:

Captura de pantalla del valor del emisor cuando se usa con varios enlaces.

El valor de Subject es:

Captura de pantalla del valor de asunto.

CertificateUserId:

X509:<I>C=US,O=U.SGovernment,OU=DoD,OU=PKI,OU=CONTRACTOR,CN=CRL.BALA.SelfSignedCertificate<S> DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession

Asignación manual del asunto

Este es un ejemplo de asignación manual del asunto. El valor de Subject es:

Captura de pantalla de otro valor de asunto.

CertificateUserId:

X509:<S>DC=com,DC=contoso,DC=corp,OU=UserAccounts,CN=FirstUserATCSession

Probar el enlace de afinidad

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de directivas de autenticación como mínimo.

  2. Vaya a Protección>Métodos de autenticación>Directivas.

  3. En Administrar, seleccione Métodos de autenticación>Autenticación basada en certificados.

  4. Seleccione Configurar.

  5. Establezca Enlace de afinidad obligatorio en el nivel de inquilino.

    Importante

    Tenga cuidado con la configuración de afinidad para todo el inquilino. Puede bloquear todo el inquilino si cambia el enlace de afinidad requerido para el inquilino y no tiene valores adecuados en el objeto de usuario. De forma similar, si crea una regla personalizada que se aplica a todos los usuarios y requiere un enlace de afinidad alto, los usuarios del inquilino pueden bloquearse.

    Captura de pantalla de cómo establecer el enlace de afinidad necesario.

  6. Para probarlo, seleccione Enlace de afinidad obligatorio para que sea Bajo.

  7. Agregue un enlace de afinidad alta como SKI. Seleccione Agregar regla en Enlace de nombre de usuario.

  8. Seleccione SKI y seleccione Agregar.

    Captura de pantalla de cómo agregar un enlace de afinidad.

    Cuando haya terminado, la regla tendrá el siguiente aspecto:

    Captura de pantalla de un enlace de afinidad completado.

  9. Actualice todos los objetos de usuario CertificateUserIds atributo para que tengan el valor correcto de SKI desde el certificado de usuario. Para obtener más información, consulte Patrones admitidos para CertificateUserIDs.

  10. Cree una regla personalizada para el enlace de autenticación.

  11. Seleccione Agregar.

    Captura de pantalla de un enlace de autenticación personalizado.

    Cuando haya terminado, la regla tendrá el siguiente aspecto:

    Captura de pantalla de una regla personalizada.

  12. Actualice el usuario CertificateUserIds con el valor SKI correcto del certificado con la directiva OID 9.8.7.5.

  13. Pruebe con un certificado con la directiva OID 9.8.7.5 y el usuario debe autenticarse con el enlace SKI y obtener MFA solo con el certificado.

Habilitación de CBA mediante Microsoft Graph API

Para habilitar la autenticación basada en certificados y configurar enlaces de usuario con Graph API, siga estos pasos.

  1. Vaya al Explorador de Microsoft Graph.

  2. Seleccione Iniciar sesión en Graph Explorer e inicie sesión en el inquilino.

  3. Siga los pasos para dar su consentimiento al permiso delegado Policy.ReadWrite.AuthenticationMethod.

  4. GET para obtener todos los métodos de autenticación:

    GET  https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy
    
  5. GET para obtener la configuración del método de autenticación x509:

    GET https://graph.microsoft.com/v1.0/policies/authenticationmethodspolicy/authenticationMethodConfigurations/X509Certificate
    
  6. De forma predeterminada, el método de autenticación x509 está deshabilitado. Para que los usuarios puedan iniciar sesión con un certificado, debe habilitar el método de autenticación y configurar las directivas de enlace de autenticación y nombre de usuario mediante una operación de actualización. Para actualizar la directiva, ejecute una solicitud PATCH.

    Cuerpo de la solicitud:

    PATCH https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate
    Content-Type: application/json
    
    {
        "@odata.type": "#microsoft.graph.x509CertificateAuthenticationMethodConfiguration",
        "id": "X509Certificate",
        "state": "enabled",
        "certificateUserBindings": [
            {
                "x509CertificateField": "PrincipalName",
                "userProperty": "onPremisesUserPrincipalName",
                "priority": 1
            },
            {
                "x509CertificateField": "RFC822Name",
                "userProperty": "userPrincipalName",
                "priority": 2
            }, 
            {
                "x509CertificateField": "PrincipalName",
                "userProperty": "certificateUserIds",
                "priority": 3
            }
        ],
        "authenticationModeConfiguration": {
            "x509CertificateAuthenticationDefaultMode": "x509CertificateSingleFactor",
            "rules": [
                {
                    "x509CertificateRuleType": "issuerSubject",
                    "identifier": "CN=WoodgroveCA ",
                    "x509CertificateAuthenticationMode": "x509CertificateMultiFactor"
                },
                {
                    "x509CertificateRuleType": "policyOID",
                    "identifier": "1.2.3.4",
                    "x509CertificateAuthenticationMode": "x509CertificateMultiFactor"
                }
            ]
        },
        "includeTargets": [
            {
                "targetType": "group",
                "id": "all_users",
                "isRegistrationRequired": false
            }
        ]
    }
    
  7. Obtiene un código de respuesta 204 No content. Vuelva a ejecutar la solicitud GET para asegurarse de que las directivas se actualizan correctamente.

  8. Para probar la configuración, inicie sesión con un certificado que cumpla la directiva.

Habilitación de CBA mediante Microsoft PowerShell

  1. Abra PowerShell.
  2. Conexión con Microsoft Graph:
    Connect-MgGraph -Scopes "Policy.ReadWrite.AuthenticationMethod"
    
  3. Creación de una variable para definir un grupo para usuarios de CBA:
    $group = Get-MgGroup -Filter "displayName eq 'CBATestGroup'"
    
  4. Definición del cuerpo de la solicitud:
    $body = @{
    "@odata.type" = "#microsoft.graph.x509CertificateAuthenticationMethodConfiguration"
    "id" = "X509Certificate"
    "state" = "enabled"
    "certificateUserBindings" = @(
        @{
            "@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
            "x509CertificateField" = "SubjectKeyIdentifier"
            "userProperty" = "certificateUserIds"
            "priority" = 1
        },
        @{
            "@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
            "x509CertificateField" = "PrincipalName"
            "userProperty" = "UserPrincipalName"
            "priority" = 2
        },
        @{
            "@odata.type" = "#microsoft.graph.x509CertificateUserBinding"
            "x509CertificateField" = "RFC822Name"
            "userProperty" = "userPrincipalName"
            "priority" = 3
        }
    )
    "authenticationModeConfiguration" = @{
        "@odata.type" = "#microsoft.graph.x509CertificateAuthenticationModeConfiguration"
        "x509CertificateAuthenticationDefaultMode" = "x509CertificateMultiFactor"
        "rules" = @(
            @{
                "@odata.type" = "#microsoft.graph.x509CertificateRule"
                "x509CertificateRuleType" = "policyOID"
                "identifier" = "1.3.6.1.4.1.311.21.1"
                "x509CertificateAuthenticationMode" = "x509CertificateMultiFactor"
            }
        )
    }
    "includeTargets" = @(
        @{
            "targetType" = "group"
            "id" = $group.Id
            "isRegistrationRequired" = $false
        }
    ) } | ConvertTo-Json -Depth 5
    
  5. Ejecución de la solicitud PATCH:
    Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/x509Certificate" -Body $body -ContentType "application/json"
    

Pasos siguientes