Visão geral sobre certificados para os Serviços de Nuvem do AzureCertificates overview for Azure Cloud Services

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).Certificates are used in Azure for cloud services (service certificates) and for authenticating with the management API (management certificates). Esse tópico fornece uma visão geral de ambos os tipos de certificado, como criá-los e implantá-los no Azure.This topic gives a general overview of both certificate types, how to create and deploy them to Azure.

Os certificados usados no Azure são certificados x.509 v3, que podem ser assinados por outro certificado confiável ou ser autoassinados.Certificates used in Azure are x.509 v3 certificates and can be signed by another trusted certificate or they can be self-signed. Um certificado autoassinado é assinado por seu próprio criador, portanto não é considerado confiável por padrão.A self-signed certificate is signed by its own creator, therefore it is not trusted by default. A maioria dos navegadores pode ignorar esse problema.Most browsers can ignore this problem. Você só deve usar certificados autoassinados ao desenvolver e testar seus serviços de nuvem.You should only use self-signed certificates when developing and testing your cloud services.

Os certificados usados pelo Azure podem conter uma chave particular ou pública.Certificates used by Azure can contain a private or a public key. Certificados têm uma impressão digital, que é um meio de identificá-los de maneira inequívoca.Certificates have a thumbprint that provides a means to identify them in an unambiguous way. Essa impressão digital é usada no arquivo de configuração do Azure para identificar qual certificado um serviço de nuvem deve usar.This thumbprint is used in the Azure configuration file to identify which certificate a cloud service should use.

Observação

O Azure Cloud Services não aceita o certificado criptografado por AES256-SHA256.Azure Cloud Services does not accept AES256-SHA256 encrypted certificate.

O que são certificados de serviço?What are service certificates?

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.Service certificates are attached to cloud services and enable secure communication to and from the service. Por exemplo, se você implantou uma função web, convém fornecer um certificado que pode autenticar um ponto de extremidade HTTPS exposto.For example, if you deployed a web role, you would want to supply a certificate that can authenticate an exposed HTTPS endpoint. 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.Service certificates, defined in your service definition, are automatically deployed to the virtual machine that is running an instance of your role.

Você pode carregar certificados de serviço para o Azure acessando o portal do Azure ou utilizando o modelo de implantação clássico.You can upload service certificates to Azure either using the Azure portal or by using the classic deployment model. Os certificados de serviço são associados um serviço de nuvem específico.Service certificates are associated with a specific cloud service. Eles são atribuídos a uma implantação no arquivo de definição de serviço.They are assigned to a deployment in the service definition file.

Certificados de serviço podem ser gerenciados separadamente de seus serviços e podem ser gerenciados por indivíduos diferentes.Service certificates can be managed separately from your services, and may be managed by different individuals. 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.For example, a developer may upload a service package that refers to a certificate that an IT manager has previously uploaded to 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.An IT manager can manage and renew that certificate (changing the configuration of the service) without needing to upload a new service package. 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.Updating without a new service package is possible because the logical name, store name, and location of the certificate is in the service definition file and while the certificate thumbprint is specified in the service configuration file. 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.To update the certificate, it's only necessary to upload a new certificate and change the thumbprint value in the service configuration file.

Observação

O artigo perguntas frequentes sobre serviços de nuvem – configuração e gerenciamento tem algumas informações úteis sobre certificados.The Cloud Services FAQ - Configuration and Management article has some helpful information about certificates.

O que são certificados de gerenciamento?What are management certificates?

Os certificados de gerenciamento permitem que você autentique com o modelo de implantação clássico.Management certificates allow you to authenticate with the classic deployment model. 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.Many programs and tools (such as Visual Studio or the Azure SDK) use these certificates to automate configuration and deployment of various Azure services. Eles serviços não estão, na verdade, relacionados a serviços de nuvem.These are not really related to cloud services.

Aviso

Portanto, tenha cuidado!Be careful! Esses tipos de certificados permitem que qualquer pessoa que os utilize para autenticação gerencie a assinatura à qual eles estão associados.These types of certificates allow anyone who authenticates with them to manage the subscription they are associated with.

LimitaçõesLimitations

Há um limite de 100 certificados de gerenciamento por assinatura.There is a limit of 100 management certificates per subscription. 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.There is also a limit of 100 management certificates for all subscriptions under a specific service administrator’s user ID. 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.If the user ID for the account administrator has already been used to add 100 management certificates and there is a need for more certificates, you can add a co-administrator to add the additional certificates.

Criar um Novo certificado autoassinadoCreate a new self-signed certificate

Você pode usar qualquer ferramenta disponível para criar um certificado autoassinado, desde que ela esteja de acordo com estas configurações:You can use any tool available to create a self-signed certificate as long as they adhere to these settings:

  • Um certificado X.509.An X.509 certificate.

  • Contém uma chave privada.Contains a private key.

  • Criado para troca de chaves (arquivo. pfx).Created for key exchange (.pfx file).

  • O nome de assunto deve corresponder ao domínio usado para acessar o serviço de nuvem.Subject name must match the domain used to access the cloud service.

    Você não pode adquirir um certificado 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.You cannot acquire an SSL certificate for the cloudapp.net (or for any Azure-related) domain; the certificate's subject name must match the custom domain name used to access your application. Por exemplo, contoso.net e não contoso.cloudapp.net.For example, contoso.net, not contoso.cloudapp.net.

  • Mínimo de criptografia de 2048 bits.Minimum of 2048-bit encryption.

  • Apenas Certificado de Serviço: o certificado do cliente deve residir no repositório de certificados Pessoal.Service Certificate Only: Client-side certificate must reside in the Personal certificate store.

Há duas maneiras fáceis de criar um certificado no Windows, com o utilitário makecert.exe ou o IIS.There are two easy ways to create a certificate on Windows, with the makecert.exe utility, or IIS.

Makecert.exeMakecert.exe

Esse utilitário foi preterido e não está documentado aqui.This utility has been deprecated and is no longer documented here. Para obter mais informações, consulte este artigo do MSDN.For more information, see this MSDN article.

PowerShellPowerShell

$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.If you want to use the certificate with an IP address instead of a domain, use the IP address in the -DnsName parameter.

Se você quiser usar este certificado com o portal de gerenciamento, exporte-o para um arquivo .cer :If you want to use this certificate with the management portal, export it to a .cer file:

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

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

Há muitas páginas na Internet que tratam de como fazer isso com o IIS.There are many pages on the internet that cover how to do this with IIS. Este é um ótimo site que descobri e que acho que explica bem.Here is a great one I found that I think explains it well.

LinuxLinux

Este artigo descreve como criar certificados com SSH.This article describes how to create certificates with SSH.

Próximas etapasNext steps

Carregar seu certificado de serviço no portal do Azure.Upload your service certificate to the Azure portal.

Carregar um certificado de gerenciamento de API no portal do Azure.Upload a management API certificate to the Azure portal.