Compartir por


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 correcto, 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 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. Pero 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 más información, vea 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 o 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 o 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 ha mencionado 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 más información, vea 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 que se completen 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 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 compruebe que todas las CA hasta la raíz se cargan 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 Microsoft Entra como Administrador global.

  2. Vaya a Protección>Mostrar más>Security Center (o Puntuación de seguridad de la identidad) > Entidades de certificación.

  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 ha publicado la última CRL base.

    5. Seleccione Agregar.

      Captura de pantalla de 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. Seleccione 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).

A fin de 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 PowerShell de Microsoft Graph:

  1. Inicie Windows PowerShell con privilegios de administrador.

  2. Instale PowerShell de Microsoft Graph:

        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

Recuperación

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

    Get-MgOrganizationCertificateBasedAuthConfiguration

Adición

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 de 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 quiera agregar.

En la tabla y el gráfico siguientes se muestra 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 más información, vea certutil.

Para más información, vea 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 certificatebasedauthconfiguration de MSGraph para actualizar el almacén de confianza de la entidad de certificación de Microsoft Entra.

Validación de la 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: 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 bloquearán y no podrán registrar otros métodos para MFA. Por 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, vea 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 usuarios, o bien 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 de cómo habilitar la CBA.

Una vez que se habilita 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: Configuración de 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 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 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 de 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 de 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 agregar 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 agregar 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 se debe superar 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 los siguientes:

  • 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 hacer lo siguiente:

  • 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 directiva 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 ha usado 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 manera predeterminada, se 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. Para determinar cómo configurar el enlace de nombre de usuario, vea Funcionamiento del enlace de nombre de usuario.

Para más información sobre los escenarios que usan el atributo certificateUserIds, vea 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: Prueba de 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 el explorador del dispositivo.

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

    Captura de pantalla del nombre principal de usuario.

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

  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

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

  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 el 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 clientes.

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

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

    Captura de pantalla de los detalles 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 ha explicado antes 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 el siguiente:

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

Captura de pantalla del valor del emisor.

A fin de 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 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 del emisor y el asunto

Este es un ejemplo de asignación manual del emisor y el asunto. El valor de Issuer es el siguiente:

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

El valor de Subject es el siguiente:

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

Captura de pantalla de otro valor de asunto.

CertificateUserId:

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

Prueba del 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 el atributo CertificateUserIds de todos los objetos de usuario para que tengan el valor correcto de SKI del certificado de usuario. Para más información, vea Patrones admitidos para CertificateUserID.

  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 manera 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. Apertura de una ventana de comandos de 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