Aggiungi e gestisci certificati TLS/SSL nel Servizio app di Azure
Nota
A partire dal 1° giugno 2024, tutte le app del servizio app appena create avranno la possibilità di generare un nome host predefinito univoco usando la convenzione di denominazione <app-name>-<random-hash>.<region>.azurewebsites.net
. I nomi delle app esistenti rimarranno invariati.
Esempio: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Per altri dettagli, fare riferimento a Nome host predefinito univoco per la risorsa del servizio app.
È possibile aggiungere certificati di sicurezza digitale da usare nel codice dell'applicazione o per contribuire a proteggere nomi DNS personalizzati nel Servizio app di Azure, che offre un servizio di hosting Web a scalabilità elevata e con applicazione automatica di patch. Attualmente denominati certificati TLS (Transport Layer Security), e precedentemente 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 dei siti Web.
La tabella seguente elenca le opzioni disponibili per aggiungere certificati nel servizio app:
Opzione | Descrizione |
---|---|
Creazione di un certificato gestito dal servizio app gratuito | Un certificato privato gratuito e facile da usare se occorre semplicemente migliorare la sicurezza per il dominio personalizzato nel Servizio app. |
Importare un certificato del 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 del servizio app.
Solo certificato gratuito:
Eseguire il mapping del dominio in cui deve risiedere il certificato al servizio app. Per informazioni, vedere Esercitazione: Eseguire il mapping di un nome DNS personalizzato esistente al Servizio app di Azure.
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 relativo 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:
- Deve essere esportato come file PFX protetto tramite password, crittografato con Triple DES
- Contenere una chiave privata di almeno 2048 bit
- Deve contenere tutti i certificati intermedi e il certificato radice nella catena di certificati
Se si vuole proteggere un dominio personalizzato in un'associazione TLS, il certificato deve soddisfare questi requisiti aggiuntivi:
- 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
Sebbene non siano descritti in questo articolo, i certificati di crittografia a curva ellittica (ECC) possono essere usati con il servizio app. Per informazioni sulla procedura per creare i certificati ECC, rivolgersi all'autorità di certificazione.
Nota
Dopo aver aggiunto un certificato privato a un'app, il certificato viene archiviato in un'unità di distribuzione associata alla combinazione di gruppo di risorse, area e sistema operativo del piano di servizio app, denominata internamente spazio Web. In questo modo il certificato è accessibile ad altre app nella stessa combinazione di gruppo di risorse, area e sistema operativo. I certificati privati caricati o importati nel servizio app vengono condivisi con i servizi app nella stessa unità di distribuzione.
È possibile aggiungere fino a 1.000 certificati privati per ogni spazio Web.
Creare un certificato gestito gratuito
Il certificato gratuito gestito dal Servizio app è una soluzione rapida ed efficace per contribuire a proteggere il proprio nome DNS personalizzato nel Servizio app. Senza alcun intervento da parte dell'utente, questo certificato server TLS/SSL è completamente gestito dal 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 vengono aggiornate con il certificato rinnovato. Creare e associare il certificato a un dominio personalizzato e consentire al servizio app di gestire tutte le altre operazioni.
Importante
Prima di creare un certificato gestito gratuito, assicurarsi di avere 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, compresa l'autorità di certificazione radice, possa cambiare in qualsiasi momento. Queste modifiche sono esterne al controllo. Assicurarsi di evitare dipendenze rigide e certificati di procedura di associazione al certificato gestito o a qualsiasi parte della gerarchia di certificati. Se occorre il comportamento di associazione 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.
- Deve essere disponibile in app accessibili pubblicamente.
- Non è supportato con i domini radice integrati con Gestione traffico.
- Deve soddisfare tutti i requisiti precedenti per il corretto rilascio e rinnovo dei certificati.
Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.
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 fornire sicurezza a un dominio personalizzato con questo certificato, è necessario anche creare un'associazione del certificato. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Importare un certificato del servizio app
Per importare un certificato del Servizio app, prima di tutto acquistare e configurare un certificato del Servizio app, quindi seguire questa procedura.
Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.
Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Aggiungi certificato.
In Origine selezionare Importa il certificato del servizio app.
In Certificato del servizio app selezionare il certificato appena creato.
In Nome descrittivo del certificato assegnare un nome al certificato nell'app.
Selezionare Convalida. Se la convalida ha esito positivo, selezionare Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring Your Own Certificate.
Per contribuire a proteggere un dominio personalizzato con questo certificato, è necessario anche creare un'associazione del certificato. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Importazione di un certificato da Key Vault
Se si usa Azure Key Vault per gestire i certificati, è possibile importare un certificato PKCS12 da Key Vault nel servizio app, purché siano soddisfatti 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 la distribuzione di un certificato, è necessario autorizzare l'accesso in lettura all'insieme di credenziali delle chiavi per il provider di risorse (servizio app). È possibile concedere l'accesso con criterio di accesso o controllo degli accessi in base al ruolo.
- Autorizzazioni per il controllo degli accessi in base al ruolo
- Autorizzazioni dei criteri di accesso
Provider di risorse | ID app dell'entità servizio/assegnatario | Ruolo Controllo degli accessi in base al ruolo dell'insieme di credenziali delle chiavi |
---|---|---|
Servizio app di Microsoft Azure o Microsoft.Azure.WebSites | - abfa0a7c-a6b6-4736-8310-5855508787cd per l'ambiente cloud di Azure pubblico - 6a02c803-dafd-4136-b4c3-5a6f318b4714 per l'ambiente cloud Azure per enti pubblici |
Utente del certificato |
Il valore dell'assegnatario o l'ID app principale del servizio è l'ID del provider di risorse del Servizio app. Per informazioni su come permettere le autorizzazioni dell'insieme di credenziali delle chiavi per il provider di risorse del Servizio app usando i criteri di accesso, vedere la documentazione su come fornire l'accesso a segreti, certificati e chiavi dell'insieme di credenziali delle chiavi, con un controllo degli accessi in base al ruolo di Azure.
Nota
Non eliminare queste autorizzazioni di controllo degli accessi in base al ruolo dall'insieme di credenziali delle chiavi. In caso contrario, il Servizio app non potrà sincronizzare l'app Web con la versione più recente del certificato dell'insieme di credenziali delle chiavi.
Importare un certificato nell'app dall'insieme di credenziali
Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.
Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Aggiungi certificato.
In Origine selezionare Importa da Key Vault.
Selezionare Seleziona certificato di Key Vault.
La tabella seguente contiene informazioni utili per facilitare la selezione del certificato:
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 Certificate. 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, il servizio app sincronizza automaticamente il certificato entro 24 ore.
Per contribuire a proteggere un dominio personalizzato con questo certificato, è necessario anche creare un'associazione del certificato. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Caricamento di un certificato privato
Dopo aver ottenuto un certificato dal provider di certificati, seguire i passaggi descritti in questa sezione per prepararlo per il Servizio app.
Unire i certificati intermedi
Se l'autorità di certificazione offre più certificati nella catena di certificati, è necessario unire i certificati nello stesso ordine.
Aprire ogni certificato ricevuto in un editor di testo.
Per archiviare il certificato unito, creare un file denominato mergedcertificate.crt.
Copiare il contenuto di ogni certificato in questo file. Assicurarsi di seguire la sequenza di certificati specificata dalla catena di certificati, iniziando con il 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 il certificato privato unito in un file PFX
A questo punto, esportare il certificato TLS/SSL unito con la chiave privata usata per generare la richiesta del certificato. Se la richiesta del certificato è stata generata usando OpenSSL, è stato creato un file di chiave privata.
Nota
In OpenSSL v3 la crittografia predefinita 3DES è stata sostituita con la crittografia 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 <merged-certificate-file> con i percorsi della chiave privata e del 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 caricherà il certificato TLS/SSL nel servizio app più avanti, sarà 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 esportarlo in un file PFX.
Caricare il certificato nel Servizio app
A questo punto si è pronti per caricare il certificato nel Servizio app.
Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.
Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Carica certificato.
La tabella seguente contiene informazioni utili per facilitare il caricamento del certificato PFX:
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 Certificate.
Per fornire sicurezza a un dominio personalizzato con questo certificato, è necessario anche creare un'associazione del certificato. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di 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 scenari specifici dell'Ambiente del Servizio app, vedere la documentazione relativa ai certificati e all'Ambiente del Servizio app.
È possibile caricare fino a 1.000 certificati pubblici per piano di servizio app.
Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.
Dal menu di spostamento dell'app selezionare Certificati>Certificati a chiave pubblica (.cer)>Aggiungi certificato.
La tabella seguente contiene informazioni utili per facilitare il caricamento del certificato CER:
Impostazione Descrizione File di 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 vedere Rendere accessibile il certificato.
Rinnovare un certificato in scadenza
Prima della scadenza di un certificato, assicurarsi di aggiungere il certificato rinnovato al servizio app e aggiornare le associazioni del certificato in cui il processo dipende dal tipo di certificato. Ad esempio, un certificato importato da Key Vault, incluso un certificato del servizio app, sincronizza automaticamente il 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 del servizio app
- Rinnovare un certificato importato da Key Vault
Rinnovare un certificato caricato
Quando si sostituisce un certificato in scadenza, il modo in cui si aggiorna l'associazione del certificato con il nuovo certificato potrebbe influire negativamente sull'esperienza utente. Ad esempo, l'indirizzo IP in ingresso può cambiare quando si elimina un'associazione, anche se tale associazione è basata su IP. Questo aspetto è particolarmente importante quando si rinnova un certificato che si trova già in un'associazione basata su IP. Per evitare che l'indirizzo IP dell'app cambi e per evitare tempi di inattività dell'app a causa di errori HTTPS, seguire questa procedura nella sequenza specificata:
Andare alla pagina Domini personalizzati per l'app, selezionare il pulsante ... e successivamente Aggiorna associazione.
Selezionare il nuovo certificato e successivamente Aggiorna.
Eliminare il certificato esistente.
Rinnovare un certificato importato da Key Vault
Nota
Per rinnovare un certificato del servizio app, vedere Rinnovare un certificato del servizio app.
Per rinnovare un certificato importato nel 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, il Servizio app sincronizza automaticamente il nuovo certificato e aggiorna qualsiasi associazione del certificato applicabile entro 24 ore. Per eseguire la sincronizzazione manualmente, seguire questa procedura:
Passare alla paginaCertificato dell'app.
In Bring Your Own Certificate (.pfx) selezionare il pulsante ... per il certificato dell'insieme di credenziali delle chiavi importato e quindi selezionare Sincronizza.
Domande frequenti
Come è possibile automatizzare l'aggiunta di un certificato Bring Your Own Certificate a un'app?
- Interfaccia della riga di comando di Azure: associare un certificato TLS/SSL personalizzato a un'app Web
- Azure PowerShell: associare un certificato TLS/SSL personalizzato a un'app Web usando PowerShell
È possibile usare un certificato dell'autorità di certificazione CA privata per TLS in ingresso nell'app?
È possibile usare un certificato della CA privata per TLS in ingresso in un Ambiente del Servizio app versione 3. Non è possibile nel servizio app (multi-tenant). Per altre informazioni sul servizio app multi-tenant e a tenant singolo, vedere Confronto tra Ambiente del servizio app v3 e Servizio app pubblico multi-tenant.
È possibile effettuare chiamate in uscita usando un certificato client dell'autorità di certificazione privato dall'app?
Questa opzione è supportata solo per le app contenitore di Windows nel servizio app multi-tenant. Inoltre, è possibile effettuare chiamate in uscita usando un certificato client della CA privata con app basate su codice e su contenitore in un Ambiente del Servizio app versione 3. Per altre informazioni sul servizio app multi-tenant e a tenant singolo, vedere Confronto tra Ambiente del servizio app v3 e Servizio app pubblico multi-tenant.
È possibile caricare un certificato della CA privata nell'archivio radice attendibile del Servizio app?
È possibile caricare il proprio certificato della CA nell'archivio radice attendibile in un Ambiente del Servizio app versione 3. Non è possibile modificare l'elenco di certificati radice attendibili nel servizio app (multi-tenant). Per altre informazioni sul servizio app multi-tenant e a tenant singolo, vedere Confronto tra Ambiente del servizio app v3 e Servizio app pubblico multi-tenant.