Panoramica sui certificati per i servizi cloud di AzureCertificates overview for Azure Cloud Services

I certificati vengono utilizzati in Azure per i servizi cloud (certificati di servizio) e per l'autenticazione con l'API di gestione (certificati di gestione quando si usa il portale di Azure classico e non il portale di Azure non classico).Certificates are used in Azure for cloud services (service certificates) and for authenticating with the management API (management certificates when using the Azure classic portal and not the non-classic Azure portal). Questo argomento offre informazioni generali su entrambi i tipi di certificati, su come crearli e come distribuirli in Azure.This topic gives a general overview of both certificate types, how to create and deploy them to Azure.

Quelli usati in Azure sono certificati x.509 v3 e possono essere firmati da un altro certificato attendibile o essere autofirmati.Certificates used in Azure are x.509 v3 certificates and can be signed by another trusted certificate or they can be self-signed. Un certificato autofirmato viene firmato dall'autore e pertanto non è attendibile per impostazione predefinita.A self-signed certificate is signed by its own creator, therefore it is not trusted by default. La maggior parte dei browser può ignorare questo problema.Most browsers can ignore this problem. È consigliabile utilizzare i certificati autofirmati solo quando si sviluppano e si testano servizi cloud.You should only use self-signed certificates when developing and testing your cloud services.

I certificati usati da Azure possono contenere una chiave privata o una pubblica.Certificates used by Azure can contain a private or a public key. I certificati hanno un'identificazione personale che consente di identificarli in modo non ambiguo.Certificates have a thumbprint that provides a means to identify them in an unambiguous way. Questa identificazione personale viene usata nel file di configurazione di Azure per identificare il certificato che un servizio cloud dovrebbe usare.This thumbprint is used in the Azure configuration file to identify which certificate a cloud service should use.

Cosa sono i certificati di servizio?What are service certificates?

I certificati di servizio sono associati ai servizi cloud e consentono la comunicazione sicura verso e dal servizio.Service certificates are attached to cloud services and enable secure communication to and from the service. Ad esempio, se si distribuisse un ruolo Web, si fornirebbe un certificato per autenticare un endpoint HTTPS esposto.For example, if you deployed a web role, you would want to supply a certificate that can authenticate an exposed HTTPS endpoint. I certificati di servizio, definiti nella definizione del servizio, vengono automaticamente distribuiti nella macchina virtuale che esegue un'istanza del ruolo.Service certificates, defined in your service definition, are automatically deployed to the virtual machine that is running an instance of your role.

È possibile caricare i certificati di servizio nel portale di Azure classico tramite il portale di Azure classico o usando il modello di distribuzione classico.You can upload service certificates to Azure classic portal either using the Azure classic portal or by using the classic deployment model. I certificati di servizio sono associati a uno specifico servizio cloud.Service certificates are associated with a specific cloud service. Vengono assegnati a una distribuzione nel file di definizione del servizio.They are assigned to a deployment in the service definition file.

I certificati di servizio possono essere gestiti separatamente dai servizi e da persone diverse.Service certificates can be managed separately from your services, and may be managed by different individuals. Ad esempio, uno sviluppatore può caricare un pacchetto del servizio che fa riferimento a un certificato caricato in precedenza in Azure da un responsabile IT.For example, a developer may upload a service package that refers to a certificate that an IT manager has previously uploaded to Azure. Un responsabile IT può gestire e rinnovare tale certificato, modificando la configurazione del servizio, senza dover caricare un nuovo pacchetto del servizio.An IT manager can manage and renew that certificate (changing the configuration of the service) without needing to upload a new service package. Questa operazione è possibile poiché il nome logico, il nome di archivio e il percorso vengono specificati nel file di definizione del servizio, mentre l'identificazione personale del certificato viene specificata nel file di configurazione del servizio.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. Per aggiornare il certificato, è sufficiente caricare un nuovo certificato e modificare il valore dell'identificazione personale nel file di configurazione del servizio.To update the certificate, it's only necessary to upload a new certificate and change the thumbprint value in the service configuration file.

Nota

L'articolo domande frequenti su Servizi cloud contiene alcune utili informazioni sui certificati.The Cloud Services FAQ article has some helpful information about certificates.

Cosa sono i certificati di gestione?What are management certificates?

I certificati di gestione consentono di eseguire l'autenticazione con il modello di distribuzione classico.Management certificates allow you to authenticate with the classic deployment model. Molti programmi e strumenti (ad esempio Visual Studio o Azure SDK) usano questi certificati per automatizzare la configurazione e la distribuzione di vari servizi di 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. Questi non sono realmente correlati ai servizi cloud.These are not really related to cloud services.

Avviso

Fare attenzione.Be careful! Questi tipi di certificati consentono a chiunque esegua l'autenticazione di gestire la sottoscrizione a cui sono associati.These types of certificates allow anyone who authenticates with them to manage the subscription they are associated with.

LimitazioniLimitations

È previsto un limite di 100 certificati di gestione per ogni sottoscrizione.There is a limit of 100 management certificates per subscription. È anche previsto un limite di 100 certificati di gestione per tutte le sottoscrizioni che fanno riferimento all'ID utente di un amministratore del servizio specifico.There is also a limit of 100 management certificates for all subscriptions under a specific service administrator’s user ID. Se l'ID utente per l'amministratore dell'account è già stato usato per aggiungere 100 certificati di gestione e ne sono necessari altri, è possibile aggiungere un coamministratore per aumentare il numero di certificati.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.

Prima di aggiungere più di 100 certificati, verificare se è possibile riutilizzarne uno esistente.Before adding more than 100 certificates, see if you can reuse an existing certificate. L'uso di coamministratori potrebbe rendere più complesso il processo di gestione dei certificati.Using co-administrators adds potentially unneeded complexity to your certificate management process.

Creare un nuovo certificato autofirmatoCreate a new self-signed certificate

È possibile usare qualsiasi strumento disponibile per creare un certificato autofirmato purché rispetti queste impostazioni:You can use any tool available to create a self-signed certificate as long as they adhere to these settings:

  • Un certificato X.509.An X.509 certificate.
  • Contiene una chiave privata.Contains a private key.
  • Viene creato per lo scambio di chiave (file PFX).Created for key exchange (.pfx file).
  • Il nome del soggetto deve corrispondere al dominio usato per accedere al servizio cloud.Subject name must match the domain used to access the cloud service.

    Non è possibile ottenere un certificato SSL per il dominio cloudapp.net o per domini di Azure. Il nome del soggetto del certificato deve pertanto corrispondere al nome di dominio personalizzato usato per accedere all'applicazione.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. Ad esempio contoso.net, non contoso.cloudapp.net.For example, contoso.net, not contoso.cloudapp.net.

  • Crittografia minima a 2048 bit.Minimum of 2048-bit encryption.

  • Solo certificato di servizio: il certificato lato client deve trovarsi nell'archivio certificati Personale .Service Certificate Only: Client-side certificate must reside in the Personal certificate store.

Sono disponibili due semplici modi per creare un certificato in Windows: con l'utilità makecert.exe o con IIS.There are two easy ways to create a certificate on Windows, with the makecert.exe utility, or IIS.

Makecert.exeMakecert.exe

Questa utilità è stata deprecata e di seguito non è più disponibile la relativa documentazione.This utility has been deprecated and is no longer documented here. Per altre informazioni, vedere questo articolo di MSDN.For more information, see this MSDN article.

PowerShellPowerShell

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

Nota

Se si vuole usare il certificato con un indirizzo IP anziché un dominio, usare l'indirizzo IP nel parametro -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 si desidera usare questo certificato con il portale di gestione, esportarlo in un file con estensione 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

Internet Information Services (IIS)Internet Information Services (IIS)

Su Internet sono disponibili molte pagine che spiegano come eseguire questa operazione con IIS.There are many pages on the internet that cover how to do this with IIS. Qui ce n’è uno ottimo che ho trovato che ritengo che spieghi bene.Here is a great one I found that I think explains it well.

LinuxLinux

Questo articolo descrive come creare certificati tramite SSH.This article describes how to create certificates with SSH.

Passaggi successiviNext steps

Caricare il certificato di servizio nel portale di Azure.Upload your service certificate to the Azure portal.

Caricare il certificato dell'API di gestione nel portale di Azure classico.Upload a management API certificate to the Azure classic portal. Il portale di Azure non usa i certificati di gestione per l'autenticazione.The Azure portal does not use management certificates for authentication.