Compartilhar via


Adicionar e gerenciar certificados TLS/SSL no Serviço de Aplicativo do Azure

Você pode adicionar certificados de segurança digital para usar no código do aplicativo ou para ajudar a proteger nomes DNS (Sistema de Nomes de Domínio) personalizados no Serviço de Aplicativo do Azure. O App Service fornece um serviço de hospedagem web altamente escalonável e com auto-atualização. Atualmente, os certificados são chamados de certificados TLS (Transport Layer Security). Eles eram conhecidos anteriormente como certificados SSL (Secure Sockets Layer). Esses certificados públicos ou privados ajudam você a proteger conexões com a Internet. Os certificados criptografam os dados enviados entre seu navegador, sites que você visita e o servidor do site.

A tabela a seguir lista as opções para você adicionar certificados no Serviço de Aplicativo.

Opção Descrição
Para criar um certificado gerenciado gratuito do Serviço de Aplicativo: Um certificado privado gratuito e fácil de usar se você precisar melhorar a segurança do seu domínio personalizado no Serviço de Aplicativo.
Importar um Certificado do Serviço de Aplicativo O Azure gerencia o certificado privado. Ele combina a simplicidade do gerenciamento automatizado de certificado e a flexibilidade das opções de renovação e exportação.
Importar um certificado do Azure Key Vault Útil se você usar o Key Vault para gerenciar seus certificados PKCS12. Consulte Requisitos do certificado privado.
Carregar um certificado privado Se você já tiver um certificado privado de um provedor que não seja da Microsoft, poderá carregá-lo. Consulte Requisitos do certificado privado.
Carregar um certificado público Os certificados públicos não são usados para proteger domínios personalizados, mas você pode carregá-los em seu código se precisar que eles acessem recursos remotos.

Pré-requisitos

Requisitos do certificado privado

O Certificado gerenciado gratuito do Serviço de Aplicativo e o certificado do Serviço de Aplicativo já atende aos requisitos do Serviço de Aplicativo. Se você optar por carregar ou importar um certificado privado no Serviço de Aplicativo, o certificado deverá atender aos seguintes requisitos:

Se você quiser ajudar a proteger um domínio personalizado em uma associação TLS, o certificado deverá atender a estes requisitos extras:

  • Contém um uso de chave estendida para autenticação de servidor (OID = 1.3.6.1.5.5.7.3.1).
  • Seja assinado por uma autoridade de certificação confiável.

Observação

Certificados ECC (Criptografia de Curva Elíptica) funcionam com o Serviço de Aplicativo quando carregados como um PFX, mas atualmente não podem ser importados do Key Vault. Eles não são abordados por este artigo. Para seguir exatamente estas etapas para criar certificados ECC, trabalhe com sua autoridade de certificação.

Depois de adicionar um certificado privado a um aplicativo, o certificado é armazenado em uma unidade de implantação associada à combinação de grupo de recursos, região e sistema operacional (SO) do plano do Serviço de Aplicativo. Internamente, ele é chamado de webspace. Dessa forma, o certificado é acessível a outros aplicativos no mesmo grupo de recursos, região e combinação de SO. Certificados privados carregados ou importados para o Serviço de Aplicativo são compartilhados com serviços de aplicativo na mesma unidade de implantação.

Você pode adicionar até 1.000 certificados privados por webspace.

Criar um certificado gerenciado gratuito

O certificado gerenciado gratuito do Serviço de Aplicativo é uma solução turnkey que ajuda a proteger seu nome DNS personalizado no Serviço de Aplicativo. O Serviço de Aplicativo gerencia esse certificado de servidor TLS/SSL sem nenhuma ação sua.

Antes de criar um certificado gerenciado gratuito, verifique se você atende aos pré-requisitos do aplicativo.

O DigiCert emite certificados gratuitos. Para alguns domínios, você deve permitir explicitamente o DigiCert como emissor de certificado criando um registro de domínio caa (autorização de autoridade de certificação) com o valor 0 issue digicert.com.

O Azure gerencia totalmente os certificados para você, portanto, qualquer aspecto do certificado gerenciado, incluindo o emissor raiz, pode ser alterado a qualquer momento. As renovações de certificado alteram as partes de chave pública e privada. Todas essas alterações de certificado estão fora do seu controle pessoal. Certifique-se de evitar dependências rígidas e de fixar certificados de prática no certificado gerenciado ou em qualquer parte da hierarquia de certificados. Se você precisar do comportamento de fixação de certificado, adicione um certificado ao seu domínio personalizado usando qualquer outro método disponível neste artigo.

O certificado gratuito apresenta as seguintes limitações:

  • Não oferece suporte a certificados curinga.
  • Não dá suporte ao uso como um certificado de cliente usando impressões digitais de certificado, o que tem a substituição e remoção programadas.
  • Não oferece suporte a DNS privado.
  • Não é exportável.
  • Não há suporte no Ambiente do Serviço de Aplicativo.
  • Dá suporte apenas a caracteres alfanuméricos, traços (-) e períodos (.).
  • Dá suporte a domínios personalizados de até 64 caracteres.
  • Precisa ter um registro A apontando para o endereço IP do aplicativo Web.
  • Deve estar em aplicativos publicamente acessíveis.
  • Não há suporte para domínios raiz integrados ao Gerenciador de Tráfego do Azure.
  • Deve atender a todos os critérios anteriores para emissões e renovações de certificado bem-sucedidas.
  1. No portal do Azure, no painel esquerdo, selecione Serviços de Aplicativo><nome-do-aplicativo>.

  2. No painel esquerdo do aplicativo, selecione Certificados. No painel Certificados Gerenciados , selecione Adicionar certificado.

    Captura de tela que mostra o painel do aplicativo com Certificados, Certificados Gerenciados e Adicionar certificado selecionado.

  3. Selecione o domínio personalizado para o certificado gratuito e selecione Validar. Quando a validação for concluída, selecione Adicionar. Só é possível criar apenas um certificado gerenciado para cada domínio personalizado compatível.

    Após a conclusão da operação, o certificado aparece na lista de certificados gerenciados .

    Captura de tela que mostra o painel Certificados Gerenciados com o novo certificado listado.

  4. Para fornecer segurança para um domínio personalizado com esse certificado, você deve criar uma associação de certificado. Siga as etapa em Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure.

Importar um Certificado do Serviço de Aplicativo

Para importar um certificado do Serviço de Aplicativo, primeiro compre e configure um certificado do Serviço de Aplicativo e depois siga as etapas aqui.

  1. No portal do Azure, no painel esquerdo, selecione Serviços de Aplicativo><nome-do-aplicativo>.

  2. No painel esquerdo do aplicativo, selecione Certificados>Tragam seus próprios certificados (.pfx)>Adicionar certificado.

  3. Em Origem, selecione Importar Certificado do Serviço de Aplicativo.

  4. No certificado do Serviço de Aplicativo, selecione o certificado que você criou.

  5. Em Nome amigável do certificado, dê ao certificado um nome em seu aplicativo.

  6. Selecione Validar. Depois que a validação for bem-sucedida, selecione Adicionar.

    Captura de tela que mostra a página de gerenciamento de aplicativos com Certificados, Traga seus próprios certificados (.pfx) e importe o certificado do Serviço de Aplicativo selecionado. O painel Adicionar certificado de chave privada mostra Validar.

    Após a conclusão da operação, o certificado aparece na lista Traga os seus próprios certificados (.pfx).

    Captura de tela que mostra o painel Traga os seus próprios certificados (.pfx) com o certificado comprado listado.

  7. Para ajudar a proteger um domínio personalizado com esse certificado, você deve criar uma associação de certificado. Siga as etapa em Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure.

Importar um certificado do Key Vault

Se você usar o Key Vault para gerenciar seus certificados, poderá importar um certificado PKCS12 para o Serviço de Aplicativo do Key Vault se atender aos requisitos.

Autorizar o Serviço de Aplicativo a ler no cofre

Por padrão, o provedor de recursos do Serviço de Aplicativo não tem acesso ao cofre de chaves. Para usar um cofre de chaves para uma implantação de certificado, você deve autorizar o acesso de leitura do provedor de recursos (Serviço de Aplicativo) ao cofre de chaves. Você pode conceder acesso com uma política de acesso ou controle de acesso baseado em função (RBAC).

Provedor de recursos ID do aplicativo da entidade de serviço/destinatário Função RBAC do Key Vault
Serviço de Aplicativo do Azure ou Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd para os Serviços de Nuvem do Azure

- 6a02c803-dafd-4136-b4c3-5a6f318b4714 para os Serviços de Nuvem do Azure para o Governo
Usuário do Certificado

O ID do aplicativo principal do serviço ou o valor do cessionário é o ID do provedor de recursos do Serviço de Aplicativo. Quando o acesso é concedido usando RBAC, o ID de objeto correspondente ao ID do aplicativo principal do serviço é específico para o locatário. Para saber como autorizar permissões do Key Vault para o provedor de recursos do Serviço de Aplicativo usando uma política de acesso, consulte Fornecer acesso a chaves, certificados e segredos do Key Vault com o controle de acesso baseado em função do Azure.

az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"

Importar um certificado de seu cofre para seu aplicativo

  1. No portal do Azure, no painel esquerdo, selecione Serviços de Aplicativo><nome-do-aplicativo>.

  2. No painel esquerdo do aplicativo, selecione Certificados>Tragam seus próprios certificados (.pfx)>Adicionar certificado.

  3. Em Origem, selecione Importar do Key Vault.

  4. Escolha Selecionar certificado do cofre de chaves.

    Captura de tela que mostra a página de gerenciamento de aplicativos com Certificados, Traga seus próprios certificados (.pfx) e Importe do Key Vault selecionado.

  5. Para ajudar você a selecionar o certificado, use a seguinte tabela:

    Configuração Descrição
    Assinatura A assinatura associada ao cofre de chaves.
    Cofre de chaves O cofre de chaves com o certificado que você quer importar.
    Certificado Nesta lista, selecione um certificado PKCS12 que esteja no cofre. Todos os certificados PKCS12 no cofre são listados com suas impressões digitais, mas nem todos têm suporte no Serviço de Aplicativo.
  6. Depois de concluir a seleção, escolha Selecionar>Validar e, em seguida, selecione Adicionar.

    Após a conclusão da operação, o certificado aparece na lista Traga os seus próprios certificados (.pfx). Se a importação falhar com um erro, o certificado não atenderá aos requisitos do Serviço de Aplicativo.

    Captura de tela que mostra o painel Traga seus próprios certificados (.pfx) com o certificado importado listado.

    Se você atualizar seu certificado no Key Vault com um novo certificado, o Serviço de Aplicativo sincronizará automaticamente o certificado em até 24 horas.

  7. Para ajudar a proteger um domínio personalizado com esse certificado, você deve criar uma associação de certificado. Siga as etapa em Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure.

Carregar um certificado privado

Depois de obter um certificado do provedor de certificados, prepare o certificado para Serviço de Aplicativo seguindo as etapas desta seção.

Mesclar certificados intermediários

Se a autoridade de certificação fornecer vários certificados na cadeia de certificados, você deverá mesclar os certificados seguindo a mesma ordem.

  1. Em um editor de texto, abra cada certificado recebido.

  2. Para armazenar o certificado mesclado, crie um arquivo chamado mergedcertificate.crt.

  3. Copie o conteúdo de cada certificado para este arquivo. Siga a sequência de certificados especificada pela cadeia de certificados. Comece com seu certificado e termine com o certificado raiz, por exemplo:

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

Exportar o certificado privado mesclado para .pfx

Agora exporte seu certificado TLS/SSL mesclado com a chave privada que foi usada para gerar a solicitação de certificado. Se você gerou sua solicitação de certificado usando o OpenSSL, criou um arquivo de chave privada.

O OpenSSL v3 alterou a criptografia padrão de 3DES para AES256. Use a linha -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1 de comando para substituir a alteração.

O OpenSSL v1 usa 3DES como o padrão, de modo que os arquivos .pfx gerados têm suporte sem modificações especiais.

  1. Para exportar seu certificado para um arquivo .pfx, execute o comando a seguir. Substitua os espaços reservados <arquivo-de-chave-privada> e <arquivo-de-certificado-mesclado> pelos caminhos da chave privada e do arquivo de certificado mesclado.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. Quando for solicitado, especifique uma senha para a operação de exportação. Depois, ao carregar seu certificado TLS/SSL para Serviço de Aplicativo, você deve fornecer essa senha.

  3. Se você usou o IIS ou Certreq.exe para gerar sua solicitação de certificado, instale o certificado no computador local e exporte o certificado para um arquivo .pfx.

Carregue o certificado no Serviço de Aplicativo do Azure

Agora você está pronto para carregar o certificado no Serviço de Aplicativo.

  1. No portal do Azure, no painel esquerdo, selecione Serviços de Aplicativo><nome-do-aplicativo>.

  2. No painel esquerdo do aplicativo, selecione Certificados>Tragam seus próprios certificados (.pfx)>Carregar certificado (.pfx).

    Captura de tela que mostra a página de gerenciamento de aplicativos com Certificados, Traga seus próprios certificados (.pfx) e carregue o certificado .pfx selecionado.

  3. Para ajudá-lo a carregar o certificado .pfx, use a seguinte tabela:

    Configuração Descrição
    Arquivo de certificado PFX Selecione o arquivo .pfx.
    Senha do certificado Insira a senha que você criou quando exportou o arquivo .pfx.
    Nome amigável do certificado O nome do certificado que aparece em seu aplicativo Web.
  4. Depois de concluir a seleção, escolha Selecionar>Validar e, em seguida, selecione Adicionar.

    Após a conclusão da operação, o certificado aparece na lista Traga os seus próprios certificados (.pfx).

    Captura de tela que mostra o painel Traga os seus próprios certificados com o certificado carregado listado.

  5. Para fornecer segurança para um domínio personalizado com esse certificado, você deve criar uma associação de certificado. Siga as etapa em Proteger um nome DNS personalizado com uma associação TLS/SSL no Serviço de Aplicativo do Azure.

Carregar um certificado público

Há suporte para certificados públicos no formato .cer.

Depois de carregar um certificado público em um aplicativo, ele será acessível apenas pelo aplicativo para o qual ele é carregado. Os certificados públicos devem ser carregados em cada aplicativo web individual que precise de acesso. Para cenários específicos do Ambiente do Serviço de Aplicativo, consulte a documentação para certificados e o Ambiente do Serviço de Aplicativo.

Você pode carregar até 1.000 certificados públicos por plano do Serviço de Aplicativo.

  1. No portal do Azure, no painel esquerdo, selecione Serviços de Aplicativo><nome-do-aplicativo>.

  2. No painel esquerdo do aplicativo, selecione Certificados certificados> dechave pública (.cer)>Adicionar certificado.

  3. Para ajudá-lo a carregar o certificado .cer, use a seguinte tabela:

    Configuração Descrição
    Arquivo de certificado .cer Selecione o arquivo .cer.
    Nome amigável do certificado O nome do certificado que aparece em seu aplicativo Web.
  4. Depois de concluir, selecione Adicionar.

    Captura de tela que mostra a página de gerenciamento de aplicativos. Ele mostra o certificado de chave pública a ser carregado e seu nome.

  5. Após o carregamento do certificado, copie a impressão digital do certificado e revise Tornar o certificado acessível.

Renovar um certificado prestes a expirar

Antes de um certificado expirar, adicione o certificado renovado ao Serviço de Aplicativo. Atualize as associações de certificado em que o processo depende do tipo de certificado. Por exemplo, um certificado importado do Key Vault, incluindo um certificado do Serviço de Aplicativo, é sincronizado automaticamente com o Serviço de Aplicativo a cada 24 horas e atualiza a associação TLS/SSL quando você renova o certificado.

Para um certificado carregado, não há nenhuma atualização de associação automática. Com base em seu cenário, revise a seção correspondente:

Renovar um certificado carregado

Ao substituir um certificado que está expirando, a maneira como você atualiza a vinculação do certificado com o novo certificado pode afetar negativamente a experiência do usuário. Por exemplo, seu endereço IP de entrada pode ser alterado quando você exclui uma associação, mesmo que essa associação seja baseada em IP. Esse resultado é especialmente eficaz quando você renova um certificado que já está em uma associação baseada em IP.

Para evitar uma alteração no endereço IP do aplicativo e evitar o tempo de inatividade do aplicativo devido a erros HTTPS, siga estas etapas:

  1. Carregar o novo certificado.

  2. Acesse a página Domínios personalizados do seu aplicativo, selecione o botão ... e, em seguida, selecione Atualizar vinculação.

  3. Selecione o novo certificado e selecione Atualizar.

  4. Excluir o certificado existente.

Renovar um certificado importado do Key Vault

Para renovar um certificado do Serviço de Aplicativo, confira Renovar um certificado do Serviço de Aplicativo.

Para renovar um certificado importado para o Serviço de Aplicativo do Key Vault, consulte Renovar seu certificado do Azure Key Vault.

Após a renovação do certificado no seu cofre de chaves, o Serviço de Aplicativo do Azure sincroniza automaticamente o novo certificado e atualiza qualquer vinculação de certificado aplicável dentro de 24 horas. Para sincronizar manualmente, siga estas etapas:

  1. Vá para a página Certificado do aplicativo.

  2. Em Traga seus próprios certificados (.pfx), selecione o botão ... para o certificado do cofre de chaves importado e, em seguida, selecione Sincronizar.

Perguntas frequentes

Como posso automatizar o processo de adição de um certificado próprio a um aplicativo?

Posso usar um certificado de autoridade de certificação privado para TLS de entrada em meu aplicativo?

Você pode usar um certificado de autoridade de certificação (AC) privada para TLS de entrada no Ambiente do Serviço de Aplicativo versão 3. Essa ação não é possível no Serviço de Aplicativo (multilocatário). Para obter mais informações sobre o Serviço de Aplicativo multilocatário versus de locatário único, confira Comparação entre o Ambiente do Serviço de Aplicativo v3 e o Serviço de Aplicativo multilocatário público.

Posso fazer chamadas de saída usando um certificado de cliente de autoridade de certificação privada do meu aplicativo?

Essa funcionalidade tem suporte apenas para aplicativos de contêiner do Windows no Serviço de Aplicativo multilocatário. Você pode fazer chamadas de saída usando um certificado de cliente de autoridade de certificação privada com aplicativos baseados em código e baseados em contêiner no Ambiente do Serviço de Aplicativo versão 3. Para obter mais informações sobre o Serviço de Aplicativo multilocatário versus de locatário único, confira Comparação entre o Ambiente do Serviço de Aplicativo v3 e o Serviço de Aplicativo multilocatário público.

Posso carregar um certificado de autoridade de certificação privado no meu repositório raiz confiável do Serviço de Aplicativo?

Você pode carregar o seu próprio certificado de autoridade de certificação no repositório raiz confiável no Ambiente do Serviço de Aplicativo versão 3. Você não pode modificar a lista de certificados raiz confiáveis no Serviço de Aplicativo (multilocatário). Para obter mais informações sobre o Serviço de Aplicativo multilocatário versus de locatário único, confira Comparação entre o Ambiente do Serviço de Aplicativo v3 e o Serviço de Aplicativo multilocatário público.

Os certificados do Serviço de Aplicativo podem ser usados para outros serviços?

Sim. Você pode exportar e usar certificados do Serviço de Aplicativo com o Gateway de Aplicativo do Azure ou outros serviços. Para obter mais informações, consulte o artigo do blog Criando uma cópia PFX local do Certificado do Serviço de Aplicativo.