Configurar autenticação baseada em certificados ou autenticação somente de app

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 5 min. de leitura
  • Uma integração inicial é necessária para autenticação usando objetos de aplicação. A aplicação e a entidade de serviço são usadas de forma intercambiável, mas uma aplicação é como um objeto de classe, enquanto uma entidade de serviço é como uma instância da classe.

    Para obter mais informações sobre objetos principais de serviço e aplicação no Azure Active Directory, consulte Objetos principais de serviço e aplicativo no Azure Active Directory. Para obter um fluxo visual detalhado sobre como criar aplicações no Azure AD, consulte Criar uma aplicação e entidade de serviço do Azure Active Directory que possa acessar recursos do.

    Para configurar a autenticação baseada em certificados ou a autenticação somente de app, execute as seguintes etapas:
    1. Registre a aplicação no Azure AD.
    2. Atribua permissões de API à aplicação.

      Para que o objeto de aplicação acesse recursos, ele precisa ter a permissão de aplicação Exchange.ManageAsApp e Mail.ReadWrite.

    3. Gere um certificado autoassinado e conceda acesso à chave privada.

      Crie e configure um certificado X.509 autoassinado, que é usado para autenticar sua aplicação em relação ao Azure AD, ao solicitar o token de acesso somente da aplicação. Os certificados de próxima geração (CNG) não são compatíveis com a autenticação somente de aplicativo com o Exchange. Os certificados CNG são criados por padrão nas versões modernas do Windows. Você deve usar um certificado de um provedor de chaves CSP. (-Provider = 'Provedor de criptografia forte da Microsoft').

    4. Anexe o certificado à aplicação do Azure AD.
    5. Atribua funções do Azure AD à aplicação.

      A aplicação precisa ter a função Administrador de conformidade do Azure AD atribuída.

    6. Crie uma nova entidade de serviço.

    Etapa 1: registrar a aplicação no Azure AD

    1. Abra o portal do Azure AD.
    2. Na caixa Pesquisar na parte superior da página, digite Registros de app.
    3. Selecione Registros de app nos resultados na seção Serviços.

      Como alternativa, você pode navegar até a página Registros de aplicações usando https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade.

    4. Na página Registros de aplicações, selecione Novo registro.
    5. Na páginaRegistrar uma aplicação, defina as seguintes configurações:
      Campo Descrição
      Nome Insira algo descritivo. Por exemplo, ExO PowerShell CBA.
      Tipos de conta compatíveis Verifique se Contas somente neste diretório organizacional ( <YourOrganizationName> somente - locatário único) está selecionado.

      Para tornar a aplicação multilocatária para cenários delegados do Exchange Online, selecione o valor Contas em qualquer diretório organizacional (Qualquer diretório do Azure AD - Multilocatário).

    6. Depois de concluir o registro do aplicativo, selecione Registrar e feche a página do aplicativo.

    Etapa 2: atribuir permissões de API à aplicação

    Os procedimentos nesta seção substituem todas as permissões padrão que foram configuradas automaticamente para o novo app. O app não precisa das permissões padrão que foram substituídas.

    1. Na página do aplicativo, selecione Manifesto em Gestão.
    2. Na página Manifesto, localize a entrada requiredResourceAccess (na linha 47 ou próximo a ela).
    3. Modifique os valores de resourceAppId, resourceAccess ide tipo de resourceAccess conforme mostrado no seguinte snippet de código:
      "requiredResourceAccess": [
      		{
      			"resourceAppId": "00000002-0000-0ff1-ce00-000000000000",
      			"resourceAccess": [
      				{
      					"id": "dc50a0fb-09a3-484d-be87-e023b12c6440",
      					"type": "Role"
      				}
      			]
      		},
      		{
      			"resourceAppId": "00000003-0000-0000-c000-000000000000",
      			"resourceAccess": [
      				{
      					"id": "e2a3a72e-5f79-4c64-b1b1-878b674786c9",
      					"type": "Role"
      				}
      			]
      		}
      	],
    4. Selecione Salvar.
    5. Na página Manifesto, selecione Permissões de API em Gestão.
    6. Na página Permissões de API, preencha os campos.
      Campo Descrição
      Nome da API/permissões Verifique se o valor Exchange.ManageAsApp e Mail.ReadWrite é mostrado.
      Status O valor incorreto atual é Não concedido para<Organization> , e este valor precisa ser alterado.

      Selecione Conceder consentimento ao administrador para<Organization> , leia a caixa de diálogo de confirmação que é aberta e selecione Sim.

      O valor de Status agora deve ser Concedido para<Organization> .

    7. Feche a página de permissões de API atual (não a guia do navegador) para retornar à página de registros da aplicação.

    Etapa 3: gerar um certificado autoassinado e conceder acesso à chave privada

    Crie um certificado x.509 autoassinado executando o seguinte:
    • Use os cmdlets New-SelfSignedCertificate, Export-Certificatee Export-PfxCertificate em uma sessão elevada (executar como administrador) do Windows PowerShell para solicitar um certificado autoassinado e exportá-lo para .cer e .pfx (SHA1 por padrão). Por exemplo:
      # Create certificate
      $mycert = New-SelfSignedCertificate -DnsName "snowsecops.onmicrosoft.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(2) -KeySpec KeyExchange -Provider "Microsoft Strong Cryptographic Provider"
      
      # Generate password fro private key
      $mypwd = ConvertTo-SecureString -String '<password>' -Force -AsPlainText
      
      # Export certificate to .pfx file
      $mycert | Export-PfxCertificate -FilePath mycert.pfx -Password $mypwd
      
      # Export certificate to .cer file
      $mycert | Export-Certificate -FilePath mycert.cer
    • Forneça acesso de chave privada ao usuário do serviço MID usando as seguintes etapas:
      1. Abra o MMC (Microsoft Management Console).
      2. No Console de gestão Microsoft (MMC), navegue até Certificados (computador local) > Pessoal > Certificados.

        (Se o MMC não tiver nenhum item de menu, adicione-o navegando até Arquivo > Adicionar/remover snap-in.

      3. Clique com o botão direito do mouse no certificado que você gerou.
      4. Expandir Todas as tarefas > Gerenciar chaves privadas
      5. Adicione o usuário do serviço MID à lista de acessadores.

    Etapa 4: anexar o certificado à aplicação do Azure AD

    Depois de registrar o certificado com sua aplicação, você pode usar a impressão digital para autenticação.
    1. Na guia Aplicações de propriedade na página Registro de aplicações no final da Etapa 2, selecione sua aplicação.

      Se você precisar voltar para a página Registro de aplicações, use https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/%7E/RegisteredApps, verifique se a guia Aplicações próprias está selecionada e selecione sua aplicação.

    2. Selecione Certificados e segredos em Gerenciar.
    3. Na página Certificados e segredos que é aberta, selecione Carregar certificado.
    4. Navegue até o certificado autoassinado (arquivo.cer ) que você criou na Etapa 3.
    5. Depois de concluir, selecione Adicionar.

      O certificado agora é mostrado na seção Certificados.

    6. Anote CertificateThumbprint e feche a página atual de certificados e segredos.

    Etapa 5: atribuir funções do Azure AD à aplicação

    1. Abra o portal do Azure AD.
    2. No campo Pesquisar na parte superior da página, procure Funções e Administradores.
    3. Selecione Funções e administradores do Azure AD nos resultados na seção Serviços.

      Como alternativa, você pode navegar até a página de funções e administradores do Azure AD usando https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade.

    4. Na página Funções e administradores do Azure AD, localize e selecione uma das funções compatíveis clicando no nome da função (não na caixa de seleção) nos resultados.

      Encontre e selecione a função de Administrador de Conformidade.

    5. Na página Atribuições, selecione Adicionar atribuições.
    6. No pop-up Adicionar atribuições, localize e selecione o app que você criou na Etapa 1.
    7. Depois de concluir, selecione Adicionar.
    8. Volte para a página Atribuições e verifique se a função foi atribuída ao app.

    Etapa 6: criar uma nova entidade de serviço

    Importante:
    Certifique-se de estar conectado ao PowerShell de Segurança e Conformidade antes de concluir as etapas para criar uma nova entidade de serviço. Criar uma nova entidade de serviço sem se conectar ao PowerShell não funcionará (a ID do app do Azure e a ID do objeto são necessárias para criar a nova entidade de serviço).
    1. Execute o seguinte comando para armazenar os detalhes da aplicação do Azure que você registrou na Etapa 1 (<AppName> ) em uma variável:
      Install-Module -Name AzureAD 
      Import-Module -Name AzureAD 
      Connect-AzureAD 
      $AADApp = Get-AzureADServicePrincipal -SearchString"<AppName>"

      Para obter informações detalhadas de sintaxe e parâmetro, consulte Get-AzureADServicePrincipal.

    2. Na mesma janela do PowerShell, conecte-se ao PowerShell de Segurança e Conformidade:
      Import-Module ExchangeOnlineManagement
      Connect-IPPSSession -CertificateThumbPrint "<Your_Certificate_ThumbPrint>" -AppID $AADApp.AppId -Organization "<Your_organization>
      Execute os seguintes comandos para criar um objeto principal de serviço para a aplicação do Azure:
      New-ServicePrincipal -AppId $AADApp.AppId -ObjectId $AADApp.ObjectId -DisplayName "<Descriptive Name>"

      Para obter informações detalhadas de sintaxe e parâmetro, consulte New-ServicePrincipal.