Fornire l'accesso a chiavi, certificati e segreti di Key Vault con il controllo degli accessi in base al ruolo di Azure
Articolo
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.
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 Azure PowerShell, usare il cmdlet New-AzRoleAssignment:
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName {role-name} -SignInName {assignee-upn} -Scope {scope}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName Reader -ApplicationId {application-id} -Scope {scope}
Per assegnare i ruoli con il portale di Azure, vedere Assegnare ruoli di Azure tramite il portale di Azure. Nel portale di Azure la schermata di assegnazioni di ruoli è disponibili per tutte le risorse riportate nella scheda Controllo di accesso (IAM).
Assegnazione di ruolo nell'ambito di un gruppo di risorse
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Reader' -SignInName {assignee-upn} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Reader' -ApplicationId {application-id} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -SignInName {assignee-upn} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -ApplicationId {application-id} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}
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.
#Assign by User Principal Name
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -SignInName {i.e user@microsoft.com} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
#Assign by Service Principal ApplicationId
New-AzRoleAssignment -RoleDefinitionName 'Key Vault Secrets Officer' -ApplicationId {i.e 8ee5237a-816b-4a72-b605-446970e5f156} -Scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}/secrets/RBACSecret
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:
È 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.
Di seguito viene descritto come usare il controllo degli accessi in base al ruolo di Azure per gestire efficacemente l'accesso del team alle risorse di Azure.
Illustrare le funzionalità di Microsoft Entra ID per modernizzare le soluzioni di identità, implementare soluzioni ibride e implementare la governance delle identità.