Inicie com uma autenticação baseada em certificado do Azure Active Directory

A autenticação baseada em certificado permite que você seja autenticado pelo Azure Active Directory com um certificado de cliente em um dispositivo Windows, Android ou iOS ao conectar sua conta do Exchange Online com:

  • Aplicativos móveis da Microsoft, como Microsoft Outlook e Microsoft Word
  • Clientes do EAS (Exchange ActiveSync)

Configurar esse recurso elimina a necessidade de digitar uma combinação de nome de usuário e senha em determinados emails e aplicativos do Microsoft Office no seu dispositivo móvel.

Este tópico:

  • Este tópico mostra como configurar e utilizar a autenticação baseada em certificado para usuários de locatários nos planos Office 365 corporativo, Business, educacional e governamental. Esse recurso está disponível na visualização em planos do Office 365 para China, defesa governamental e governo federal.
  • Pressupõe que você já tem uma infraestrutura de chave pública (PKI) e do AD FS configurada.

Requisitos

Para configurar a autenticação baseada em certificado, as instruções a seguir devem ser verdadeiras:

  • A CBA (Autenticação Baseada em Certificado) tem suporte apenas em ambientes Federados para aplicativos de navegador, clientes nativos que usam autenticação moderna (ADAL) ou bibliotecas MSAL. A exceção é EAS (Exchange Active Sync) para EXO, que pode ser usada para contas gerenciadas e federadas.
  • A autoridade de certificação raiz e qualquer autoridade de certificação intermediária devem ser configuradas no Azure Active Directory.
  • Cada autoridade de certificação deve ter uma CRL (Lista de Certificados Revogados) que pode ser referenciada por meio de uma URL para a Internet.
  • Você deve ter pelo menos uma autoridade de certificação configurada no Azure Active Directory. Você pode encontrar etapas relacionadas na seção Configuração de autoridades de certificação.
  • Para clientes do Exchange ActiveSync, o certificado de cliente deve ter o email roteável do usuário no Exchange Online, seja no valor Nome principal ou Nome RFC822 do campo Nome Alternativo da Entidade. O Azure Active Directory mapeia o valor de RFC822 para o atributo Endereço de Proxy no diretório.
  • O dispositivo do cliente deve ter acesso a pelo menos uma autoridade de certificação que emite certificados de cliente.
  • Um certificado de cliente para autenticação de cliente deve ter sido emitido para seu cliente.

Importante

O tamanho máximo de uma CRL para o Azure Active Directory a ser baixada com êxito e o armazenada em cache é de 20 MB, e o tempo necessário para baixar a CRL não deve exceder 10 segundos. Se o Azure Active Directory não puder baixar uma CRL, as autenticações baseadas em certificado que usarem certificados emitidos pela autoridade de certificação correspondente falharão. As melhores práticas para garantir que os arquivos de CRL estejam dentro das restrições de tamanho são manter os tempos de vida dos certificados dentro dos limites razoáveis e limpar os certificados expirados.

Etapa 1: selecione a plataforma do dispositivo

Para a plataforma do dispositivo sob sua responsabilidade, a primeira etapa é examinar o seguinte:

  • O suporte a aplicativos móveis do Office
  • Os requisitos específicos de implementação

As informações relacionadas existentes para as seguintes plataformas de dispositivos:

Etapa 2: Configuração de autoridades de certificação

Para configurar as autoridades de certificação no Azure Active Directory, carregue o seguinte para cada autoridade de certificação:

  • A parte pública do certificado, no formato .cer
  • As URLs para a Internet, em que as CRLs (Listas de Certificados Revogados) residem

Veja abaixo o esquema de uma autoridade de certificação:

    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 a configuração, você pode usar o Azure Active Directory PowerShell versão 2:

  1. Inicie o Windows PowerShell com os privilégios de administrador.

  2. Instale o módulo do Microsoft Azure AD versão 2.0.0.33 ou superior.

        Install-Module -Name AzureAD –RequiredVersion 2.0.0.33
    

Como essa é a primeira etapa de configuração, você precisa estabelecer uma conexão com seu locatário. Como existe uma conexão com o seu locatário, você pode revisar, adicionar, excluir e modificar autoridades de certificação confiáveis que são definidas em seu diretório.

Conectar

Para estabelecer uma conexão com seu locatário, use o cmdlet Connect-AzureAD:

    Connect-AzureAD

Recuperar

Para recuperar as autoridades de certificação confiáveis que são definidas em seu diretório, use o cmdlet Get-AzureADTrustedCertificateAuthority.

    Get-AzureADTrustedCertificateAuthority

Adicionar

Para criar uma autoridade de certificação confiável, use o cmdlet New-AzureADTrustedCertificateAuthority e defina o atributo crlDistributionPoint para um valor correto:

    $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

Remover

Para remover uma autoridade de certificação confiável, use o cmdlet Remove-AzureADTrustedCertificateAuthority:

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

Modificar

Para modificar uma autoridade de certificação confiável, use o cmdlet Set-AzureADTrustedCertificateAuthority:

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

Etapa 3: configurar a revogação

Para revogar um certificado do cliente, o Azure Active Directory busca a CRL (Lista de Certificados Revogados) nas URLs carregadas como parte das informações da autoridade de certificado e a armazena em cache. O carimbo de data/hora da última publicação (propriedadeEffective Date ) na CRL é usado para garantir que a CRL continua sendo válida. A CRL é referenciada periodicamente para revogar o acesso a certificados que fazem parte da lista.

Se uma revogação mais imediata for necessária (por exemplo, se um usuário perder um dispositivo), o token de autorização do usuário poderá ser invalidado. Para invalidar o token de autorização, defina o campo StsRefreshTokenValidFrom para esse usuário específico usando o Windows PowerShell. Você deve atualizar o campo StsRefreshTokenValidFrom para cada usuário do qual deseja revogar o acesso.

Para garantir que a revogação persista, é preciso definir Effective Date da CRL para uma data posterior ao valor definido por StsRefreshTokenValidFrom e garantir que o certificado em questão esteja na CRL.

As etapas a seguir descrevem o processo para atualizar e invalidar o token de autorização pela definição do campo StsRefreshTokenValidFrom .

  1. Conecte-se com credenciais de administrador ao serviço MSOL:

            $msolcred = get-credential
             connect-msolservice -credential $msolcred
    
  2. Recupere o valor StsRefreshTokensValidFrom atual para um usuário:

            $user = Get-MsolUser -UserPrincipalName test@yourdomain.com`
            $user.StsRefreshTokensValidFrom
    
  3. Configure um novo valor StsRefreshTokensValidFrom para o usuário igual ao carimbo de data/hora atual:

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

A data que você define deve estar no futuro. Se a data não estiver no futuro, a propriedade StsRefreshTokensValidFrom não será definida. Se a data estiver no futuro, StsRefreshTokensValidFrom será definida para a hora atual (não a data indicada pelo comando Set-MsolUser).

Etapa 4: testar a sua configuração

Teste do seu certificado

Como primeiro teste de configuração, entre no Outlook Web Access ou no SharePoint Online usando seu navegador no dispositivo.

Se a entrada for bem-sucedida, você saberá que:

  • O certificado de usuário foi provisionado para o seu dispositivo de teste
  • O AD FS está configurado corretamente

Testando aplicativos móveis do Office

  1. No seu dispositivo de teste, instale um aplicativo móvel do Office (por exemplo, OneDrive).
  2. Inicie o aplicativo.
  3. Insira seu nome de usuário e escolha o certificado de usuário que deseja usar.

Você deve se conectar com êxito.

Testando aplicativos cliente do Exchange ActiveSync

Para acessar o Exchange ActiveSync (EAS) por meio da autenticação baseada em certificado, um perfil do EAS que contém o certificado de cliente deve estar disponível para o aplicativo.

O perfil do EAS deve conter as seguintes informações:

  • O certificado do usuário a ser usado para autenticação

  • O ponto de extremidade do EAS (por exemplo, outlook.office365.com)

Um perfil do EAS pode ser configurado e colocado no dispositivo por meio da utilização de um gerenciamento de dispositivo móvel (MDM), como o Intune, ou colocando o certificado manualmente no perfil do EAS no dispositivo.

Testando os aplicativos cliente do EAS no Android

  1. Configure um perfil EAS no aplicativo que atenda aos requisitos da seção anterior.
  2. Abra o aplicativo e verifique a sincronização de email.

Próximas etapas

Informações adicionais sobre autenticação baseada em certificado nos dispositivos Android.

Informações adicionais sobre autenticação baseada em certificado nos dispositivos iOS.