Aggiungi e gestisci certificati TLS/SSL nel Servizio app di Azure
È possibile aggiungere certificati di sicurezza digitale da usare nel codice dell'applicazione o per proteggere i nomi DNS personalizzati nel servizio app Azure, che offre un servizio di hosting Web altamente scalabile e auto-patch. Attualmente denominati certificati TLS (Transport Layer Security), noti anche come certificati SSL (Secure Socket Layer), questi certificati privati o pubblici consentono di proteggere le connessioni Internet crittografando i dati inviati tra il browser, i siti Web visitati e il server del sito Web.
Nella tabella seguente sono elencate le opzioni per l'aggiunta di certificati in servizio app:
Opzione | Descrizione |
---|---|
Creazione di un certificato gestito dal servizio app gratuito | Un certificato privato gratuito e facile da usare se è sufficiente proteggere il dominio personalizzato in servizio app. |
Importare un certificato servizio app | Certificato privato gestito da Azure. Questa opzione combina la semplicità della gestione automatizzata dei certificati e la flessibilità delle opzioni di rinnovo e di esportazione. |
Importazione di un certificato da Key Vault | Utile se si usa Azure Key Vault per gestire i certificati PKCS12. Vedere Requisiti dei certificati privati. |
Caricamento di un certificato privato | Se si ha già un certificato privato rilasciato da un provider di terze parti, è possibile caricarlo. Vedere Requisiti dei certificati privati. |
Caricamento di un certificato pubblico | I certificati pubblici non vengono usati per proteggere i domini personalizzati, ma è possibile caricarli nel codice se sono necessari per accedere a risorse remote. |
Prerequisiti
Creare un'app del Servizio app di Azure. Il piano di servizio app dell'app deve essere nel livello Basic, Standard, Premium o Isolato. Vedere Aumentare le prestazioni di un'app per aggiornare il livello.
Per un certificato privato, assicurarsi che soddisfi tutti i requisiti di servizio app.
Solo certificato gratuito:
Eseguire il mapping del dominio in cui si desidera che il certificato servizio app. Per informazioni, vedere Esercitazione: Eseguire il mapping di un nome DNS personalizzato esistente a app Azure Servizio.
Per un dominio radice (ad esempio contoso.com), assicurarsi che per l'app non siano configurate restrizioni relative agli indirizzi IP. Sia la creazione del certificato che il suo rinnovo periodico per un dominio radice dipendono dal fatto che l'app sia raggiungibile da Internet.
Requisiti dei certificati privati
Il certificato gestito dal servizio app gratuito o il certificato del servizio app soddisfano già i requisiti del servizio. Se si sceglie di caricare o importare un certificato privato nel servizio app, il certificato deve soddisfare i requisiti seguenti:
- Esportato come file PFX protetto da password, crittografato tramite triple DES.
- Contenere una chiave privata di almeno 2048 bit
- Deve contenere tutti i certificati intermedi e il certificato radice nella catena di certificati.
Per proteggere un dominio personalizzato in un'associazione TLS, il certificato ha più requisiti:
- Contiene un'estensione di utilizzo chiavi avanzato per l'autenticazione server (OID = 1.3.6.1.5.5.7.3.1)
- Essere firmato da un'autorità di certificazione attendibile
Nota
I certificati ECC (Elliptic Curve Cryptography) funzionano con servizio app, ma non sono trattati in questo articolo. Per i passaggi esatti per creare certificati ECC, usare l'autorità di certificazione.
Nota
Dopo aver aggiunto un certificato privato a un'app, il certificato viene archiviato in un'unità di distribuzione associata al gruppo di risorse, all'area geografica e alla combinazione del sistema operativo del piano servizio app, chiamato internamente uno spazio Web. In questo modo, il certificato è accessibile ad altre app nello stesso gruppo di risorse, area geografica e combinazione del sistema operativo. I certificati privati caricati o importati in servizio app vengono condivisi con servizio app nella stessa unità di distribuzione.
È possibile aggiungere fino a 1000 certificati privati per ogni spazio Web.
Creare un certificato gestito gratuito
Il certificato gratuito gestito dal servizio app è una soluzione rapida ed efficace per proteggere il proprio nome DNS personalizzato nel servizio app. Senza alcuna azione da parte dell'utente, questo certificato server TLS/SSL viene completamente gestito da servizio app e viene rinnovato automaticamente in incrementi di sei mesi, 45 giorni prima della scadenza, purché i prerequisiti configurati rimangano invariati. Tutte le associazioni associate vengono aggiornate con il certificato rinnovato. Si crea e si associa il certificato a un dominio personalizzato e si servizio app eseguire il resto.
Importante
Prima di creare un certificato gestito gratuito, assicurarsi di aver soddisfatto i prerequisiti per l'app.
I certificati gratuiti vengono emessi da DigiCert. Per alcuni domini, è necessario consentire in modo esplicito DigiCert come autorità di certificazione creando un record di dominio CAA con il valore : 0 issue digicert.com
.
Azure gestisce completamente i certificati per conto dell'utente, in modo che qualsiasi aspetto del certificato gestito, incluso l'emittente radice, possa cambiare in qualsiasi momento. Queste modifiche sono esterne al controllo. Assicurarsi di evitare dipendenze hard e certificati di procedura di aggiunta al certificato gestito o a qualsiasi parte della gerarchia di certificati. Se è necessario il comportamento di aggiunta del certificato, aggiungere un certificato al dominio personalizzato usando qualsiasi altro metodo disponibile in questo articolo.
Il certificato gratuito presenta le limitazioni seguenti:
- Non supporta i certificati con caratteri jolly.
- Non supporta l'utilizzo come certificato client usando l'identificazione personale del certificato. Questa funzionalità è pianificata per la deprecazione e la rimozione.
- Non supporta il DNS privato.
- Non è esportabile.
- Non è supportato in un ambiente del servizio app.
- Supporta solo caratteri alfanumerici, trattini (-) e punti (.).
- Sono supportati solo domini personalizzati di lunghezza fino a 64 caratteri.
- Deve avere un record A che punta all'indirizzo IP dell'app Web.
- Non è supportato nelle app che non sono accessibili pubblicamente.
- Non è supportato con i domini radice integrati con Gestione traffico.
- Deve soddisfare tutti i passaggi precedenti per il corretto rilascio e i rinnovi dei certificati.
Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>
Nel menu di spostamento dell'app selezionare Certificati. Nel riquadro Certificati gestiti selezionare Aggiungi certificato.
Selezionare il dominio personalizzato per il certificato gratuito e quindi selezionare Convalida. Al termine della convalida, selezionare Aggiungi. È possibile creare un solo certificato gestito per ogni dominio personalizzato supportato.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Certificati gestiti.
Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.
Importare un certificato servizio app
Per importare un certificato servizio app, acquistare e configurare prima un certificato servizio app, quindi seguire questa procedura.
Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>
Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.
In Origine selezionare Importa servizio app certificato.
In servizio app certificato selezionare il certificato appena creato.
In Nome descrittivo certificato assegnare un nome al certificato nell'app.
Selezionare Convalida. Al termine della convalida, selezionare Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ).
Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.
Importazione di un certificato da Key Vault
Se si usa Azure Key Vault per gestire i certificati, è possibile importare un certificato PKCS12 in servizio app da Key Vault se si soddisfano i requisiti.
Autorizzare il servizio app per la lettura dall'insieme di credenziali
Per impostazione predefinita, il provider di risorse servizio app non ha accesso all'insieme di credenziali delle chiavi. Per usare un insieme di credenziali delle chiavi per una distribuzione di certificati, è necessario autorizzare l'accesso in lettura per il provider di risorse all'insieme di credenziali delle chiavi.
Nota
Attualmente, il portale di Azure non consente di configurare un certificato servizio app in Key Vault per l'uso del modello di controllo degli accessi in base al ruolo. È tuttavia possibile usare l'interfaccia della riga di comando di Azure, Azure PowerShell o una distribuzione di modelli di Resource Manager per eseguire questa configurazione. Per altre informazioni, vedere Fornire l'accesso a chiavi, certificati e segreti di Key Vault con un controllo degli accessi in base al ruolo di Azure.
Provider di risorse | AppId entità servizio | Autorizzazioni di accesso al segreto dell'insieme di credenziali delle chiavi | Autorizzazioni per i certificati dell'insieme di credenziali delle chiavi |
---|---|---|---|
Servizio Microsoft app Azure o Microsoft.Azure.WebSites | - abfa0a7c-a6b6-4736-8310-5855508787cd , che è lo stesso per tutte le sottoscrizioni di Azure - Per Azure per enti pubblici ambiente cloud, usare 6a02c803-dafd-4136-b4c3-5a6f318b4714 . |
Recupero | Recupero |
Microsoft.Azure.CertificateRegistration | Recupero List Set Elimina |
Recupero List |
Importare un certificato nell'app dall'insieme di credenziali
Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>
Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.
In Origine selezionare Importa da Key Vault.
Selezionare Seleziona certificato dell'insieme di credenziali delle chiavi.
Per facilitare la selezione del certificato, usare la tabella seguente:
Impostazione Descrizione Abbonamento Sottoscrizione associata all'insieme di credenziali delle chiavi. Key vault Insieme di credenziali delle chiavi con il certificato da importare. Certificate In questo elenco selezionare un certificato PKCS12 presente nell'insieme di credenziali. Tutti i certificati PKCS12 nell'insieme di credenziali sono elencati con le relative identificazioni, ma non tutti sono supportati nel servizio app. Al termine della selezione, selezionare Seleziona, Convalida e quindi Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ). Se l'importazione non riesce e viene restituito un errore, significa che il certificato non soddisfa i requisiti per il servizio app.
Nota
Se si aggiorna il certificato in Key Vault con un nuovo certificato, servizio app sincronizza automaticamente il certificato entro 24 ore.
Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.
Caricamento di un certificato privato
Dopo aver ottenuto un certificato dal provider di certificati, preparare il certificato per servizio app seguendo i passaggi descritti in questa sezione.
Unire i certificati intermedi
Se l'autorità di certificazione fornisce più certificati nella catena di certificati, è necessario unire i certificati seguendo lo stesso ordine.
In un editor di testo aprire ogni certificato ricevuto.
Per archiviare il certificato unito, creare un file denominato mergedcertificate.crt.
Copiare il contenuto per ogni certificato in questo file. Assicurarsi di seguire la sequenza di certificati specificata dalla catena di certificati, a partire dal certificato e terminando con il certificato radice, ad esempio:
-----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-----
Esportare un certificato privato unito in PFX
A questo punto, esportare il certificato TLS/SSL unito con la chiave privata usata per generare la richiesta di certificato. Se è stata generata la richiesta di certificato usando OpenSSL, è stato creato un file di chiave privata.
Nota
OpenSSL v3 ha modificato la crittografia predefinita da 3DES a AES256, ma è possibile eseguirne l'override nella riga di comando -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 usa 3DES come impostazione predefinita, quindi i file PFX generati sono supportati senza modifiche speciali.
Per esportare il certificato in un file PFX, eseguire il comando seguente, ma sostituire i segnaposto <private-key-file> e <merge-certificate-file> con i percorsi della chiave privata e il file di certificato unito.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
Quando richiesto, specificare una password per l'operazione di esportazione. Quando si carica il certificato TLS/SSL in servizio app versioni successive, è necessario specificare questa password.
Se è stato usato IIS o Certreq.exe per generare la richiesta di certificato, installare il certificato nel computer locale e quindi esportare il certificato in un file PFX.
Caricare il certificato nel servizio app
A questo punto si è pronti per caricare il certificato nel Servizio app.
Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>
Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)Upload Certificate (.pfx)>Upload Certificate (Carica certificato).
Per caricare il certificato pfx, usare la tabella seguente:
Impostazione Descrizione File di certificato PFX Selezionare il file pfx. Password certificato Immettere la password creata durante l'esportazione del file PFX. Nome descrittivo del certificato Nome del certificato che verrà visualizzato nell'app Web. Al termine della selezione, selezionare Seleziona, Convalida e quindi Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ).
Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.
Caricamento di un certificato pubblico
I certificati pubblici sono supportati nel formato .cer.
Nota
Dopo aver caricato un certificato pubblico in un'app, è accessibile solo dall'app in cui viene caricato. I certificati pubblici devono essere caricati in ogni singola app Web che necessita dell'accesso. Per ambiente del servizio app scenari specifici, vedere la documentazione relativa ai certificati e all'ambiente del servizio app
È possibile caricare fino a 1000 certificati pubblici per ogni piano di servizio app.
Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>
Dal menu di spostamento dell'app selezionare Certificati>certificati chiave pubblica (.cer)>Aggiungi certificato.
Per caricare il certificato .cer, usare la tabella seguente:
Impostazione Descrizione File del certificato CER Selezionare il file .cer. Nome descrittivo del certificato Nome del certificato che verrà visualizzato nell'app Web. Al termine, selezionare Aggiungi.
Dopo aver caricato il certificato, copiare l'identificazione personale del certificato e quindi esaminare Rendi il certificato accessibile.
Rinnovare un certificato in scadenza
Prima della scadenza di un certificato, assicurarsi di aggiungere il certificato rinnovato a servizio app e aggiornare le associazioni di certificati in cui il processo dipende dal tipo di certificato. Ad esempio, un certificato importato da Key Vault, incluso un certificato servizio app, esegue automaticamente la sincronizzazione con servizio app ogni 24 ore e aggiorna l'associazione TLS/SSL quando si rinnova il certificato. Per un certificato caricato, non è disponibile alcun aggiornamento automatico dell'associazione. In base allo scenario, esaminare la sezione corrispondente:
- Rinnovare un certificato caricato
- Rinnovare un certificato servizio app
- Rinnovare un certificato importato da Key Vault
Rinnovare il certificato caricato
Quando si sostituisce un certificato in scadenza, il modo in cui si aggiorna l'associazione di certificati con il nuovo certificato potrebbe influire negativamente sull'esperienza utente. Ad esempio, l'indirizzo IP in ingresso potrebbe cambiare quando si elimina un'associazione, anche se tale associazione è basata su IP. Questo risultato è particolarmente significativo quando si rinnova un certificato già in un'associazione basata su IP. Per evitare una modifica nell'indirizzo IP dell'app e per evitare tempi di inattività per l'app a causa di errori HTTPS, seguire questa procedura nella sequenza specificata:
Passare alla pagina Domini personalizzati per l'app, selezionare il pulsante azioni ... e selezionare Aggiorna associazione.
Selezionare il nuovo certificato e selezionare Aggiorna.
Eliminare il certificato esistente.
Rinnovare un certificato importato da Key Vault
Nota
Per rinnovare un certificato servizio app, vedere Rinnovare un certificato servizio app.
Per rinnovare un certificato importato in servizio app da Key Vault, vedere Rinnovare il certificato di Azure Key Vault.
Dopo il rinnovo del certificato all'interno dell'insieme di credenziali delle chiavi, servizio app sincronizza automaticamente il nuovo certificato e aggiorna qualsiasi associazione di certificati applicabile entro 24 ore. Per eseguire la sincronizzazione manualmente, seguire questa procedura:
Passare alla pagina Certificato dell'app.
In Bring your own certificates (.pfx), selezionare il pulsante ... details (Dettagli) per il certificato dell'insieme di credenziali delle chiavi importato e quindi selezionare Sincronizza.
Domande frequenti
- Come è possibile automatizzare l'aggiunta di un bring-your-owncertificate a un'app?
- Domande frequenti su certificati servizio app
Come è possibile automatizzare l'aggiunta di un bring-your-owncertificate a un'app?
- Interfaccia della riga di comando di Azure: associare un certificato TLS/SSL personalizzato a un'app Web
- Azure PowerShell Associa un certificato TLS/SSL personalizzato a un'app Web usando PowerShell
È possibile configurare un certificato ca privato nell'app?
servizio app include un elenco di certificati radice attendibili che non è possibile modificare nella versione variante multi-tenant di servizio app, ma è possibile caricare il proprio certificato ca nell'archivio radice attendibile in un ambiente del servizio app (A edizione Standard), che è un ambiente a tenant singolo in servizio app. I piani di servizio app Gratuito, Basic, Standard e Premium sono tutti multi-tenant e i piani isolati sono a tenant singolo.