Gestire un modulo di protezione hardware gestito con l'interfaccia della riga di comando di Azure
Nota
Key Vault supporta due tipi di risorse: insiemi di credenziali e moduli di protezione hardware gestiti. Questo articolo riguarda il modulo di protezione hardware gestito. Per informazioni su come gestire un insieme di credenziali, vedere Gestire Key Vault con l'interfaccia della riga di comando di Azure.
Per una panoramica del modulo di protezione hardware gestito, vedere Che cos'è il modulo di protezione hardware gestito?
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
Per seguire la procedura descritta in questo articolo, sono necessari gli elementi seguenti:
- Un abbonamento a Microsoft Azure. Se non si ha una sottoscrizione, è possibile iscriversi per ottenere una versione di valutazione gratuita.
- Interfaccia della riga di comando di Azure versione 2.25.0 o successiva. Eseguire
az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. - Un modulo di protezione hardware gestito nella sottoscrizione. Vedere Avvio rapido: Effettuare il provisioning e attivare un modulo di protezione hardware gestito usando l'interfaccia della riga di comando di Azure per effettuare il provisioning e attivare un modulo di protezione hardware gestito.
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.
Premere Invio per eseguire il codice o il comando.
Accedere ad Azure
Per accedere ad Azure usando l'interfaccia della riga di comando è possibile digitare:
az login
Per altre informazioni sulle opzioni di accesso con l'interfaccia della riga di comando, vedere Accedere con l'interfaccia della riga di comando di Azure
Nota
In tutti i comandi seguenti vengono illustrati due metodi di utilizzo. Uno usa i parametri --hsm-name e --name (per il nome della chiave) e l'altro usa il parametro --id in cui è possibile specificare l'intero URL incluso, se necessario, il nome della chiave. Il secondo metodo è utile quando il chiamante (un utente o un'applicazione) non ha accesso in lettura al piano di controllo e ha accesso limitato al piano dati.
Nota
Alcune interazioni con il materiale della chiave richiedono autorizzazioni di controllo degli accessi in base al ruolo locali specifiche. Per un elenco completo delle autorizzazioni e dei ruoli Controllo degli accessi in base al ruolo locali predefiniti, vedere Ruoli predefiniti controllo degli accessi in base al ruolo locale del modulo di protezione hardware gestito. Per assegnare queste autorizzazioni a un utente, vedere Proteggere l'accesso ai moduli di protezione hardware gestiti
Creare una chiave del modulo di protezione hardware
Nota
Non è possibile esportare la chiave generata o importata nel modulo di protezione hardware gestito. Vedere le procedure consigliate per la portabilità e la durabilità della chiave.
Usare il comando az keyvault key create
per creare una chiave.
Creare una chiave RSA
L'esempio seguente illustra come creare una chiave RSA a 3072 bit che verrà usata solo per le operazioni wrapKey, unwrapKey (--ops).
az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Tenere presente che l'operazione di get
restituisce solo gli attributi di chiave e di chiave pubblica. Non restituisce la chiave privata (in caso di chiave asimmetrica) o il materiale della chiave (in caso di chiave simmetrica).
Creare una chiave EC
Nell'esempio seguente viene illustrato come creare una chiave EC con una curva P-256 che verrà usata solo per le operazioni sign e verify (--ops) e ha due tag, usage e appname. I tag consentono di aggiungere altri metadati alla chiave per facilitarne il rilevamento e la gestione.
az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
Creare una chiave simmetrica a 256 bit
L'esempio seguente illustra come creare una chiave simmetrica a 256 bit che verrà usata solo per le operazioni encrypt e decrypt (--ops).
az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt --tags --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256
Visualizzare i tag e gli attributi della chiave
Usare il comando az keyvault key show
per visualizzare attributi, versioni e tag di una chiave.
az keyvault key show --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
List keys
Usare il comando az keyvault key list
per elencare tutte le chiavi presenti in un modulo di protezione hardware gestito.
az keyvault key list --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/
Eliminare una chiave
Usare il comando az keyvault key delete
per eliminare una chiave da un modulo di protezione hardware gestito. Tenere presente che l'eliminazione temporanea è sempre attiva. Di conseguenza, una chiave eliminata rimarrà nello stato eliminato e potrà essere recuperata fino a quando non sarà trascorso il numero di giorni di conservazione quando la chiave verrà eliminata (eliminata definitivamente) e non sarà possibile recuperarla.
az keyvault key delete --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Elencare le chiavi eliminate
Usare il comando az keyvault key list-deleted
per elencare tutte le chiavi nello stato eliminato presenti in un modulo di protezione hardware gestito.
az keyvault key list-deleted --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/
Ripristinare una chiave eliminata annullandone l'eliminazione
Usare il comando az keyvault key list-deleted
per elencare tutte le chiavi nello stato eliminato presenti in un modulo di protezione hardware gestito. Se è necessario recuperare una chiave annullandone l'eliminazione con il parametro --id durante il ripristino di una chiave eliminata, è necessario prendere nota del valore recoveryId
della chiave eliminata ottenuto con il comando az keyvault key list-deleted
.
az keyvault key recover --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Rimuovere (eliminare definitivamente) una chiave
Usare il comando az keyvault key purge
per rimuovere (eliminare definitivamente) una chiave.
Nota
Se la protezione dall'eliminazione è abilitata per il modulo di protezione hardware gestito, l'operazione di rimozione non sarà consentita. La chiave verrà rimossa automaticamente una volta trascorso il periodo di conservazione.
az keyvault key purge --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Creare il backup di una singola chiave
Usare il comando az keyvault key backup
per creare il backup di una singola chiave. Il file di backup è un BLOB crittografato associato al dominio di sicurezza del modulo di protezione hardware di origine. Può essere ripristinato solo in moduli di protezione hardware che condividono lo stesso dominio di sicurezza. Per altre informazioni, vedere Dominio di sicurezza.
az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Ripristinare una singola chiave dal backup
Usare il comando az keyvault key restore
per ripristinare una singola chiave. Il modulo di protezione hardware di origine in cui è stato creato il backup deve condividere lo stesso dominio di sicurezza del modulo di protezione hardware di destinazione in cui viene ripristinata la chiave.
Nota
Il ripristino non riuscirà se è presente una chiave con lo stesso nome nello stato attivo o eliminato.
az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Importare una chiave da un file
Usare il comando az keyvault key import
per importare una chiave (solo RSA e EC) da un file. Il file di certificato deve includere la chiave privata e usare la codifica PEM (come definito negli RFC 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'
Per importare una chiave dal modulo di protezione hardware locale al modulo di protezione hardware gestito, vedere Importare chiavi con protezione HSM nel modulo di protezione hardware gestito (BYOK)
Passaggi successivi
- Per informazioni di riferimento sull'interfaccia della riga di comando di Azure per i comandi di Key Vault, vedere Key Vault CLI reference (Riferimento dell'interfaccia della riga di comando di Key Vault).
- Per i riferimenti alla programmazione, vedere Guida per gli sviluppatori di Azure Key Vault.
- Per altre informazioni, vedere Gestione dei ruoli del modulo di protezione hardware gestito
- Per altre informazioni, vedere Procedure consigliate per il modulo di protezione hardware gestito