Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile aggiungere certificati di sicurezza digitale da usare nel codice dell'applicazione o per proteggere i nomi DNS (Domain Name System) personalizzati nel servizio app di Azure. App Service offre un servizio di hosting web altamente scalabile e con aggiornamento automatico delle patch. I certificati sono attualmente denominati certificati TLS (Transport Layer Security). In precedenza erano noti come certificati SSL (Secure Sockets Layer). Questi certificati privati o pubblici consentono di proteggere le connessioni Internet. I certificati crittografano 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 nel servizio app.
Opzione | Descrizione |
---|---|
Creare un certificato gestito del servizio app gratuito | Un certificato privato gratuito e facile da usare se è necessario migliorare la sicurezza per il dominio personalizzato nel servizio app. |
Importare un certificato del servizio app | Azure gestisce il certificato privato. Combina la semplicità della gestione automatica dei certificati e la flessibilità delle opzioni di rinnovo ed esportazione. |
Importare un certificato da Azure Key Vault | Utile se si usa Key Vault per gestire i certificati PKCS12. Vedere Requisiti dei certificati privati. |
Caricare un certificato privato | Se si dispone già di un certificato privato da un provider non Microsoft, è possibile caricarlo. Vedere Requisiti dei certificati privati. |
Caricare un certificato pubblico | I certificati pubblici non vengono utilizzati 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. Il piano di Servizio app dell'app deve essere di livello Basic, Standard, Premium o Isolato. Per aggiornare il livello, vedere Aumentare le prestazioni di un'app.
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 altre 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 l'app non abbia restrizioni IP configurate. Sia la creazione del certificato che il relativo rinnovo periodico per un dominio radice dipendono dalla raggiungibilità dell'app da Internet.
Requisiti dei certificati privati
Il certificato gratuito gestito dal servizio app o il certificato del servizio app soddisfano già i requisiti di tale servizio. Se si sceglie di caricare o importare un certificato privato nel servizio app, il certificato deve soddisfare i requisiti seguenti:
- Esportare come file PFX protetto da password.
- Contenere tutti i certificati intermedi e il certificato radice nella catena dei certificati.
Se si vuole proteggere un dominio personalizzato in un'associazione TLS, il certificato deve soddisfare questi requisiti aggiuntivi:
- Contenere un utilizzo di chiavi esteso 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 il servizio app quando vengono caricati come PFX, ma attualmente non possono essere importati da Key Vault. Non sono trattati in questo articolo. Per informazioni sulla procedura per creare i certificati ECC, rivolgersi all'autorità di certificazione.
Dopo aver aggiunto un certificato privato a un'app, il certificato viene archiviato in un'unità di distribuzione associata alla combinazione del gruppo di risorse, dell'area e del sistema operativo del piano di servizio app. Internamente, si chiama 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 gestito del servizio app gratuito è una soluzione chiavi in mano che consente di proteggere il nome DNS personalizzato nel servizio app. Il servizio app gestisce questo certificato server TLS/SSL senza alcuna azione da parte dell'utente.
Prima di creare un certificato gestito gratuito, assicurarsi di soddisfare i prerequisiti per l'app .
DigiCert rilascia certificati gratuiti. Per alcuni domini, è necessario consentire in modo esplicito DigiCert come autorità di certificazione creando un record di dominio CAA (Certification Authority Authorization) con il valore 0 issue digicert.com
.
Azure gestisce completamente i certificati, in modo che qualsiasi aspetto del certificato gestito, incluso l'emittente radice, possa cambiare in qualsiasi momento. I rinnovi dei certificati possono modificare parti delle chiavi sia pubbliche che private. Tutte queste modifiche al certificato sono esterne al controllo. Assicurarsi di evitare dipendenze rigide e di evitare di ancorare i certificati di prova al certificato gestito o a qualsiasi parte della gerarchia di certificati. Se è necessario il comportamento di pinning del certificato, aggiungere un certificato al dominio personalizzato utilizzando un qualsiasi altro metodo disponibile in questo articolo.
Il certificato gratuito presenta le limitazioni seguenti:
- Non supporta certificati con caratteri jolly.
- Non supporta l'uso come certificato client tramite impronte digitali dei certificati, la cui deprecazione e rimozione sono pianificate.
- Non supporta il DNS privato.
- Non può essere esportato.
- Non è supportato in App Service Environment.
- Supporta solo caratteri alfanumerici, trattini (-) e punti (.).
- Supporta domini personalizzati di lunghezza massima di 64 caratteri.
- Deve avere un record A che punta all'indirizzo IP dell'app Web.
- Deve essere disponibile in app accessibili pubblicamente.
- Non sono supportati per i domini principali integrati con Azure Traffic Manager.
- Deve soddisfare tutti i criteri precedenti per il corretto rilascio e i rinnovi dei certificati.
Nel riquadro sinistro del portale di Azure, selezionare App Services><nomeapp>.
Nel riquadro sinistro 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 garantire la sicurezza per un dominio personalizzato con questo certificato, è necessario creare un'associazione di certificati. 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 riquadro sinistro del portale di Azure, selezionare App Services><nomeapp>.
Nel riquadro sinistro dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.
In Origine selezionare Importa certificato del servizio app.
In Certificato del servizio app selezionare il certificato creato.
In Nome descrittivo certificato, dare un nome al certificato nella tua app.
Selezionare Convalida. Se la convalida ha esito positivo, selezionare Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (.pfx).
Per proteggere un dominio personalizzato con questo certificato, è necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Importare un certificato da Key Vault
Se si usa Key Vault per gestire i certificati, è possibile importare un certificato PKCS12 nel 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 del servizio app non ha accesso all'insieme di credenziali delle chiavi. Per utilizzare 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 criteri 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 Key Vault RBAC |
---|---|---|
Servizio app di Azure o Microsoft.Azure.WebSites |
-
abfa0a7c-a6b6-4736-8310-5855508787cd per Servizi cloud di Azure - 6a02c803-dafd-4136-b4c3-5a6f318b4714 per Servizi cloud di Azure per enti pubblici |
Utente del certificato |
Il valore dell'ID app o l’assegnatario dell’entità servizio è l’ID del provider di risorse del servizio app. Quando l'accesso viene concesso tramite RBAC, l'ID oggetto corrispondente dell'ID app del principale di servizio è specifico del tenant. Per informazioni su come autorizzare le autorizzazioni di Key Vault per il provider di risorse del servizio app usando un criterio di accesso, vedere Fornire l'accesso a chiavi, certificati e segreti di Key Vault con il controllo degli accessi in base al ruolo di Azure.
az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"
Importare un certificato dall'insieme di credenziali nell’app
Nel riquadro sinistro del portale di Azure, selezionare App Services><nomeapp>.
Nel riquadro sinistro dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.
Nell'Origine, selezionare Importa da Key Vault.
Scegliere Seleziona certificato del key vault.
La tabella seguente contiene informazioni utili per facilitare la selezione del certificato:
Impostazione Descrizione Sottoscrizione Sottoscrizione associata all'insieme di credenziali delle chiavi. Archivio di chiavi Insieme di credenziali delle chiavi con il certificato da importare. Certificato In questo elenco selezionare un certificato PKCS12 presente nell'insieme di credenziali. Nell’insieme di credenziali sono elencati tutti i certificati PKCS12 con le relative identificazioni, benché non tutti siano supportati nel servizio app. Dopo aver completato la selezione, scegliere Seleziona>convalida e quindi selezionare Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (.pfx). Se l'importazione non riesce e viene restituito un errore, significa che il certificato non soddisfa i requisiti per il servizio app.
Se si aggiorna il certificato in Key Vault con un nuovo certificato, il servizio app sincronizza automaticamente il certificato entro 24 ore.
Per proteggere un dominio personalizzato con questo certificato, è necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Caricare un certificato privato
Dopo aver ottenuto un certificato dal provider di certificati, seguire la procedura descritta in questa sezione per prepararlo per il servizio app.
Unire i certificati intermedi
Se l'autorità di certificazione fornisce più certificati nella catena di certificati, è necessario unire i certificati seguendo lo 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. Iniziare con il certificato e terminare 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 .PFX
Quindi, esportare il certificato TLS/SSL unito con la chiave privata utilizzata per generare la richiesta del certificato. Se è stata generata la richiesta di certificato usando OpenSSL, è stato creato un file di chiave privata.
OpenSSL v3 ha modificato la crittografia predefinita da 3DES a AES256. Usare la riga -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1
di comando per eseguire l'override della modifica.
OpenSSL v1 usa 3DES come impostazione predefinita, pertanto i file con estensione pfx generati sono supportati senza alcuna modifica speciale.
Per esportare il certificato in un file pfx, eseguire il comando seguente. Sostituire i segnaposto private-key-file e< merge-certificate-file><>
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 esportare il certificato in un file pfx.
Caricare il certificato nel servizio app
A questo punto è possibile caricare il certificato nel servizio app.
Nel riquadro sinistro del portale di Azure, selezionare App Services><nomeapp>.
Nel riquadro sinistro dell'app, selezionare Certificati>Carica i tuoi certificati (.pfx)>Carica certificato (.pfx).
Utilizzare la tabella seguente per facilitare il caricamento del certificato PFX:
Impostazione Descrizione File del certificato PFX Selezionare il file PFX. Password del certificato Immettere la password creata durante l'esportazione del file pfx. Nome descrittivo del certificato Nome del certificato visualizzato nell'app Web. Dopo aver completato la selezione, scegliere Seleziona>convalida e quindi selezionare Aggiungi.
Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (.pfx).
Per garantire la sicurezza per un dominio personalizzato con questo certificato, è necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel Servizio app di Azure.
Caricare un certificato pubblico
I certificati pubblici sono supportati nel formato .cer.
Dopo aver caricato un certificato pubblico in un'app, è accessibile solo dall'app in cui è stata caricata. I certificati pubblici devono essere caricati in ogni singola app Web che necessita dell'accesso. Per gli 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 ogni piano di servizio app.
Nel riquadro sinistro del portale di Azure, selezionare App Services><nomeapp>.
Nel riquadro sinistro dell'app selezionare Certificati>Certificati della chiave pubblica (.cer)>Aggiungi certificato.
Per facilitare il caricamento del certificato .cer, utilizzare la seguente tabella:
Impostazione Descrizione file di certificato .cer Selezionare il file CER. Nome descrittivo del certificato Nome del certificato 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. 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 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 esempio, l'indirizzo IP in ingresso potrebbe cambiare quando si elimina un'associazione, anche se tale associazione è basata su IP. Il risultato è particolarmente efficace quando si rinnova un certificato già associato a un vincolo basato 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:
Passare alla pagina Domini personalizzati per l'app, selezionare il pulsante ... e quindi Aggiorna associazione.
Selezionare il nuovo certificato e quindi selezionare Aggiorna.
Eliminare il certificato esistente.
Rinnovare un certificato importato da Key Vault
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 il processo di aggiunta di un certificato autonomamente fornito 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 ca privato per TLS in ingresso nell'app?
È possibile usare un certificato dell'autorità di certificazione privata (CA) per TLS in ingresso nell'ambiente del servizio app versione 3. Questa azione non è possibile in App Service (multitenant). Per ulteriori informazioni su multitenant di App Service rispetto al singolo tenant, consultare Confronto tra l'ambiente di App Service v3 e il servizio pubblico multitenant di App Service.
È possibile effettuare chiamate in uscita usando un certificato client della CA privato dall'app?
Questa funzionalità è supportata per le app contenitore di Windows solo nel servizio app multi-tenant. È possibile effettuare chiamate in uscita usando un certificato client della CA privato con app basate sul codice e basate su contenitori nell'ambiente del servizio app versione 3. Per ulteriori informazioni su multitenant di App Service rispetto al singolo tenant, consultare Confronto tra l'ambiente di App Service v3 e il servizio pubblico multitenant di App Service.
È possibile caricare un certificato CA privato nell'archivio radice attendibile del mio Servizio App?
È possibile caricare il proprio certificato CA nell'archivio radice attendibile nella versione 3 dell'ambiente del servizio app. Non è possibile modificare l'elenco di certificati radice attendibili in App Service (multitenant). Per ulteriori informazioni su multitenant di App Service rispetto al singolo tenant, consultare Confronto tra l'ambiente di App Service v3 e il servizio pubblico multitenant di App Service.
È possibile usare i certificati del servizio app per altri servizi?
Sì. È possibile esportare e usare i certificati di App Service con l'Application Gateway di Azure o altri servizi. Per altre informazioni, vedere l'articolo del blog Creazione di una copia PFX locale del certificato del servizio app.