Introducción a la autenticación basada en certificados de Azure Active DirectoryGet started with certificate-based authentication in Azure Active Directory

La autenticación basada en certificados le permite autenticarse mediante Azure Active Directory con un certificado de cliente en un dispositivo Windows, Android o iOS al conectar su cuenta de Exchange Online a:Certificate-based authentication enables you to be authenticated by Azure Active Directory with a client certificate on a Windows, Android, or iOS device when connecting your Exchange online account to:

  • Aplicaciones móviles de Office como Microsoft Outlook y Microsoft WordMicrosoft mobile applications such as Microsoft Outlook and Microsoft Word
  • clientes de Exchange ActiveSync (EAS).Exchange ActiveSync (EAS) clients

Al configurar esta función, no tendrá que escribir una combinación de nombre de usuario y contraseña en determinadas aplicaciones de correo electrónico y Microsoft Office de su dispositivo móvil.Configuring this feature eliminates the need to enter a username and password combination into certain mail and Microsoft Office applications on your mobile device.

En este tema:This topic:

  • Se indican los pasos para configurar y utilizar la autenticación basada en certificados para usuarios de los inquilinos de los planes de Office 365 Enterprise, Empresa, Educación e US Government.Provides you with the steps to configure and utilize certificate-based authentication for users of tenants in Office 365 Enterprise, Business, Education, and US Government plans. Esta característica se encuentra disponible en versión preliminar en los planes Office 365 China, US Government Defense e US Government Federal.This feature is available in preview in Office 365 China, US Government Defense, and US Government Federal plans.
  • Se supone que ya tiene una infraestructura de clave pública (PKI) y AD FS configurados.Assumes that you already have a public key infrastructure (PKI) and AD FS configured.

RequisitosRequirements

Para configurar la autenticación basada en certificados, deben cumplirse las siguientes instrucciones:To configure certificate-based authentication, the following statements must be true:

  • La autenticación basada en certificados (CBA) solo se admite para entornos federados de aplicaciones del explorador o clientes nativos que usan autenticación moderna (ADAL).Certificate-based authentication (CBA) is only supported for Federated environments for browser applications or native clients using modern authentication (ADAL). La excepción es Exchange Active Sync (EAS) para Exchange Online (EXO), que se puede usar tanto para cuentas federadas como para cuentas administradas.The one exception is Exchange Active Sync (EAS) for Exchange Online (EXO), which can be used for federated and managed accounts.
  • La entidad de certificación raíz y las intermedias deben configurarse en Azure Active Directory.The root certificate authority and any intermediate certificate authorities must be configured in Azure Active Directory.
  • Cada entidad de certificación debe tener una lista de revocación de certificados (CRL) a la que puede hacerse referencia a través de una dirección URL con conexión a Internet.Each certificate authority must have a certificate revocation list (CRL) that can be referenced via an internet-facing URL.
  • Debe tener al menos una entidad de certificación configurada en Azure Active Directory.You must have at least one certificate authority configured in Azure Active Directory. Puede encontrar pasos relacionados en la sección Configuración de las entidades de certificación.You can find related steps in the Configure the certificate authorities section.
  • En Exchange Online, el certificado de cliente debe tener la dirección de correo electrónico enrutable del usuario en el valor de Nombre de la entidad de seguridad o Nombre RFC822 del campo Nombre alternativo del titular (para clientes de Exchange ActiveSync).For Exchange ActiveSync clients, the client certificate must have the user’s routable email address in Exchange online in either the Principal Name or the RFC822 Name value of the Subject Alternative Name field. Azure Active Directory asigna el valor de RFC822 al atributo de dirección de Proxy del directorio.Azure Active Directory maps the RFC822 value to the Proxy Address attribute in the directory.
  • El dispositivo cliente debe tener acceso al menos a una entidad de certificación que emite los certificados de cliente.Your client device must have access to at least one certificate authority that issues client certificates.
  • Se debe haber emitido al cliente un certificado de cliente para la autenticación de cliente.A client certificate for client authentication must have been issued to your client.

Paso 1: Selección de la plataforma de dispositivosStep 1: Select your device platform

Como primer paso, en la plataforma de dispositivos que le interesa, debe revisar lo siguiente:As a first step, for the device platform you care about, you need to review the following:

  • Compatibilidad con aplicaciones móviles de OfficeThe Office mobile applications support
  • Requisitos de implementación específicosThe specific implementation requirements

Existe información relacionada para las siguientes plataformas de dispositivos:The related information exists for the following device platforms:

Paso 2: Configuración de las entidades de certificaciónStep 2: Configure the certificate authorities

Para configurar las entidades de certificación en Azure Active Directory, para cada entidad de certificación, cargue lo siguiente:To configure your certificate authorities in Azure Active Directory, for each certificate authority, upload the following:

  • La parte pública del certificado en formato .cer .The public portion of the certificate, in .cer format
  • Las direcciones URL con conexión a Internet en las que se encuentran las listas de revocación de certificados (CRL).The internet-facing URLs where the Certificate Revocation Lists (CRLs) reside

A continuación se presenta el esquema para una entidad de certificación:The schema for a certificate authority looks as follows:

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 la versión 2 de Azure Active Directory PowerShell:For the configuration, you can use the Azure Active Directory PowerShell Version 2:

  1. Inicie Windows PowerShell con privilegios de administrador.Start Windows PowerShell with administrator privileges.

  2. Instale la versión 2.0.0.33 o superior del módulo de Azure AD.Install the Azure AD module version 2.0.0.33 or higher.

     Install-Module -Name AzureAD –RequiredVersion 2.0.0.33
    

El primer paso de configuración consiste en establecer una conexión con el inquilino.As a first configuration step, you need to establish a connection with your tenant. 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.As soon as a connection to your tenant exists, you can review, add, delete, and modify the trusted certificate authorities that are defined in your directory.

ConectarConnect

Para establecer una conexión con el inquilino, use el cmdlet Connect-AzureAD:To establish a connection with your tenant, use the Connect-AzureAD cmdlet:

Connect-AzureAD

RecuperarRetrieve

Para recuperar las entidades de certificación de confianza definidas en el directorio, use el cmdlet Get-AzureADTrustedCertificateAuthority.To retrieve the trusted certificate authorities that are defined in your directory, use the Get-AzureADTrustedCertificateAuthority cmdlet.

Get-AzureADTrustedCertificateAuthority

SumarAdd

Para crear una entidad de certificación de confianza, use el cmdlet New-AzureADTrustedCertificateAuthority y establezca el atributo crlDistributionPoint en un valor correcto:To create a trusted certificate authority, use the New-AzureADTrustedCertificateAuthority cmdlet and set the crlDistributionPoint attribute to a correct value:

$cert=Get-Content -Encoding byte "[LOCATION OF THE CER FILE]"
$new_ca=New-Object -TypeName Microsoft.Open.AzureAD.Model.CertificateAuthorityInformation
$new_ca.AuthorityType=0
$new_ca.TrustedCertificate=$cert
$new_ca.crlDistributionPoint="<CRL Distribution URL>"
New-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $new_ca

RemoveRemove

Para quitar una entidad de certificación de confianza, use el cmdlet Remove-AzureADTrustedCertificateAuthority:To remove a trusted certificate authority, use the Remove-AzureADTrustedCertificateAuthority cmdlet:

$c=Get-AzureADTrustedCertificateAuthority
Remove-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[2]

ModificarModify

Para modificar una entidad de certificación de confianza, use el cmdlet Set-AzureADTrustedCertificateAuthority:To modify a trusted certificate authority, use the Set-AzureADTrustedCertificateAuthority cmdlet:

$c=Get-AzureADTrustedCertificateAuthority
$c[0].AuthorityType=1
Set-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[0]

Paso 3: Configuración de la revocaciónStep 3: Configure revocation

Para revocar un certificado de cliente, Azure Active Directory recupera la lista de revocación de certificados (CRL) de las direcciones URL cargadas como parte de la información de la entidad de certificación y la almacena en caché.To revoke a client certificate, Azure Active Directory fetches the certificate revocation list (CRL) from the URLs uploaded as part of certificate authority information and caches it. La última marca de tiempo de publicación (propiedadEffective Date ) de la CRL se utiliza para garantizar que esta es aún es válida.The last publish timestamp (Effective Date property) in the CRL is used to ensure the CRL is still valid. De forma periódica, se hace referencia a la CRL para revocar el acceso a los certificados que forman parte de la lista.The CRL is periodically referenced to revoke access to certificates that are a part of the list.

Si se requiere realizar una revocación más instantánea (por ejemplo, si un usuario pierde un dispositivo), se puede invalidar el token de autorización del usuario.If a more instant revocation is required (for example, if a user loses a device), the authorization token of the user can be invalidated. Para ello, establezca el valor del campo StsRefreshTokenValidFrom de este usuario concreto mediante Windows PowerShell.To invalidate the authorization token, set the StsRefreshTokenValidFrom field for this particular user using Windows PowerShell. Tiene que actualizar el campo StsRefreshTokenValidFrom para cada usuario cuyo acceso desee revocar.You must update the StsRefreshTokenValidFrom field for each user you want to revoke access for.

Para asegurarse de que la revocación persiste, debe establecer la fecha de vigencia de la CRL en una fecha posterior al valor que establece StsRefreshTokenValidFrom y asegurarse de que el certificado en cuestión se encuentra en la CRL.To ensure that the revocation persists, you must set the Effective Date of the CRL to a date after the value set by StsRefreshTokenValidFrom and ensure the certificate in question is in the CRL.

En los siguientes pasos se describe el proceso de actualización e invalidación del token de autorización mediante el establecimiento del campo StsRefreshTokenValidFrom .The following steps outline the process for updating and invalidating the authorization token by setting the StsRefreshTokenValidFrom field.

Para configurar la revocación:To configure revocation:

  1. Conéctese con credenciales de administrador al servicio MSOL:Connect with admin credentials to the MSOL service:

     $msolcred = get-credential
     connect-msolservice -credential $msolcred
    
  2. Recupere el valor actual de StsRefreshTokensValidFrom de un usuario:Retrieve the current StsRefreshTokensValidFrom value for a user:

     $user = Get-MsolUser -UserPrincipalName test@yourdomain.com`
     $user.StsRefreshTokensValidFrom
    
  3. Configure que el campo StsRefreshTokensValidFrom del usuario tenga el mismo valor que la marca de tiempo actual.Configure a new StsRefreshTokensValidFrom value for the user equal to the current timestamp:

     Set-MsolUser -UserPrincipalName test@yourdomain.com -StsRefreshTokensValidFrom ("03/05/2016")
    

La fecha establecida debe ser futura.The date you set must be in the future. De lo contrario, no se establece la propiedad StsRefreshTokensValidFrom .If the date is not in the future, the StsRefreshTokensValidFrom property is not set. Si la fecha es futura, el valor de StsRefreshTokensValidFrom se establece en la hora actual (no la fecha que indica el comando Set-MsolUser).If the date is in the future, StsRefreshTokensValidFrom is set to the current time (not the date indicated by Set-MsolUser command).

Paso 4: Prueba de la configuraciónStep 4: Test your configuration

Prueba del certificadoTesting your certificate

Como primera prueba de configuración, debe tratar de iniciar sesión en Outlook Web Access o SharePoint Online con el explorador del dispositivo.As a first configuration test, you should try to sign in to Outlook Web Access or SharePoint Online using your on-device browser.

Si el inicio de sesión se realiza correctamente, sabrá que:If your sign-in is successful, then you know that:

  • El certificado de usuario se ha aprovisionado en el dispositivo de prueba.The user certificate has been provisioned to your test device
  • AD FS está configurado correctamente.AD FS is configured correctly

Prueba de aplicaciones móviles de OfficeTesting Office mobile applications

Para probar la autenticación basada en certificados en su aplicación móvil de Office:To test certificate-based authentication on your mobile Office application:

  1. En el dispositivo de prueba, instale una aplicación móvil de Office (por ejemplo, OneDrive).On your test device, install an Office mobile application (for example, OneDrive).
  2. Inicie la aplicación.Launch the application.
  3. Escriba su nombre de usuario y, luego, seleccione el certificado de usuario que quiera utilizar.Enter your username, and then select the user certificate you want to use.

Debe haber iniciado sesión correctamente.You should be successfully signed in.

Prueba de aplicaciones cliente de Exchange ActiveSyncTesting Exchange ActiveSync client applications

Para acceder a Exchange ActiveSync (EAS) mediante la autenticación basada en certificados, debe estar disponible en la aplicación un perfil de EAS que contenga el certificado de cliente.To access Exchange ActiveSync (EAS) via certificate-based authentication, an EAS profile containing the client certificate must be available to the application.

El perfil de EAS debe contener la información siguiente:The EAS profile must contain the following information:

  • El certificado de cliente que se usará para la autenticaciónThe user certificate to be used for authentication

  • El punto de conexión de EAS (por ejemplo, outlook.office365.com)The EAS endpoint (for example, outlook.office365.com)

Puede configurar un perfil de EAS y colocarlo en el dispositivo utilizando el servicio Administración de dispositivos móviles (MDM) como Intune o agregando el certificado manualmente al perfil de EAS del dispositivo.An EAS profile can be configured and placed on the device through the utilization of Mobile device management (MDM) such as Intune or by manually placing the certificate in the EAS profile on the device.

Prueba de aplicaciones cliente de EAS en AndroidTesting EAS client applications on Android

Para probar la autenticación de certificados:To test certificate authentication:

  1. Configure un perfil de EAS en la aplicación que cumpla los requisitos de la sección anterior.Configure an EAS profile in the application that satisfies the requirements in the prior section.
  2. Abra la aplicación y verifique que el correo electrónico se esté sincronizando.Open the application, and verify that mail is synchronizing.

Pasos siguientesNext steps

Autenticación basada en certificados de Azure Active Directory en Android.Additional information about certificate-based authentication on Android devices.

Autenticación basada en certificados de Azure Active Directory en iOS.Additional information about certificate-based authentication on iOS devices.