Condividi tramite


Gestione dei ruoli del modulo di protezione hardware gestito

Annotazioni

Key Vault supporta due tipi di risorse: vault e HSM gestiti. Questo articolo riguarda l'HSM gestito. Per informazioni su come gestire un Key Vault, vedere Gestire Key Vault usando l'interfaccia CLI di Azure.

Questo articolo fornisce istruzioni pratiche per la gestione dei ruoli e delle assegnazioni di ruolo per un modulo di protezione hardware gestito tramite l'interfaccia della riga di comando di Azure. Implementa il modello di controllo degli accessi basato sui ruoli descritto in Controllo di accesso per HSM gestito utilizzando i ruoli predefiniti documentati in Ruoli predefiniti di RBAC locale per HSM gestito.

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.

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

Azure Cloud Shell

Azure ospita Azure Cloud Shell, un ambiente shell interattivo che è possibile usare 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 che mostra un esempio di funzionalità
Passare a https://shell.azure.como 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 in alto a destra nel 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 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 tramite 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 di Utente di Crittografia HSM Gestito al utente identificato dal nome principale dell'entità utente [email protected] per tutte le chiavi (ambito /keys) nel ContosoHSM.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee [email protected]  --scope /keys

Assegnare il ruolo per una chiave specifica

Usare az keyvault role assignment create il comando per assegnare un ruolo utente crypto gestito di HSM all'utente identificato dal principal name [email protected] per una chiave specifica di nome myrsakey.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee [email protected]  --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 HSM per un utente specifico [email protected].

az keyvault role assignment list --hsm-name ContosoMHSM --assignee [email protected]

Annotazioni

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 [email protected] specifico per una chiave specifica myrsakey.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee [email protected] --scope /keys/myrsakey

Assegnazione di ruolo specifica per il ruolo Agente di crittografia del modulo di protezione hardware gestito per un utente [email protected] specifico per una chiave specifica myrsakey

az keyvault role assignment list --hsm-name ContosoMHSM --assignee [email protected] --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 Crypto Officer HSM gestito assegnato all'utente [email protected] per la chiave myrsakey2.

az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee [email protected]  --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

HSM gestito include diversi ruoli 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 ai soggetti per concedere loro l'autorizzazione alle azioni specificate.

Usare az keyvault role definition create il comando per un ruolo denominato My Custom Role 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 az keyvault role definition create il comando 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 az keyvault role definition update il comando per aggiornare un ruolo denominato My Custom Role 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 dell'interfaccia della riga di comando di Azure per eliminare una definizione di ruolo personalizzata usando il nome (GUID).

az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Annotazioni

Non è possibile eliminare i ruoli predefiniti. Quando i ruoli personalizzati vengono eliminati, tutte le assegnazioni di ruolo che usano tale ruolo personalizzato diventano inattive.

Passaggi successivi