Condividi tramite


Aggiungere Key Vault all'applicazione Web usando Servizi connessi di Visual Studio

In questa esercitazione si apprenderà come aggiungere facilmente tutto ciò che occorre per iniziare a usare Azure Key Vault per gestire i segreti per i progetti Web in Visual Studio, sia che si usi ASP.NET Core o qualsiasi tipo di progetto ASP.NET. Con la funzione Servizi connessi di Visual Studio è possibile fare in modo che vengano aggiunti automaticamente tutti i pacchetti NuGet e le impostazioni di configurazione necessarie per connettersi a Key Vault in Azure.

Prerequisiti

Aggiungere il supporto di Key Vault al progetto

Prima di iniziare, assicurarsi di aver eseguito l'accesso a Visual Studio. Accedere con lo stesso account usato per la sottoscrizione di Azure. Aprire quindi un ASP.NET 4.7.1 o versione successiva o il progetto web ASP.NET Core e seguire questa procedura. I passaggi illustrati sono relativi a Visual Studio 2022 versione 17.4. Il flusso potrebbe essere leggermente diverso per altre versioni di Visual Studio.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto a cui si vuole aggiungere il supporto dell'insieme di credenziali delle chiavi e scegliere Aggiungi>servizio connesso oppure fare clic con il pulsante destro del mouse sul nodo Servizi connessi e scegliere Aggiungi.

    Se il nodo Servizi connessi non viene visualizzato, scegliere Progetto>Servizi>connessi Aggiungi.

  2. In Dipendenze del servizio, scegliere l'icona +. Nella pagina Servizio connesso visualizzata sono elencati i servizi che è possibile aggiungere al progetto.

  3. Nel menu dei servizi disponibili scegliere Azure Key Vault e fare clic su Avanti.

    Screenshot che mostra la schermata Servizi connessi con l'opzione per scegliere Azure Key Vault.

  4. Selezionare la sottoscrizione da usare e quindi, se si ha già un insieme di credenziali delle chiavi che si vuole usare, selezionarlo e fare clic su Avanti.

    Screenshot che mostra Selezionare la sottoscrizione.

  5. Se non si dispone di un insieme di credenziali delle chiavi esistente o se è necessario un insieme di credenziali delle chiavi che è possibile impostare con autorizzazioni diverse rispetto a una esistente, fare clic su Crea nuovo insieme di credenziali delle chiavi. Verrà chiesto di specificare il gruppo di risorse, la posizione e lo SKU.

    Screenshot della schermata

  6. Nella schermata Configura insieme di credenziali delle chiavi è possibile modificare il nome della variabile di ambiente che fa riferimento all'URI di Key Vault. Il stringa di connessione non è archiviato qui. Viene archiviato nell'insieme di credenziali delle chiavi.

    Screenshot della schermata Connetti ad Azure Key Vault.

    Nota

    Per una maggiore sicurezza, in Visual Studio 17.12 e versioni successive, questo passaggio crea un nome di impostazione di connessione; Le versioni precedenti creano un stringa di connessione. Le stringhe di connessione archiviate in locale possono comportare un rischio per la sicurezza, se sono inavvertitamente esposte.

  7. Fare clic su Avanti fino a visualizzare un riepilogo delle modifiche e quindi su Fine.

Prima di iniziare, assicurarsi di aver eseguito l'accesso a Visual Studio. Accedere con lo stesso account usato per la sottoscrizione di Azure. Aprire quindi un ASP.NET 4.7.1 o versione successiva o il progetto web ASP.NET Core e seguire questa procedura.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto a cui si vuole aggiungere il supporto dell'insieme di credenziali delle chiavi e scegliere Aggiungi>servizio connesso oppure fare clic con il pulsante destro del mouse sul nodo Servizi connessi e scegliere Aggiungi.

    Se il nodo Servizi connessi non viene visualizzato, scegliere Progetto>Servizi>connessi Aggiungi.

  2. In Dipendenze del servizio, scegliere l'icona +. Nella pagina Servizio connesso visualizzata sono elencati i servizi che è possibile aggiungere al progetto.

  3. Nel menu dei servizi disponibili scegliere Azure Key Vault e fare clic su Avanti.

    Screenshot che mostra la schermata servizi connessi e l'opzione per scegliere Azure Key Vault.

  4. Selezionare la sottoscrizione da usare e quindi, se si ha già un insieme di credenziali delle chiavi che si vuole usare, selezionarlo e fare clic su Avanti.

    Screenshot che mostra Selezionare la sottoscrizione.

  5. Se non si dispone di un insieme di credenziali delle chiavi esistente, fare clic su Crea nuovo insieme di credenziali delle chiavi. Verrà chiesto di specificare il gruppo di risorse, la posizione e lo SKU.

    Screenshot della schermata

  6. Nella schermata Configura insieme di credenziali delle chiavi è possibile modificare il nome della variabile di ambiente che fa riferimento all'URI di Key Vault. Il stringa di connessione non è archiviato qui. Viene archiviato nell'insieme di credenziali delle chiavi.

    Screenshot della schermata Connetti ad Azure Key Vault.

  7. Fare clic su Avanti per esaminare un riepilogo delle modifiche, quindi su Fine.

Ora viene stabilita la connessione a Key Vault ed è possibile accedere ai segreti nel codice. Se è stato appena creato un nuovo insieme di credenziali delle chiavi, testarlo creando un segreto a cui è possibile fare riferimento nel codice. È possibile creare un segreto tramite il portale di Azure, PowerShell o l'interfaccia della riga di comando di Azure.

Vedere esempi di codice relativi all'uso dei segreti in libreria client dei segreti di Azure Key Vault per .NET - Esempi di codice.

Configurare l'accesso all'insieme di credenziali delle chiavi

Se è stata seguita questa esercitazione con Visual Studio 2022 versione 17.11 o versioni precedenti, le autorizzazioni di Key Vault vengono configurate per l'esecuzione con la propria sottoscrizione di Azure, ma ciò potrebbe non essere utile per uno scenario di produzione. È possibile creare un'identità gestita per gestire l'accesso a Key Vault per l'app. Vedere Come eseguire l'autenticazione in Key Vault e Assegnare un criterio di accesso Key Vault.

Se l'insieme di credenziali delle chiavi è in esecuzione in un account Microsoft diverso da quello a cui si è effettuato l'accesso a Visual Studio(ad esempio, l'insieme di credenziali delle chiavi è in esecuzione nell'account aziendale, ma Visual Studio usa l'account privato) viene visualizzato un errore nel file Program.cs, che Visual Studio non può ottenere l'accesso all'insieme di credenziali delle chiavi. Per risolvere questo problema, passare al portale di Azure, aprire l'insieme di credenziali delle chiavi e scegliere Controllo di accesso (IAM) per impostare le autorizzazioni. Vedere Fornire l'accesso a chiavi, certificati e segreti di Key Vault con un controllo degli accessi in base al ruolo di Azure.

Nota

Gli insiemi di credenziali delle chiavi meno recenti potrebbero usare un modello di criteri di accesso legacy. È consigliabile eseguire la migrazione di insiemi di credenziali delle chiavi meno recenti per usare il controllo degli accessi in base al ruolo di Azure. Vedere Controllo degli accessi in base al ruolo di Azure e criteri di accesso.

Passaggi successivi

Per altre informazioni su Key Vault leggere Guida per gli sviluppatori dell'insieme di credenziali delle chiavi di Azure.

Se l'obiettivo è archiviare la configurazione per un'app ASP.NET Core in un insieme di credenziali delle chiavi di Azure, vedere Provider di configurazione di Azure Key Vault in ASP.NET Core.