Aggiungere Key Vault all'applicazione Web usando Servizi connessi di Visual Studio
In questa esercitazione si apprenderà come aggiungere facilmente tutto ciò che è necessario iniziare a usare Azure Key Vault per gestire i segreti per i progetti Web in Visual Studio, indipendentemente dal fatto che si usi ASP.NET Core o qualsiasi tipo di progetto ASP.NET. Usando la funzionalità Servizi connessi in Visual Studio, visual Studio può aggiungere automaticamente tutti i pacchetti NuGet e le impostazioni di configurazione necessari per connettersi a Key Vault in Azure.
Prerequisiti
- Un account Azure. Se non hai un account Azure, attiva i vantaggi di Azure per i sottoscrittori di Visual Studio o registrati per una prova gratuita.
- Visual Studio 2019 versione 16.3 o successiva Scaricarla ora.
Aggiungere il supporto di Key Vault al progetto
Prima di iniziare, assicurati 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 ASP.NET progetto Web 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.
In Esplora soluzioni , fare clic con il pulsante destro del mouse sul progetto a cui si vuole aggiungere il supporto per Key Vault e scegliere Aggiungi>Servizio connesso, oppure fare clic con il pulsante destro del mouse sul nodo Servizi connessi e selezionare Aggiungi.
Se non vedi il nodo Servizi Connessi, scegli Progetto>Servizi Connessi>Aggiungi.
In Dipendenze del servizioscegliere l'icona +. Viene visualizzata la pagina Servizio connesso con i servizi che è possibile aggiungere al progetto.
Nel menu dei servizi disponibili, scegli Azure Key Vault e fai clic su Avanti.
Seleziona la sottoscrizione che desideri utilizzare, e quindi, se hai già un insieme di credenziali che vuoi utilizzare, seleziona quello e fai clic su Avanti.
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.
Nella schermata Configura insieme di credenziali delle chiavi è possibile modificare il nome della variabile di ambiente che fa riferimento all'URI dell'insieme di credenziali delle chiavi. La stringa di connessione non viene archiviata qui; viene archiviata nell'archivio delle chiavi.
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 una stringa di connessione. Le stringhe di connessione archiviate in locale possono comportare un rischio per la sicurezza, se sono inavvertitamente esposte.
Fare clic su Avanti fino a visualizzare un riepilogo delle modifiche e quindi Fine.
Prima di iniziare, assicurati di aver acceduto 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 ASP.NET progetto Web Core e seguire questa procedura.
In Esplora soluzioni , fare clic con il pulsante destro del mouse sul progetto a cui si vuole aggiungere il supporto per Key Vault e scegliere Aggiungi>Servizio collegato, oppure fare clic con il pulsante destro del mouse sul nodo Servizi collegati e selezionare Aggiungi.
Se non vedi il nodo Servizi Connessi, scegli Progetto>Servizi Connessi>Aggiungi.
In Dipendenze del servizioscegliere l'icona +. Viene visualizzata la pagina Servizio connesso con i servizi che è possibile aggiungere al progetto.
Nel menu dei servizi disponibili scegliere Azure Key Vault e fare clic su Avanti.
Selezionare la sottoscrizione che si desidera utilizzare e quindi, se si dispone già di un archivio di chiavi da usare, selezionarlo e fare clic su Avanti.
Se non si dispone di un Key Vault esistente, fare clic su Crea nuovo Key Vault. Verrà chiesto di specificare il gruppo di risorse, la posizione e lo SKU.
Nella schermata Configura insieme di credenziali delle chiavi è possibile modificare il nome della variabile di ambiente che fa riferimento all'URI dell'insieme di credenziali delle chiavi. La stringa di connessione non viene archiviata qui; è archiviata nell'insieme di credenziali delle chiavi.
Fare clic su Avanti per esaminare un riepilogo delle modifiche e poi Fine.
Ora viene stabilita la connessione a Key Vault ed è possibile accedere ai segreti nel codice. Se hai appena creato un nuovo Key Vault, testalo creando un segreto che puoi utilizzare nel codice. È possibile creare un segreto usando il portale di Azure , PowerShello l'interfaccia della riga di comando di Azure .
Vedere esempi di codice sull'utilizzo dei segreti nella libreria client di Azure Key Vault per .NET - Esempi di codice .
Configurare l'accesso alla cassaforte 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. Consultare Come autenticarsi al Key Vault e Assegnare una politica di accesso al 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 il Key Vault e scegliere Controllo di accesso (IAM) per impostare le autorizzazioni. Consulta per fornire l'accesso alle chiavi, ai certificati e ai segreti di Key Vault con un controllo degli accessi basato su ruolo di Azure.
Nota
Gli archivi di chiavi meno recenti potrebbero usare un modello obsoleto di criteri di accesso. Si consiglia di migrare insiemi di chiavi meno recenti per usare Azure RBAC. Visualizza controllo degli accessi basato su ruoli di Azure rispetto alle politiche di accesso.
Passaggi successivi
Per altre informazioni sullo sviluppo di Key Vault, vedere la guida per sviluppatori di Key Vault .
Se l'obiettivo è archiviare la configurazione per un'app ASP.NET Core in un Azure Key Vault, vedere fornitore di configurazione di Azure Key Vault in ASP.NET Core.