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 Azure 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 contenuto in questo articolo senza dover installare strumenti 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. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
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.
Selezionare 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-InstalledModule -Name Az
per trovare la versione. Se è necessario eseguire l'aggiornamento, vedere Come installare 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. È 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 dell’insieme di credenziali delle chiavi 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à seguenti:
- Nome Vault: il nome specificato per il parametro -Name.
- URI Vault: in questo esempio, l'URI è 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 ottenere le autorizzazioni all'insieme delle credenziali delle chiavi tramite il Controllo degli accessi in base al ruolo (RBAC), assegnare un ruolo al "nome dell'entità utente" usando il cmdlet di Azure PowerShell New-AzRoleAssignment.
New-AzRoleAssignment -SignInName "<upn>" -RoleDefinitionName "Key Vault Secrets Officer" -Scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"
Sostituire <upn>, <subscription-id>, <resource-group-name> e <your-unique-keyvault-name> con i valori effettivi. L'UPN in genere sarà nel formato di un indirizzo e-mail (ad esempio, username@domain.com).
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.
Eseguire prima di tutto il comando seguente e immettere il valore hVFkk965BuUv quando richiesto per convertirlo in una stringa sicura:
$secretvalue = Read-Host -Prompt 'Enter the example password' -AsSecureString
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 di Azure PowerShell Get-AzKeyVaultSecret:
$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 questa esercitazione dell'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.
- Leggere una panoramica di Azure Key Vault
- Informazioni su come archiviare segreti su più righe in Key Vault
- Vedere le informazioni di riferimento sui cmdlet di Azure PowerShell Key Vault
- Vedere Panoramica della sicurezza di Key Vault