Descrição geral dos certificados para os Serviços Cloud do Azure

Importante

Serviços Cloud (clássico) é agora preterido para novos clientes e será descontinuado a 31 de agosto de 2024 para todos os clientes. As novas implementações devem utilizar o novo modelo de implementação baseado em Resource Manager do Azure Serviços Cloud (suporte alargado).

Os certificados são utilizados no Azure para serviços cloud (certificados de serviço) e para autenticação com a API de gestão (certificados de gestão). Este tópico fornece uma descrição geral de ambos os tipos de certificados, como criá-los e implementá-los no Azure.

Os certificados utilizados no Azure são certificados x.509 v3 e podem ser assinados por outro certificado fidedigno ou podem ser autoassinados. Um certificado autoassinado é assinado pelo seu próprio criador, pelo que não é considerado fidedigno por predefinição. A maioria dos browsers pode ignorar este problema. Só deve utilizar certificados autoassinados ao desenvolver e testar os seus serviços cloud.

Os certificados utilizados pelo Azure podem conter uma chave pública. Os certificados têm um thumbprint que fornece um meio para os identificar de forma inequívoca. Este thumbprint é utilizado no ficheiro de configuração do Azure para identificar o certificado que um serviço cloud deve utilizar.

Nota

O Azure Serviços Cloud não aceita um certificado encriptado AES256-SHA256.

O que são os certificados de serviço?

Os certificados de serviço são associados aos serviços cloud e permitem uma comunicação segura com os mesmos. Por exemplo, se implementou uma função Web, gostaria de fornecer um certificado que possa autenticar um ponto final HTTPS exposto. Os certificados de serviço, definidos na definição de serviço, são implementados automaticamente na máquina virtual que está a executar uma instância da sua função.

Pode carregar certificados de serviço no Azure através do portal do Azure ou do modelo de implementação clássico. Os certificados de serviço são associados a um serviço cloud específico. São atribuídos a uma implementação no ficheiro de definição do serviço.

Os certificados de serviço podem ser geridos separadamente dos seus serviços e podem ser geridos por indivíduos diferentes. Por exemplo, um programador pode carregar um pacote de serviço que se refere a um certificado que um gestor de TI carregou anteriormente para o Azure. Um gestor de TI pode gerir e renovar esse certificado (ao alterar a configuração do serviço) sem precisar de carregar um novo pacote de serviço. A atualização sem um novo pacote de serviço é possível porque o nome lógico, o nome do arquivo e a localização do certificado estão no ficheiro de definição de serviço e enquanto o thumbprint do certificado é especificado no ficheiro de configuração do serviço. Para atualizar o certificado, basta carregar um novo certificado e alterar o valor do thumbprint no ficheiro de configuração do serviço.

Nota

O artigo Serviços Cloud FAQ – Configuração e Gestão tem algumas informações úteis sobre certificados.

O que são os certificados de gestão?

Os certificados de gestão permitem-lhe efetuar autenticações com o modelo de implementação clássico. Muitos programas e ferramentas (por exemplo, o Visual Studio ou o SDK do Azure) utilizam estes certificados para automatizar a configuração e a implementação de vários serviços do Azure. Estes não estão realmente relacionados com os serviços cloud.

Aviso

Tenha cuidado! Estes tipos de certificados permitem que qualquer pessoa que efetue a autenticação com os mesmos faça a gestão da subscrição à qual está associada.

Limitações

Existe um limite de 100 certificados de gestão por subscrição. Existe também um limite de 100 certificados de gestão para todas as subscrições no ID de utilizador de um administrador de serviço específico. Se o ID de utilizador do administrador de conta já tiver sido utilizado para adicionar 100 certificados de gestão e existir uma necessidade de mais certificados, pode adicionar um coadministrador para adicionar os certificados adicionais.

Além disso, os certificados de gestão não podem ser utilizados com subscrições CSP, uma vez que as subscrições CSP só suportam o modelo de implementação Resource Manager do Azure e os certificados de gestão utilizam o modelo de implementação clássica. Referência do Azure Resource Manager vs. modelo de implementação clássica e Compreender a Autenticação com o SDK do Azure para .NET para obter mais informações sobre as suas opções para subscrições CSP.

Criar um novo certificado autoassinado

Pode utilizar qualquer ferramenta disponível para criar um certificado autoassinado, desde que cumpram estas definições:

  • Um certificado X.509.

  • Contém uma chave pública.

  • Criado para troca de chaves (ficheiro.pfx).

  • O nome do requerente tem de corresponder ao domínio utilizado para aceder ao serviço cloud.

    Não pode adquirir um certificado TLS/SSL para o domínio cloudapp.net (ou para qualquer domínio relacionado com o Azure). O nome do requerente do certificado tem de corresponder ao nome de domínio personalizado utilizado para aceder à sua aplicação. Por exemplo, contoso.net, não contoso.cloudapp.net.

  • Mínimo de encriptação de 2048 bits.

  • Apenas Certificado de Serviço: o certificado do lado do cliente tem de residir no arquivo de certificados Pessoal .

Existem duas formas fáceis de criar um certificado no Windows, com o utilitário ou o makecert.exe IIS.

Makecert.exe

Este utilitário foi preterido e já não está documentado aqui. Para obter mais informações, veja este artigo da MSDN.

PowerShell

$cert = New-SelfSignedCertificate -DnsName yourdomain.cloudapp.net -CertStoreLocation "cert:\LocalMachine\My" -KeyLength 2048 -KeySpec "KeyExchange"
$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath ".\my-cert-file.pfx" -Password $password

Nota

Se quiser utilizar o certificado com um endereço IP em vez de um domínio, utilize o endereço IP no parâmetro -DnsName.

Se quiser utilizar este certificado com o portal de gestão, exporte-o para um ficheiro .cer :

Export-Certificate -Type CERT -Cert $cert -FilePath .\my-cert-file.cer

Serviços de Informação de Internet (IIS)

Existem muitas páginas na Internet que abrangem como fazê-lo com o IIS. Aqui está uma grande que encontrei que acho que explica bem.

Linux

Este artigo descreve como criar certificados com SSH.

Passos seguintes

Carregue o certificado de serviço para o portal do Azure.

Carregue um certificado de API de gestão para o portal do Azure.