Guida introduttiva: Impostare e recuperare un segreto da Azure Key Vault tramite PowerShell

Azure Key Vault è un servizio cloud che funziona come archivio protetto dei segreti. È possibile archiviare in modo sicuro chiavi, password, certificati e altri segreti. Per altre informazioni su Key Vault, vedere la panoramica. In questa guida introduttiva si usa PowerShell per creare un'istanza di Key Vault. Verrà quindi archiviato un segreto nell'insieme di credenziali appena creato.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.

  4. Premere Invio per eseguire il codice o il comando.

Se si sceglie di installare e usare PowerShell in locale, per questa esercitazione è necessario il modulo Azure PowerShell 5.0.0 o versione successiva. Digitare Get-Module az -ListAvailable per trovare la versione. Se è necessario eseguire l'aggiornamento, vedere Installare e configurare Azure PowerShell. Se si esegue PowerShell in locale, è anche necessario eseguire Connect-AzAccount per creare una connessione con Azure.

Connect-AzAccount

Creare un gruppo di risorse

Un gruppo di risorse è un contenitore logico in cui vengono distribuite e gestite le risorse di Azure. Usare il cmdlet New-AzResourceGroup di Azure PowerShell per creare un gruppo di risorse denominato myResourceGroup nella posizione eastus.

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Creare un insieme di credenziali delle chiavi

Usare il cmdlet New-AzKeyVault di Azure PowerShell per creare un'istanza di Key Vault nel gruppo di risorse del passaggio precedente. Sarà necessario specificare alcune informazioni:

  • Nome Key Vault: una stringa contenente da 3 a 24 caratteri, limitati a numeri (0-9), lettere (a-z, A-Z) e trattini (-)

    Importante

    Ogni insieme di credenziali delle chiavi deve avere un nome univoco. Negli esempi seguenti, sostituire <your-unique-keyvault-name> con il nome dell'istanza di Key Vault in uso.

  • Nome del gruppo di risorse: myResourceGroup.

  • Posizione: EastUS.

New-AzKeyVault -Name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "EastUS"

L'output di questo cmdlet mostra le proprietà dell'istanza di Key Vault appena creata. Prendere nota delle due proprietà elencate di seguito:

  • Vault Name: il nome specificato per il parametro -Name precedente.
  • Vault URI: in questo esempio è https://<your-unique-keyvault-name>.vault.azure.net/. Le applicazioni che usano l'insieme di credenziali tramite l'API REST devono usare questo URI.

A questo punto, l'account Azure è l'unico autorizzato a eseguire qualsiasi operazione su questo nuovo insieme di credenziali.

Concedere all'account utente le autorizzazioni per gestire i segreti in Key Vault

Per concedere all'applicazione le autorizzazioni per l'insieme di credenziali delle chiavi tramite il controllo degli Controllo di accesso accessi in base al ruolo, assegnare un ruolo usando il cmdlet di Azure PowerShell New-AzRoleAssignment.

New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets User" -SignInName "<your-email-address>" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"

Sostituire <your-email-address>, <subscription-id>, <resource-group-name e <your-unique-keyvault-name>> con i valori effettivi. <your-email-address is your sign-in name; you can instead use the parameter and a Microsoft Entra Object ID.your-email-address> is your sign-in name; you canstead use the -ObjectId parameter and a Microsoft Entra Object ID.

Aggiunta di un segreto all'istanza di Key Vault

Per aggiungere un segreto all'insieme di credenziali, sono sufficienti un paio di passaggi. In questo caso si aggiunge una password che può essere usata da un'applicazione. La password è denominata ExamplePassword e al suo interno viene archiviato il valore di hVFkk965BuUv.

Convertire prima di tutto il valore di hVFkk965BuUv in una stringa sicura digitando:

$secretvalue = ConvertTo-SecureString "hVFkk965BuUv" -AsPlainText -Force

Usare quindi il cmdlet Set-AzKeyVaultSecret di Azure PowerShell per creare un segreto in Key Vault denominato ExamplePassword con il valore hVFkk965BuUv :

$secret = Set-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -SecretValue $secretvalue

Recuperare un segreto dall'insieme di credenziali delle chiavi

Per visualizzare il valore contenuto nel segreto come testo normale, usare il cmdlet Get-AzKeyVaultSecret di Azure PowerShell:

$secret = Get-AzKeyVaultSecret -VaultName "<your-unique-keyvault-name>" -Name "ExamplePassword" -AsPlainText

A questo punto è stata creata un'istanza di Key Vault nella quale è stato archiviato e recuperato un segreto.

Pulire le risorse

Altre guide introduttive ed esercitazioni della raccolta si basano su questa. Se si prevede di usare altre guide introduttive ed esercitazioni, è consigliabile non cancellare le risorse create.

Quando non servono più, è possibile usare il comando Remove-AzResourceGroup per rimuovere il gruppo di risorse, l'istanza di Key Vault e tutte le risorse correlate.

Remove-AzResourceGroup -Name myResourceGroup

Passaggi successivi

In questo argomento di avvio rapido è stata creata un'istanza di Key Vault in cui è stato archiviato un segreto. Per altre informazioni sul servizio Key Vault e su come integrarlo nelle applicazioni, continuare con gli articoli seguenti.