Condividi tramite


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

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.
  1. Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.

  2. Nel menu di spostamento dell'app selezionare Certificati. Nel riquadro Certificati gestiti selezionare Aggiungi certificato.

    Screenshot del menu dell'app con le opzioni 'Certificati', 'Certificati gestiti' e 'Aggiungi certificato' selezionate.

  3. 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.

    Screenshot del riquadro Certificati gestiti con il nuovo certificato elencato.

  4. 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.

  1. Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Aggiungi certificato.

  3. In Origine selezionare Importa il certificato del servizio app.

  4. In Certificato del servizio app selezionare il certificato appena creato.

  5. In Nome descrittivo del certificato assegnare un nome al certificato nell'app.

  6. Selezionare Convalida. Se la convalida ha esito positivo, selezionare Aggiungi.

    Screenshot della pagina di gestione app con le opzioni 'Certificati', 'Bring Your Own Certificate (.pfx)' e 'Importa il certificato del servizio app' selezionate e la pagina 'Aggiungi certificato a chiave privata' con il pulsante **Convalida**.

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring Your Own Certificate.

    Screenshot del riquadro 'Bring Your Own Certificate (.pfx)' con il certificato acquistato elencato.

  7. 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.

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

  1. Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Aggiungi certificato.

  3. In Origine selezionare Importa da Key Vault.

  4. Selezionare Seleziona certificato di Key Vault.

    Screenshot della pagina di gestione app con le opzioni 'Certificati', 'Bring Your Own Certificate (.pfx)' e 'Importa da Key Vault' selezionate.

  5. 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.
  6. 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.

    Screenshot del riquadro 'Bring Your Own Certificate (.pfx)' con il certificato importato elencato.

    Nota

    Se si aggiorna il certificato in Key Vault con un nuovo certificato, il servizio app sincronizza automaticamente il certificato entro 24 ore.

  7. 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.

  1. Aprire ogni certificato ricevuto in un editor di testo.

  2. Per archiviare il certificato unito, creare un file denominato mergedcertificate.crt.

  3. 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.

  1. 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>  
    
  2. 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.

  3. 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.

  1. Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring Your Own Certificate (.pfx)>Carica certificato.

    Screenshot della pagina di gestione delle app con l'opzione

  3. 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.
  4. Al termine della selezione, selezionare Seleziona, Convalida e quindi Aggiungi.

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring Your Own Certificate.

    Screenshot del riquadro 'Bring Your Own Certificate (.pfx)' con il certificato caricato elencato.

  5. 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.

  1. Nel menu a sinistra del portale di Azure scegliere Servizi app><nome app>.

  2. Dal menu di spostamento dell'app selezionare Certificati>Certificati a chiave pubblica (.cer)>Aggiungi certificato.

  3. 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.
  4. Al termine, selezionare Aggiungi.

    Screenshot della pagina di gestione delle app. Mostra il certificato di chiave pubblica da caricare e il relativo nome.

  5. 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

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:

  1. Caricare il nuovo certificato.

  2. Andare alla pagina Domini personalizzati per l'app, selezionare il pulsante ... e successivamente Aggiorna associazione.

  3. Selezionare il nuovo certificato e successivamente Aggiorna.

  4. 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:

  1. Passare alla paginaCertificato dell'app.

  2. 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?

È 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.

È possibile servizio app certificato per altri servizi?

Sì, i certificati acquistati tramite servizio app Certificato possono essere esportati e usati con gateway applicazione o altri servizi. Per altre informazioni, vedere l'articolo di blog seguente: Creazione di una copia PFX locale di servizio app certificato.

Altre risorse