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:

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 codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) 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 oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare 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 usando i parametri --hsm-name e --name (per il nome della chiave) e un altro usando il parametro --id in cui è possibile specificare l'intero URL, incluso il nome della chiave, se appropriato. 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 dei ruoli e delle autorizzazioni RBAC 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à 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 --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 protette da HSM in HSM gestito (BYOK)

Passaggi successivi