Compartir vía


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 verán una opción para autenticarse con un certificado en lugar de con 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 cumplen los siguientes requisitos previos:

  • Configure al menos una entidad de certificación (CA) y cualquier entidad de certificación intermedia 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 realizará ninguna comprobación de CRL, la revocación de certificados de usuario no funcionará y la autenticación no se bloqueará.

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

Algunos pasos de configuración que se deben realizar 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: Configuración de las entidades de certificación

Puede configurar entidades de certificación (CA) mediante el Centro de administración de Microsoft Entra o las API de REST de Microsoft Graph y los SDK admitidos, como PowerShell de Microsoft Graph. La infraestructura de PKI o el administrador de PKI deben poder proporcionar la lista de entidades de certificación emisoras. Para asegurarse de que ha configurado todas las CA, abra el certificado de usuario y haga clic en la pestaña "ruta de certificación" y asegure todas las CA hasta que la raíz se cargue en el almacén de confianza de Microsoft Entra ID. Se producirá un error en la autenticación de CBA si faltan entidades de certificación.

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

Para habilitar la autenticación basada en certificados y configurar enlaces de usuario 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 global.

  2. Vaya a Protección>Mostrar más>Security Center (o puntuación de seguridad de la identidad) >autoridades del certificado.

  3. Para cargar una CA, seleccione Cargar:

    1. Seleccione el archivo de CA.

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

    3. 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.

    4. 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 publicó la última CRL base.

    5. Seleccione Agregar.

      Captura de pantalla que explica cómo cargar el archivo de entidad de certificación.

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

  5. Haga clic en Columnas para agregar o eliminar columnas.

Nota:

Se produce un error en la carga de una nueva CA si ha expirado alguna CA existente. Debe eliminar cualquier CA expirada y volver a intentar cargar la nueva CA.

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

Configuración de las autoridades de certificación (CA) mediante PowerShell

Solo se admite un punto de distribución de CRL (CDP) para una entidad de certificación de confianza. CDP solo puede ser direcciones URL HTTP. No se admiten las direcciones URL del Protocolo de estado de certificados en línea (OSCP) ni del Protocolo ligero de acceso a directorios (LDAP).

Para configurar las entidades de certificación en Microsoft Entra ID, para cada entidad de certificación, cargue lo siguiente:

  • La parte pública del certificado en formato .cer .
  • Las direcciones URL con conexión a Internet en las que se encuentran las listas de revocación de certificados (CRL).

A continuación se presenta el esquema para una entidad de certificación:

    class TrustedCAsForPasswordlessAuth
    {
       CertificateAuthorityInformation[] certificateAuthorities;
    }

    class CertificateAuthorityInformation

    {
        CertAuthorityType authorityType;
        X509Certificate trustedCertificate;
        string crlDistributionPoint;
        string deltaCrlDistributionPoint;
        string trustedIssuer;
        string trustedIssuerSKI;
    }

    enum CertAuthorityType
    {
        RootAuthority = 0,
        IntermediateAuthority = 1
    }

Para la configuración, puede usar Microsoft Graph PowerShell:

  1. Inicie Windows PowerShell con privilegios de administrador.

  2. Instale Microsoft Graph PowerShell:

        Install-Module Microsoft.Graph
    

El primer paso de configuración consiste en establecer una conexión con el inquilino. En cuanto se establece la conexión con el inquilino, puede revisar, agregar, eliminar y modificar las entidades de certificación de confianza definidas en el directorio.

Conexión

Para establecer una conexión con el inquilino, use el cmdlet Connect-MgGraph:

    Connect-MgGraph

Retrieve

Para recuperar las entidades de certificación de confianza definidas en el directorio, use el cmdlet Get-MgOrganizationCertificateBasedAuthConfiguration.

    Get-MgOrganizationCertificateBasedAuthConfiguration

Sumar

Nota

Se producirá un error en la carga de nuevas CA cuando haya expirado cualquiera de las CA existentes. El administrador de inquilinos debe eliminar las CA expiradas y luego cargar la nueva CA.

Siga los pasos anteriores para agregar una entidad de certificación en el Centro de administración Microsoft Entra.

AuthorityType

  • Use 0 para indicar que se trata de una entidad de certificación raíz.
  • Use 1 para indicar que se trata de una entidad de certificación intermedia o emisora

crlDistributionPoint

Puede descargar la CRL y comparar el certificado de la entidad de certificación y la información de CRL para validar el valor crlDistributionPoint en el ejemplo de PowerShell anterior para la CA que desea agregar.

La tabla y el gráfico siguientes indican cómo asignar la información del certificado de la entidad de certificación a los atributos de la CRL descargada.

Información sobre el certificado de la entidad de certificación = Información sobre la CRL descargada
Asunto = Emisor
Identificador de clave del firmante = Identificador de clave de la entidad (KeyID)

Compare el certificado de entidad de certificación con información de la CRL.

Sugerencia

El valor de crlDistributionPoint en el ejemplo anterior es la ubicación http de la lista de revocación de certificados (CRL) de la entidad de certificación. Este valor se puede encontrar en varios lugares:

  • En el atributo de punto de distribución (CDP) de la CRL de un certificado emitido desde la entidad de certificación.

Si la entidad de certificación emisora ejecuta Windows Server:

  • En las Propiedades de la CA en la entidad de certificación Microsoft Management Console (MMC).
  • En la entidad de certificación, al ejecutar certutil -cainfo cdp. Para obtener más información, consulte: certutil.

Para más información, consulte: Descripción del proceso de revocación de certificados.

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

Las API de MS Graph se pueden usar para configurar entidades de certificación. Siga los pasos descritos en comandos msGraph certificatebasedauthconfiguration para actualizar el almacén de confianza de la entidad de certificación de Microsoft Entra.

Validar una configuración de entidad de certificación

Es importante asegurarse de que los pasos de configuración anteriores den como resultado la capacidad de Microsoft Entra tanto para validar la cadena de confianza de la entidad de certificación como para adquirir correctamente la lista de revocación de certificados (CRL) a partir del punto de distribución de dicha lista (CDP) de la entidad de certificación configurada. Para ayudar con esta tarea, se recomienda instalar el módulo de PowerShell MSIdentity Tools y ejecutar Test-MsIdCBATrustStoreConfiguration. Este cmdlet de PowerShell revisará la configuración de la entidad de certificación del inquilino de Microsoft Entra y mostrará errores o advertencias para problemas comunes de configuración incorrecta.

Paso 2: Habilitar la 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 usar "proof up" como parte de su autenticación para registrar otros métodos disponibles. Si los usuarios no tienen acceso a los certificados, se bloquearán y no podrán registrar otros métodos para MFA. Por lo tanto, el administrador debe habilitar a los usuarios que tienen un certificado válido en el ámbito de CBA. No use todos los usuarios para el destino de CBA y use grupos de usuarios que tengan certificados válidos disponibles. Para más información, consulte Autenticación multifactor de Microsoft Entra.

Para habilitar la autenticación basada en certificados 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 Todos los usuarioso seleccione Agregar grupos para seleccionar grupos específicos, como el creado anteriormente. Se recomienda usar grupos específicos en lugar de Todos los usuarios.

    Captura de pantalla que explica 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 que estén habilitados para la autenticación basada en certificados podrán 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 OID de directiva, 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 asignarán los atributos del certificado (emisor u OID de directiva) a un valor y seleccionarán 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 inquilinos de Microsoft Entra configura una regla de directiva de autenticación de CBA mediante tanto el emisor como el identificador de objetos de directivas. Afecta a algunos escenarios de registro de dispositivos, entre los que se incluyen:

  • Inscripción de Windows Hello para empresas
  • Registro de clave de seguridad de Fido2
  • Inicio de sesión telefónico 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:

  • Editar las reglas de directivas de autenticación basada en certificados que usan actualmente las opciones de emisor y OID de directiva, y quitar el requisito de emisor u OID y guardar. O BIEN
  • Quitar la regla de directivas de autenticación que actualmente usa el emisor y el OID de directiva y crear reglas que utilicen únicamente el OID de emisor o de 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 que requiera cualquier certificado emitido por CN=CBATestRootProd con policyOID 1.2.3.4.6 solo necesita un enlace de afinidad alto (es decir, 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, seleccionaremos 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 inicios de sesión muestra qué enlace se usó y los detalles del certificado.

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

  1. 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 surtirá 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, consulte Funcionamiento del enlace de nombre de usuario.

Para obtener más información sobre los 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 será 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 ha aprovisionado 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

Vamos a recorrer 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 sus 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 en el paso 4.

Antes de habilitar los nuevos enlaces, un administrador de directivas de autenticación debe asegurarse de que los valores correctos de los enlaces se actualizan en el atributo de objeto de usuario Certificate UserIds para los enlaces de nombre de usuario correspondientes.

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 para el 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:

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. Pruebe la configuración iniciando sesión con un certificado que cumpla la directiva.

Habilitación de CBA mediante Microsoft Power Shell

  1. Abrir una ventana de comandos de power shell
  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