Visão geral sobre certificados para os Serviços de Nuvem do Azure (clássico)

Importante

Os Serviços de Nuvem (clássicos) agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024 para todos os clientes. As novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido) .

Os certificados são usados no Azure para serviços de nuvem (certificados de serviço) e para a autenticação com o gerenciamento de API (certificados de gerenciamento). Esse tópico fornece uma visão geral de ambos os tipos de certificado, como criá-los e implantá-los no Azure.

Os certificados usados no Azure são certificados x.509 v3, que podem ser assinados por outro certificado confiável ou ser autoassinados. Um certificado autoassinado é assinado por seu próprio criador, portanto não é considerado confiável por padrão. A maioria dos navegadores pode ignorar esse problema. Você só deve usar certificados autoassinados ao desenvolver e testar seus serviços de nuvem.

Os certificados usados pelo Azure podem conter uma chave pública. Certificados têm uma impressão digital, que é um meio de identificá-los de maneira inequívoca. Essa impressão digital é usada no arquivo de configuração do Azure para identificar qual certificado um serviço de nuvem deve usar.

Observação

O Azure Cloud Services não aceita o certificado criptografado por AES256-SHA256.

O que são certificados de serviço?

Certificados de serviço são anexados aos serviços de nuvem e possibilitam que a comunicação feita com e por meio deles seja segura. Por exemplo, se você implantou uma função web, convém fornecer um certificado que pode autenticar um ponto de extremidade HTTPS exposto. Certificados de serviço, definidos em sua definição de serviço, são implantados automaticamente na máquina virtual que está executando uma instância de sua função.

Você pode carregar certificados de serviço para o Azure acessando o portal do Azure ou utilizando o modelo de implantação clássico. Os certificados de serviço são associados um serviço de nuvem específico. Eles são atribuídos a uma implantação no arquivo de definição de serviço.

Certificados de serviço podem ser gerenciados separadamente de seus serviços e podem ser gerenciados por indivíduos diferentes. Por exemplo, um desenvolvedor pode carregar um pacote de serviço que se refere a um certificado que um gerente de TI carregou anteriormente no Azure. Um gerente de TI pode gerenciar e renovar esse certificado alterando a configuração do serviço sem precisar 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 repositório e o local do certificado estão no arquivo de definição de serviço, enquanto que a impressão digital do certificado está especificada no arquivo de configuração de serviço. Para atualizar o certificado, é necessário apenas carregar um novo certificado e alterar o valor da impressão digital no arquivo de configuração de serviço.

Observação

O artigo Perguntas frequentes sobre os Serviços de Nuvem – Configuração e Gerenciamento tem algumas informações úteis sobre certificados.

O que são certificados de gerenciamento?

Os certificados de gerenciamento permitem que você autentique com o modelo de implantação clássico. Muitos programas e ferramentas (como o Visual Studio ou o SDK do Azure) usam esses certificados para automatizar a configuração e a implantação de diversos serviços do Azure. Eles serviços não estão, na verdade, relacionados a serviços de nuvem.

Aviso

Portanto, tenha cuidado! Esses tipos de certificados permitem que qualquer pessoa que os utilize para autenticação gerencie a assinatura à qual eles estão associados.

Limitações

Há um limite de 100 certificados de gerenciamento por assinatura. Também há um limite de 100 certificados de gerenciamento para todas as assinaturas com a ID de usuário de um administrador de serviços específico. Se a ID de usuário do administrador da conta já foi usada para adicionar 100 certificados de gerenciamento e houver necessidade de mais certificados, você pode adicionar um coadministrador para adicionar esses certificados.

Além disso, os certificados de gerenciamento não podem ser usados com assinaturas do CSP, pois as assinaturas do CSP dão suporte somente ao modelo de implantação do Azure Resource Manager e os certificados de gerenciamento usam o modelo de implantação clássico. Referência Azure Resource Manager vs modelo de implantação clássico e Compreendendo Autenticação com o SDK do Azure para .NET para obter mais informações sobre suas opções para assinaturas do CSP.

Criar um Novo certificado autoassinado

Você pode usar qualquer ferramenta disponível para criar um certificado autoassinado, desde que ela esteja de acordo com estas configurações:

  • Um certificado X.509.

  • Contém uma chave pública.

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

  • O nome de assunto deve corresponder ao domínio usado para acessar o serviço de nuvem.

    Você não pode adquirir um certificado TLS/SSL para o domínio cloudapp.net (ou para qualquer um relacionado ao Azure); o nome de assunto do certificado deve corresponder ao nome do domínio personalizado usado para acessar o aplicativo. Por exemplo, contoso.net e não contoso.cloudapp.net.

  • Mínimo de criptografia de 2048 bits.

  • Apenas Certificado de Serviço: o certificado do cliente deve residir no repositório de certificados Pessoal .

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

Makecert.exe

Esse utilitário foi preterido e não está documentado aqui. Para obter mais informações, consulte este artigo do 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

Observação

Se você quiser usar o certificado com um endereço IP em vez de um domínio, use o endereço IP no parâmetro - DnsName.

Se você quiser usar este certificado com o portal de gerenciamento, exporte-o para um arquivo .cer :

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

Serviços de Informações da Internet (IIS)

Há muitas páginas na Internet que tratam de como fazer isso com o IIS. Este é um ótimo site que descobri e que acho que explica bem.

Linux

Este artigo descreve como criar certificados com SSH.

Próximas etapas

Carregar seu certificado de serviço no portal do Azure.

Carregar um certificado de gerenciamento de API no portal do Azure.