Adicionar e gerenciar certificados TLS/SSL no Serviço de Aplicativo do Azure
Observação
A partir de 1º de junho de 2024, todos os aplicativos recém-criados do Serviço de Aplicativo terão a opção de gerar um nome do host padrão exclusivo usando a convenção de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net
. Os nomes de aplicativos existentes permanecerão inalterados.
Exemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Para obter mais detalhes, consulte Nome do Host Padrão Exclusivo para o Recurso Serviço de Aplicativo.
Você pode adicionar certificados de segurança digitais para usar no código do seu aplicativo ou para ajudar a proteger nomes DNS personalizados no Serviço de Aplicativo do Azure, que fornece um serviço de hospedagem na Web altamente escalável e com autocorreção. Atualmente chamados de certificados TLS (Transport Layer Security), também conhecidos anteriormente como certificados SSL (Secure Socket Layer), esses certificados públicos ou privados ajudam você a proteger conexões com a Internet criptografando dados enviados entre seu navegador, sites que você visita e o servidor do site.
A seguinte tabela lista as opções disponíveis para adição de 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ê só precisa melhorar a segurança do seu domínio personalizado no Serviço de Aplicativo do Azure. |
Importar um Certificado do Serviço de Aplicativo | Um certificado privado gerenciado pelo Azure. 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 Key Vault | Útil se você usar o Azure 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 de terceiros, 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
Crie um aplicativo do Serviço de Aplicativo. O plano de Serviço de Aplicativo do aplicativo deve estar na camada Básica, Standard, Premium ou Isolada. Confira Escalar um aplicativo para atualizar a camada.
Para um certificado privado, verifique se ele atende a todos os requisitos do Serviço de Aplicativo.
Apenas certificado gratuito:
Mapeie o domínio para o local onde você deseja um certificado para o Serviço de Aplicativo. Para obter informações, confira Tutorial: Mapear um nome DNS personalizado existente para o Serviço de Aplicativo do Azure.
Para um domínio raiz (como contoso.com), verifique se seu aplicativo não tem nenhuma restrição de IP configurada. Tanto a criação do certificado quanto sua renovação periódica para um domínio raiz dependem de seu aplicativo estar acessível pela Internet.
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:
- Exportado como um arquivo PFX protegido por senha, criptografado usando DES triplo
- Conter a chave privada com pelo menos 2048 bits
- Contém todos os certificados intermediários e o certificado raiz na cadeia de certificados
Se você quiser ajudar a proteger um domínio personalizado em uma vinculação TLS, o certificado deve atender a esses requisitos adicionais:
- Contém um Uso estendido de chave para autenticação do servidor (OID = 1.3.6.1.5.5.7.3.1)
- Assinado por uma autoridade de certificado confiável
Observação
Os certificados ECC (Criptografia de Curva Elíptica) funcionam com o Serviço de Aplicativo, mas não são abordados neste artigo. Para seguir exatamente estas etapas para criar certificados ECC, trabalhe com sua autoridade de certificação.
Observação
Depois de adicionar um certificado privado a um aplicativo, o certificado é armazenado em uma unidade de implantação associada ao grupo de recursos, à região e à combinação do sistema operacional do Plano do Serviço de Aplicativo, chamada internamente de webspace. Dessa forma, o certificado é acessível a outros aplicativos no mesmo grupo de recursos, região e combinação de SO. Os certificados privados carregados ou importados para o Serviço de Aplicativo são compartilhados com os Serviços de Aplicativos na mesma unidade de implantação.
Você pode adicionar até 1000 certificados privados por webspace.
Criar um certificado gerenciado gratuito
O certificado gerenciado gratuito do App Service é uma solução pronta para uso para ajudar a proteger seu nome DNS personalizado no Serviço de Aplicativo do Azure. Sem nenhuma ação de sua parte, ele é um certificado do servidor TLS/SSL totalmente gerenciado pelo Serviço de Aplicativo e renovado continuamente e automaticamente em incrementos de seis meses, 45 dias antes da expiração, desde que a configuração de pré-requisitos permaneça a mesma. Todas as associações relacionadas são atualizadas com o certificado renovado. Você cria o certificado, associa-o a um domínio personalizado e permite que o Serviço de Aplicativo faça o restante.
Importante
Antes de criar um certificado gerenciado gratuito, verifique se você atendeu aos pré-requisitos para seu aplicativo.
Os certificados gratuitos são emitidos pelo DigiCert. Para alguns domínios, é necessário permitir explicitamente a DigiCert como um emissor do certificado criando um registro de domínio CAA com o valor 0 issue digicert.com
.
O Azure gerencia totalmente os certificados em seu nome, portanto, qualquer aspecto do certificado gerenciado, incluindo o emissor raiz, pode ser alterado a qualquer momento. Essas alterações estão fora do seu controle. Evite dependências rígidas e "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 oferece suporte ao uso como um certificado de cliente utilizando a impressão digital do certificado, que está planejada para substituição e remoção.
- Não oferece suporte a DNS privado.
- Não é exportável.
- Não é suportado em um ambiente de Serviço de Aplicativo do Azure.
- Dá suporte apenas a caracteres alfanuméricos, traços (-) e pontos (.).
- Somente domínios personalizados com até 64 caracteres de comprimento têm suporte.
- Precisa ter um registro A apontando para o endereço IP do aplicativo Web.
- Deve estar em aplicativos publicamente acessíveis.
- Não tem suporte com domínios raiz integrados ao Gerenciador de Tráfego.
- É necessário atender a todos os requisitos acima para que as emissões e renovações de certificados sejam bem-sucedidas.
No portal do Azure, no menu à esquerda, selecione Serviços de Aplicativos><nome-do-aplicativo>.
No menu de navegação do aplicativo, selecione Certificados. No painel Certificados gerenciados, selecione Adicionar certificado.
Selecione o domínio personalizado para o certificado gratuito e selecione Validar. Após a conclusão da validação, selecione Adicionar. Só é possível criar apenas um certificado gerenciado para cada domínio personalizado compatível.
Quando a operação for concluída, o certificado aparecerá na lista Certificados gerenciados.
Para fornecer segurança para um domínio personalizado com esse certificado, você ainda precisa criar uma vinculaçã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.
No portal do Azure, no menu à esquerda, selecione Serviços de Aplicativos><nome-do-aplicativo>.
No menu de navegação do aplicativo, selecione Certificados>Traga seus certificados (.pfx)>Adicionar certificado.
Em Origem, selecione Importar Certificado do Serviço de Aplicativo.
Em Certificado do Serviço de Aplicativo, selecione o certificado que você acabou de criar.
Em Nome amigável do certificado, dê um nome ao certificado em seu aplicativo.
Selecione Validar. Depois que a validação for bem-sucedida, selecione Adicionar.
Quando a operação for concluída, o certificado aparecerá na lista Traga seus certificados.
Para ajudar a proteger um domínio personalizado com esse certificado, você ainda precisa criar uma vinculaçã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ê usa o Azure Key Vault para gerenciar seus certificados, você pode importar um certificado PKCS12 do Key Vault no Serviço de Aplicativo, contanto que você atenda 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 a política de acesso ou o RBAC.
Provedor de recursos | ID do aplicativo da entidade de serviço/destinatário | Função RBAC do cofre de chaves |
---|---|---|
Serviço de Aplicativo do Microsoft Azure ou Microsoft.Azure.WebSites | - abfa0a7c-a6b6-4736-8310-5855508787cd para o ambiente de nuvem pública do Azure - 6a02c803-dafd-4136-b4c3-5a6f318b4714 para o ambiente de nuvem do Azure Governamental |
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. Para saber como autorizar permissões do Key Vault para o provedor de recursos do App Service usando uma política de acesso, veja a documentação fornecer acesso às chaves, certificados e segredos do Key Vault com um controle de acesso baseado em função do Azure.
Observação
Não exclua essas permissões RBAC do cofre de chaves. Se você fizer isso, o Serviço de Aplicativo do Azure não poderá sincronizar seu aplicativo web com a versão mais recente do certificado do Key Vault.
Importar um certificado de seu cofre para seu aplicativo
No portal do Azure, no menu à esquerda, selecione Serviços de Aplicativos><nome-do-aplicativo>.
No menu de navegação do aplicativo, selecione Certificados>Traga seus certificados (.pfx)>Adicionar certificado.
Em Origem, selecione Importar do Key Vault.
Selecione Selecionar o certificado do cofre de chaves.
Para ajudar você a selecionar o certificado, use a seguinte tabela:
Configuração Descrição Assinatura A assinatura associada ao cofre de chaves. Key vault 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. Quando terminar sua seleção, selecione Selecionar, Validar e então Adicionar.
Quando a operação for concluída, o certificado aparecerá na lista Traga seus certificados. Se a importação falhar com um erro, o certificado não atenderá aos requisitos do Serviço de Aplicativo.
Observação
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.
Para ajudar a proteger o domínio personalizado com esse certificado, você ainda precisa criar uma vinculaçã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 certificado fornecer vários certificados na cadeia de certificados, você deverá mesclar os certificados seguindo a mesma ordem.
Em um editor de texto, abra cada certificado recebido.
Para armazenar o certificado mesclado, crie um arquivo chamado mergedcertificate.crt.
Copie o conteúdo de cada certificado para este arquivo. Siga a sequência de certificados especificada pela cadeia de certificados, começando com o certificado e terminando 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 a solicitação de certificado usando o OpenSSL, isso significa que você criou um arquivo de chave privada.
Observação
O OpenSSL v3 alterou a cifra padrão de 3DES para AES256, mas isso pode ser substituído na linha de comando: -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. O OpenSSL v1 usa 3DES como padrão, então os arquivos PFX gerados são suportados sem nenhuma modificação especial.
Para exportar seu certificado para um arquivo PFX, execute o comando a seguir, mas substitua os espaços reservados <private-key-file> e <merged-certificate-file> pelos caminhos para sua chave privada e seu arquivo de certificado mesclado.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
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.
Se você usou o IIS ou o Certreq.exe para gerar a solicitação de certificado, instale o certificado no computador local e, em seguida, 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.
No portal do Azure, no menu à esquerda, selecione Serviços de Aplicativos><nome-do-aplicativo>.
No menu de navegação do aplicativo, selecione Certificados>Traga seus certificados (.pfx)>Carregar certificado.
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 ao exportar o arquivo PFX. Nome amigável do certificado O nome do certificado que será mostrado em seu aplicativo Web. Quando terminar sua seleção, selecione Selecionar, Validar e então Adicionar.
Quando a operação for concluída, o certificado aparecerá na lista Traga seus certificados.
Para fornecer segurança para um domínio personalizado com esse certificado, você ainda precisa criar uma vinculaçã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.
Observação
Depois de carregar um certificado público em um aplicativo, ele só poderá ser acessado pelo aplicativo em que foi carregado. Os certificados públicos devem ser carregados em cada aplicativo web individual que precise de acesso. Para cenários específicos do Serviço de Aplicativo do Azure Environment, consulte a documentação para certificados e o App Service Environment.
Você pode carregar até 1.000 certificados públicos por Plano do Serviço de Aplicativo.
No portal do Azure, no menu à esquerda, selecione Serviços de Aplicativos><nome-do-aplicativo>.
No menu de navegação do aplicativo, selecione Certificados> Certificados de chave pública (.cer)>Adicionar certificado.
Para ajudá-lo a carregar o certificado .cer, use a seguinte tabela:
Configuração Descrição Arquivo do certificado CER Selecione o arquivo .cer. Nome amigável do certificado O nome do certificado que será mostrado em seu aplicativo Web. Quando terminar, selecione Adicionar.
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 que um certificado expire, adicione o certificado renovado ao Serviço de Aplicativo e 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
- Renovar um certificado do Serviço de Aplicativo
- Renovar um certificado importado do Key Vault
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 poderá ser alterado quando você excluir uma associação, mesmo se essa associação for baseada em IP. Esse resultado é especialmente impactante quando você renova um certificado que já está em uma associação com base em IP. Para evitar uma alteração no endereço IP de seu aplicativo e evitar tempo de inatividade no aplicativo decorrente de erros HTTP, siga estas etapas na sequência especificada:
Acesse a página Domínios personalizados do seu aplicativo, selecione o botão ... e, em seguida, selecione Atualizar vinculação.
Selecione o novo certificado e depois selecione Atualizar.
Excluir o certificado existente.
Renovar um certificado importado do Key Vault
Observação
Para renovar um certificado do Serviço de Aplicativo, confira Renovar um certificado do Serviço de Aplicativo.
Para renovar um certificado importado do Key Vault no Serviço de Aplicativo, revise 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:
Vá para a página Certificado do aplicativo.
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 a adição de um certificado "traga seu próprio" a um aplicativo?
- CLI do Azure: associar um certificado TLS/SSL personalizado a um aplicativo Web
- Azure PowerShell: vincular um certificado TLS/SSL personalizado a um aplicativo Web usando o PowerShell
Posso usar um certificado de AC (autoridade de certificação) privado para TLS de entrada no meu aplicativo?
Você pode usar um certificado de CA privado para TLS de entrada no Serviço de Aplicativo do Azure Environment versão 3. Essa opçã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 x 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 CA privado do meu aplicativo?
Essa opção só tem suporte para aplicativos de contêiner do Windows no Serviço de Aplicativo multilocatário. Além disso, você pode fazer chamadas de saída usando um certificado de cliente CA privado com aplicativos baseados em código e em contêiner no Serviço de Aplicativo do Azure Environment versão 3. Para obter mais informações sobre o Serviço de Aplicativo multilocatário x 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 CA privado no meu Serviço de Aplicativo do Azure Trusted Root Store?
Você pode carregar seu próprio certificado CA no Trusted Root Store no Serviço de Aplicativo do Azure Environment 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 x 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.