Fornire l'accesso a chiavi, certificati e segreti di Key Vault con il controllo degli accessi in base al ruolo di Azure
Nota
Il provider di risorse Key Vault supporta due tipi di risorse: gli insiemi di credenziali e i moduli di protezione hardware gestiti (HSM) gestiti. Il controllo di accesso descritto in questo articolo si applica solo agli insiemi di credenziali. Per informazioni sul controllo di accesso per gli HSM gestiti, vedere Controllo di accesso di HSM gestiti.
Nota
La configurazione dei certificati del servizio app di Azure tramite il portale di Azure non supporta il modello di autorizzazione con controllo degli accessi in base al ruolo di Key Vault. È possibile usare Azure PowerShell, l'interfaccia della riga di comando di Azure, le distribuzioni di modelli di Azure Resource Manager con l'assegnazione di ruolo Utente di certificati di Key Vault per l'identità globale del servizio app, ad esempio Servizio app di Microsoft Azure nel cloud pubblico.
Il controllo degli accessi in base al ruolo di Azure è un sistema di autorizzazione basato su Azure Resource Manager che garantisce una gestione centralizzata degli accessi alle risorse di Azure.
Il controllo degli accessi in base al ruolo di Azure consente agli utenti di gestire chiavi, segreti e certificati e offre un'unica posizione per gestire tutte le autorizzazioni in tutti gli insiemi di credenziali delle chiavi.
Il modello di controllo degli accessi in base al ruolo di Azure consente agli utenti di impostare le autorizzazioni per livelli di ambito diversi: gruppo di gestione, sottoscrizione, gruppo di risorse o singole risorse. Il controllo degli accessi in base al ruolo di Azure per l'insieme di credenziali delle chiavi consente inoltre agli utenti di disporre di autorizzazioni separate per chiavi, segreti e certificati singoli.
Per altre informazioni, vedere Controllo degli accessi in base al ruolo di Azure.
Procedure consigliate per l'assegnazione di ruoli per chiavi, segreti e certificati individuali
È consigliabile usare un insieme di credenziali per ogni applicazione di ciascun ambiente (sviluppo, pre-produzione e produzione) con ruoli assegnati nell'ambito dell'insieme di credenziali delle chiavi.
È consigliabile evitare l'assegnazione di ruoli su singole chiavi, segreti e certificati. L'eccezione è costituita da uno scenario in cui i singoli segreti devono essere condivisi tra più applicazioni, ad esempio, in cui un'applicazione deve accedere ai dati da un'altra applicazione.
Per altre informazioni sulle linee guida per la gestione di Azure Key Vault, vedere:
Ruoli predefiniti di Azure per le operazioni del piano dati di Key Vault
Nota
Il ruolo Key Vault Contributor
viene usato solo nelle operazioni del piano di gestione per gestire gli insiemi di credenziali delle chiavi. Non consente l'accesso a chiavi, segreti e certificati.
Ruolo predefinito | Descrizione | ID |
---|---|---|
Amministratore di Key Vault | Eseguire tutte le operazioni del piano dati su un insieme di credenziali delle chiavi e su tutti gli oggetti in esso contenuti, inclusi certificati, chiavi e segreti. Non può gestire le risorse dell'insieme di credenziali delle chiavi o le assegnazioni di ruolo. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Ruolo con autorizzazioni di lettura per Key Vault | Leggere i metadati degli insiemi di credenziali delle chiavi e dei relativi certificati, chiavi e segreti. Non può leggere valori sensibili come il contenuto dei segreti o il materiale delle chiavi. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Operatore di eliminazione di Key Vault | Consente l'eliminazione permanente di insiemi di credenziali eliminati temporaneamente. | a68e7c17-0ab2-4c09-9a58-125dae29748c |
Responsabile dei certificati di Key Vault | Eseguire qualsiasi azione sui certificati di un insieme di credenziali delle chiavi, escludendo la lettura delle parti del segreto e della chiave e la gestione delle autorizzazioni. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | a4417e6f-fecd-4de8-b567-7b0420556985 |
Utente di certificati di Key Vault | Legge l'intero contenuto del certificato, inclusa la parte di segreti e chiavi. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Responsabile della crittografia di Key Vault | Eseguire qualsiasi azione sulle chiavi di un insieme di credenziali delle chiavi, ad eccezione della gestione delle autorizzazioni. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | 14b46e9e-c2b7-41b4-b07b-48a6ebf60603 |
Utente di crittografia del servizio di crittografia di Key Vault | Leggere i metadati delle chiavi ed eseguire operazioni di wrapping/annullamento del wrapping. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | e147488a-f6f5-4113-8e2d-b22465e65bf6 |
Utente della crittografia di Key Vault | Eseguire operazioni crittografiche usando le chiavi. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | 12338af0-0e69-4776-bea7-57ae8d297424 |
Utente del rilascio del servizio di crittografia di Key Vault | Rilascia le chiavi per Confidential Computing di Azure e ambienti equivalenti. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | |
Responsabile dei segreti di Key Vault | Eseguire qualsiasi azione sui segreti di un insieme di credenziali delle chiavi, ad eccezione della gestione delle autorizzazioni. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Utente dei segreti di Key Vault | Legge il contenuto dei segreti, inclusa la parte segreta di un certificato con chiave privata. Funziona solo per gli insiemi di credenziali delle chiavi che usano il modello di autorizzazione 'Controllo degli accessi in base al ruolo di Azure'. | 4633458b-17de-408a-b874-0445c86b69e6 |
Per altre informazioni sulle definizioni dei ruoli predefiniti di Azure, vedere Ruoli predefiniti di Azure.
Gestione delle assegnazioni di ruoli predefiniti del piano dati di Key Vault
Ruolo predefinito | Descrizione | ID |
---|---|---|
Amministratore di accesso ai dati di Key Vault | Gestisce l'accesso ad Azure Key Vault aggiungendo o rimuovendo le assegnazioni di ruolo per i ruoli di amministratore di Key Vault, responsabile dei certificati di Key Vault, utente di crittografia del servizio di crittografia di Key Vault, utente di crittografia di Key Vault, lettore di Key Vault, responsabile dei segreti di Key Vault o utente di segreti di Key Vault. Include una condizione del controllo degli accessi in base agli attributi. | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
Uso delle autorizzazioni per segreti, chiavi e certificati in base al controllo degli accessi in base al ruolo di Azure con Key Vault
Il nuovo modello di autorizzazione con controllo degli accessi in base al ruolo di Azure per Key Vault offre un'alternativa al modello di autorizzazioni con criteri di accesso all'insieme di credenziali.
Prerequisiti
È necessario disporre di una sottoscrizione di Azure. In caso contrario, è possibile creare un account gratuito prima di iniziare.
Per gestire le assegnazioni di ruolo, è necessario disporre delle autorizzazioni Microsoft.Authorization/roleAssignments/write
e Microsoft.Authorization/roleAssignments/delete
, ad esempio Amministratore dell'accesso ai dati di Key Vault (con autorizzazioni limitate solo per assegnare o rimuovere ruoli specifici di Key Vault), Amministratore dell'accesso utenti o Proprietario.
Abilitare le autorizzazioni con controllo degli accessi in base al ruolo di Azure in Key Vault
Nota
Per cambiare il modello di autorizzazione, è necessaria l'autorizzazione senza restrizioni “Microsoft.Authorization/roleAssignments/write”, che fa parte dei ruoli di Proprietario e Amministratore dell'accesso utenti. I ruoli di amministratore della sottoscrizione classica, ad esempio “Amministratore del servizio” e “Coamministratore”, o con restrizioni “Amministratore accesso ai dati di Key Vault” non possono essere usati per modificare il modello di autorizzazione.
Abilitare le autorizzazioni con controllo degli accessi in base al ruolo di Azure in un nuovo insieme di credenziali delle chiavi:
Abilitare le autorizzazioni con controllo degli accessi in base al ruolo di Azure in un insieme di credenziali delle chiavi esistente:
Importante
L'impostazione del modello di autorizzazione con controllo degli accessi in base al ruolo di Azure invalida tutte le autorizzazioni con criteri di accesso. Può causare interruzioni quando non vengono assegnati ruoli di Azure equivalenti.
Assegnare il ruolo
Nota
È consigliabile usare l'ID ruolo univoco anziché il nome del ruolo negli script. In questo modo, se un ruolo viene rinominato, gli script continueranno a funzionare. In questo documento viene usato il nome del ruolo a fini di leggibilità.
Per creare un'assegnazione di ruolo con l’interfaccia della riga di comando di Azure, usare il comando Assegnazione di ruolo az:
az role assignment create --role {role-name-or-id} --assignee {assignee-upn}> --scope {scope}
Per i dettagli completi, vedere Assegnare ruoli di Azure tramite l'interfaccia della riga di comando di Azure.
Assegnazione di ruolo nell'ambito di un gruppo di risorse
az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
Per i dettagli completi, vedere Assegnare ruoli di Azure tramite l'interfaccia della riga di comando di Azure.
L'assegnazione di ruolo precedente consente di elencare gli oggetti dell'insieme di credenziali delle chiavi in Key Vault.
Assegnazione di ruolo dell'ambito di Key Vault
az role assignment create --role "Key Vault Secrets Officer" --assignee {assignee-upn} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
Per i dettagli completi, vedere Assegnare ruoli di Azure tramite l'interfaccia della riga di comando di Azure.
Assegnazione di ruolo nell'ambito dei segreti
Nota
Le assegnazioni di ruolo nell'ambito di segreti, certificati e chiavi di Key Vault deve essere usata solo per i scenari limitati descritti qui per rispettare le procedure consigliate per la sicurezza.
az role assignment create --role "Key Vault Secrets Officer" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
Per i dettagli completi, vedere Assegnare ruoli di Azure tramite l'interfaccia della riga di comando di Azure.
Test e verifica
Nota
I browser usano la memorizzazione nella cache e dopo la rimozione di un'assegnazione di ruolo è necessario aggiornare la pagina. Attendere diversi l'aggiornamento delle assegnazioni di ruoli
Convalidare l'aggiunta di un nuovo segreto senza il ruolo "Responsabile dei segreti di Key Vault" a livello di insieme di credenziali delle chiavi.
Passare alla scheda Controllo di accesso (IAM) dell'insieme di credenziali delle chiavi e rimuovere l'assegnazione di ruolo "Responsabile dei segreti di Key Vault" per questa risorsa.
Passare al segreto creato in precedenza. È possibile visualizzare tutte le proprietà del segreto.
La creazione di un nuovo segreto (Segreti > +Genera/Importa) dovrebbe generare questo errore:
Convalidare la modifica dei segreti senza il ruolo "Responsabile dei segreti di Key Vault" a livello di segreto.
Passare alla scheda Controllo di accesso (IAM) del segreto creato in precedenza e rimuovere l'assegnazione di ruolo "Responsabile dei segreti di Key Vault" per questa risorsa.
Passare al segreto creato in precedenza. È possibile visualizzare le proprietà del segreto.
Convalidare i segreti letti senza ruolo Lettore a livello di insieme di credenziali delle chiavi.
Passare alla scheda Controllo di accesso (IAM) dell'insieme di credenziali delle chiavi e rimuovere l'assegnazione di ruolo "Lettore di Key Vault" per questa risorsa.
Il passaggio alla scheda Segreti dell'insieme di credenziali delle chiavi dovrebbe generare questo errore:
Creazione di ruoli personalizzati
Comando az role definition create
az role definition create --role-definition '{ \
"Name": "Backup Keys Operator", \
"Description": "Perform key backup/restore operations", \
"Actions": [
], \
"DataActions": [ \
"Microsoft.KeyVault/vaults/keys/read ", \
"Microsoft.KeyVault/vaults/keys/backup/action", \
"Microsoft.KeyVault/vaults/keys/restore/action" \
], \
"NotDataActions": [
], \
"AssignableScopes": ["/subscriptions/{subscriptionId}"] \
}'
Per altre informazioni sulla creazione di ruoli personalizzati, vedere:
Domande frequenti
È possibile usare le assegnazioni con ambito oggetti del modello di autorizzazione Controllo degli accessi in base al ruolo di Key Vault per fornire isolamento per i team delle applicazioni all'interno di Key Vault?
No. Il modello di autorizzazione con controllo degli accessi in base al ruolo consente di assegnare l'accesso a singoli oggetti in Key Vault a un utente o a un'applicazione, ma le operazioni amministrative, come il controllo di accesso alla rete, il monitoraggio e la gestione di oggetti, richiedono autorizzazioni a livello di insieme di credenziali delle chiavi, il che esporrà quindi le informazioni protette agli operatori di tutti i team delle applicazioni.