Gestione dei ruoli del modulo di protezione hardware gestito
Nota
Key Vault supporta due tipi di risorsa: 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.
Questo articolo illustra come gestire i ruoli per un piano dati del modulo di protezione hardware gestito. Per informazioni sul modello di controllo di accesso del modulo di protezione hardware gestito, vedere Controllo di accesso del modulo di protezione hardware gestito.
Per consentire a un'entità di sicurezza, ad esempio un utente, un'entità servizio, un gruppo o un'identità gestita, di eseguire operazioni del piano dati del modulo di protezione hardware gestito, è necessario assegnare all'entità un ruolo che consenta l'esecuzione di tali operazioni. Se, ad esempio, si vuole consentire a un'applicazione di eseguire un'operazione di firma usando una chiave, è necessario assegnare all'applicazione un ruolo che includa "Microsoft.KeyVault/managedHSM/keys/sign/action" tra le azioni dati. Un ruolo può essere assegnato a un ambito specifico. Il controllo degli accessi in base al ruolo locale del modulo di protezione hardware gestito supporta due ambiti, a livello di modulo di protezione hardware (/
o /keys
) e per chiave (/keys/<keyname>
).
Per un elenco di tutti i ruoli predefiniti del modulo di protezione hardware gestito e delle relative operazioni consentite, vedere Ruoli predefiniti del modulo di protezione hardware gestito.
Prerequisiti
Per usare i comandi dell'interfaccia della riga di comando di Azure 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
Creare una nuova assegnazione di ruolo
Assegnare ruoli per tutte le chiavi
Usare il comando az keyvault role assignment create
per assegnare un ruolo Managed HSM Crypto User all'utente identificato dal nome dell'entità utente user2@contoso.comper tutte le chiavi (ambito /keys
) in ContosoHSM.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys
Assegnare il ruolo per una chiave specifica
Usare il comando az keyvault role assignment create
per assegnare un ruolo Managed HSM Crypto User identificato dal nome dell'entità utente user2@contoso.com per una chiave specifica denominata myrsakey.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys/myrsakey
Elencare le assegnazioni di ruolo esistenti
Usare az keyvault role assignment list
per elencare le assegnazioni di ruolo.
Tutte le assegnazioni di ruolo nell'ambito / (impostazione predefinita quando non è specificato alcun valore per --scope) per tutti gli utenti (impostazione predefinita quando non è specificato alcun valore per --assignee)
az keyvault role assignment list --hsm-name ContosoMHSM
Tutte le assegnazioni di ruolo a livello del modulo di protezione hardware per un utente specifico user1@contoso.com.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com
Nota
Quando scope è / (o /keys) il comando list elenca solo tutte le assegnazioni di ruolo al livello superiore e non mostra le assegnazioni di ruolo a livello di chiave individuale.
Tutte le assegnazioni di ruolo per un utente specifico user2@contoso.com per una chiave specifica myrsakey.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey
Un'assegnazione di ruolo specifica per il ruolo Managed HSM Crypto Officer per un utente specifico user2@contoso.com per una chiave specifica myrsakey
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"
Eliminare un'assegnazione di ruolo
Usare il comando az keyvault role assignment delete
per eliminare un ruolo Managed HSM Crypto Officer assegnato all'utente user2@contoso.com per la chiave myrsakey2.
az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com --scope /keys/myrsakey2
Elencare tutte le definizioni del ruolo disponibili
Usare il comando az keyvault role definition list
per elencare tutte le definizioni del ruolo.
az keyvault role definition list --hsm-name ContosoMHSM
Creare una nuova definizione di ruolo
Il modulo di protezione hardware gestito include diversi ruoli predefiniti (predefiniti) utili per gli scenari di utilizzo più comuni. È possibile definire il proprio ruolo con un elenco di azioni specifiche che il ruolo può eseguire. È quindi possibile assegnare questo ruolo alle entità per concedere loro l'autorizzazione alle azioni specificate.
Usare il comando az keyvault role definition create
per un ruolo denominato Ruolo personalizzato usando una stringa JSON.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action"
],
"notDataActions": []
}'
Usare il comando az keyvault role definition create
per un ruolo da un file denominato my-custom-role-definition.json contenente la stringa JSON per una definizione di ruolo. Vedere l'esempio precedente.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json
Visualizzare i dettagli di una definizione di ruolo
Usare il comando az keyvault role definition show
per visualizzare i dettagli di una definizione di ruolo specifica usando il nome (GUID).
az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Aggiornare una definizione di ruolo personalizzata
Usare il comando az keyvault role definition update
per aggiornare un ruolo denominato Ruolo personalizzato usando una stringa JSON.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
"roleName": "My Custom Role",
"name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action",
"Microsoft.KeyVault/managedHsm/keys/write/action",
"Microsoft.KeyVault/managedHsm/keys/backup/action",
"Microsoft.KeyVault/managedHsm/keys/create"
],
"notDataActions": []
}'
Elimina la definizione del ruolo personalizzata
Usare il comando az keyvault role definition delete
per visualizzare i dettagli di una definizione di ruolo specifica usando il nome (GUID).
az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Nota
Non è possibile eliminare i ruoli predefiniti. Quando vengono eliminati ruoli personalizzati, tutte le assegnazioni di ruolo che usano tale ruolo personalizzato diventano inattivi.
Passaggi successivi
- Vedere una panoramica del controllo degli accessi in base al ruolo di Azure.
- Esercitazione sulla gestione dei ruoli del modulo di protezione hardware gestito
- Per altre informazioni, vedere Modello di controllo di accesso del modulo di protezione hardware gestito
- Vedere tutti i ruoli predefiniti per il controllo degli accessi in base al ruolo del modulo di protezione hardware gestito