Condividi tramite


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