Sicurezza di Azure Key VaultAzure Key Vault security

È necessario proteggere le chiavi di crittografia e i segreti, ad esempio certificati, stringhe di connessione e password nel cloud, quindi si usa Azure Key Vault.You need to protect encryption keys and secrets like certificates, connection strings, and passwords in the cloud so you are using Azure Key Vault. Poiché si archiviano dati sensibili e aziendali critici, è necessario eseguire le operazioni appropriate per ottimizzare la sicurezza degli insiemi di credenziali e dei dati archiviati al loro interno.Since you are storing sensitive and business critical data, you need to take steps to maximize the security of your vaults and the data stored in them. Questo articolo illustra alcuni dei concetti che è opportuno considerare quando si progetta la sicurezza di Azure Key Vault.This article will cover some of the concepts that you should consider when designing your Azure Key Vault security.

Gestione delle identità e dell'accessoIdentity and access management

Quando si crea un insieme di credenziali delle chiavi in una sottoscrizione di Azure, questo viene automaticamente associato al tenant di Azure AD della sottoscrizione.When you create a key vault in an Azure subscription, it's automatically associated with the Azure AD tenant of the subscription. Chiunque cerchi di gestire o recuperare il contenuto da un insieme di credenziali deve essere autenticato da Azure AD.Anyone trying to manage or retrieve content from a vault must be authenticated by Azure AD.

  • L'autenticazione stabilisce l'identità del chiamante.Authentication establishes the identity of the caller.
  • L'autorizzazione determina le operazioni che il chiamante può eseguire.Authorization determines which operations the caller can perform. L'autorizzazione in Key Vault usa una combinazione di controllo degli accessi in base al ruolo e criteri di accesso di Azure Key Vault.Authorization in Key Vault uses a combination of Role based access control (RBAC) and Azure Key Vault access policies.

Panoramica del modello di accessoAccess model overview

L'accesso agli insiemi di credenziali avviene tramite due interfacce o piani.Access to vaults takes place through two interfaces or planes. Questi piani sono il piano di gestione e il piano dati.These planes are the management plane and the data plane.

  • Il piano di gestione consente di gestire Key Vault ed è l'interfaccia usata per creare ed eliminare gli insiemi di credenziali.The management plane is where you manage Key Vault itself and it is the interface used to create and delete vaults. È anche possibile leggere le proprietà degli insiemi di credenziali delle chiavi e gestire i criteri di accesso.You can also read key vault properties and manage access policies.
  • Il piano dati consente di lavorare con i dati archiviati in un insieme di credenziali delle chiavi.The data plane allows you to work with the data stored in a key vault. È possibile aggiungere, eliminare e modificare chiavi, segreti e certificati.You can add, delete, and modify keys, secrets, and certificates.

Per accedere a un insieme di credenziali delle chiavi in uno dei piani, tutti i chiamanti (utenti o applicazioni) devono essere autenticati e autorizzati.To access a key vault in either plane, all callers (users or applications) must be authenticated and authorized. Entrambi i piani usano Azure Active Directory (Azure AD) per l'autenticazione.Both planes use Azure Active Directory (Azure AD) for authentication. Per l'autorizzazione, il piano di gestione usa il controllo degli accessi in base al ruolo, mentre il piano dati usa i criteri di accesso dell'insieme di credenziali delle chiavi.For authorization, the management plane uses role-based access control (RBAC) and the data plane uses a Key Vault access policy.

Il modello con un singolo meccanismo di autenticazione per entrambi i piani presenta alcuni vantaggi:The model of a single mechanism for authentication to both planes has several benefits:

  • Le organizzazioni possono controllare l'accesso a tutti gli insiemi di credenziali delle chiavi in modo centralizzato.Organizations can control access centrally to all key vaults in their organization.
  • Se un utente lascia l'organizzazione, perde immediatamente l'accesso a tutti gli insiemi di credenziali delle chiavi all'interno dell'organizzazione.If a user leaves, they instantly lose access to all key vaults in the organization.
  • Le organizzazioni possono personalizzare l'autenticazione tramite le opzioni disponibili in Azure AD, ad esempio abilitando l'autenticazione a più fattori per una maggiore sicurezza.Organizations can customize authentication by using the options in Azure AD, such as to enable multi-factor authentication for added security.

Gestione dell'accesso amministrativo a Key VaultManaging administrative access to Key Vault

Quando si crea un insieme di credenziali delle chiavi in un gruppo di risorse, si gestisce l'accesso usando Azure AD.When you create a key vault in a resource group, you manage access by using Azure AD. È possibile consentire a utenti o gruppi di gestire gli insiemi di credenziali delle chiavi in un gruppo di risorse.You grant users or groups the ability to manage the key vaults in a resource group. È possibile concedere l'accesso a un determinato livello di ambito assegnando i ruoli di Azure appropriati.You can grant access at a specific scope level by assigning the appropriate Azure roles. Per concedere l'accesso a un utente in modo che possa gestire insiemi di credenziali delle chiavi, assegnare all'utente un ruolo key vault Contributor predefinito in un ambito specifico.To grant access to a user to manage key vaults, you assign a predefined key vault Contributor role to the user at a specific scope. I livelli di ambito seguenti possono essere assegnati a un ruolo di Azure:The following scopes levels can be assigned to an Azure role:

  • Sottoscrizione: un ruolo di Azure assegnato a livello di sottoscrizione si applica a tutti i gruppi di risorse e le risorse all'interno della sottoscrizione.Subscription: An Azure role assigned at the subscription level applies to all resource groups and resources within that subscription.
  • Gruppo di risorse: un ruolo di Azure assegnato a livello di gruppo di risorse si applica a tutte le risorse nel gruppo di risorse.Resource group: An Azure role assigned at the resource group level applies to all resources in that resource group.
  • Risorsa specifica: un ruolo di Azure assegnato a una risorsa specifica si applica a tale risorsa.Specific resource: An Azure role assigned for a specific resource applies to that resource. In questo caso, la risorsa è un insieme di credenziali delle chiavi specifico.In this case, the resource is a specific key vault.

Ci sono diversi ruoli predefiniti.There are several predefined roles. Se un ruolo predefinito non soddisfa le specifiche esigenze, è possibile definire un ruolo personalizzato.If a predefined role doesn't fit your needs, you can define your own role. Per altre informazioni, vedere Controllo degli accessi in base al ruolo: ruoli predefiniti.For more information, see RBAC: Built-in roles.

Importante

Se un utente ha le autorizzazioni Contributor per un piano di gestione di un insieme di credenziali delle chiavi, l'utente può concedere a se stesso l'accesso al piano dati impostando criteri di accesso dell'insieme di credenziali delle chiavi.If a user has Contributor permissions to a key vault management plane, the user can grant themselves access to the data plane by setting a Key Vault access policy. È necessario controllare attentamente chi ha accesso al ruolo Contributor per gli insiemi di credenziali delle chiavi.You should tightly control who has Contributor role access to your key vaults. Assicurarsi che solo gli utenti autorizzati possano accedere e gestire gli insiemi di credenziali delle chiavi, le chiavi, i segreti e i certificati.Ensure that only authorized persons can access and manage your key vaults, keys, secrets, and certificates.

Controllo dell'accesso ai dati di Key VaultControlling access to Key Vault data

I criteri di accesso di Key Vault concedono autorizzazioni separate per chiavi, segreti o certificati.Key Vault access policies grant permissions separately to keys, secrets, or certificate. È possibile concedere a un utente l'accesso solo alle chiavi e non ai segreti.You can grant a user access only to keys and not to secrets. Le autorizzazioni di accesso per chiavi, segreti e certificati vengono gestite a livello di insieme di credenziali.Access permissions for keys, secrets, and certificates are managed at the vault level.

Importante

I criteri di accesso dell'insieme di credenziali delle chiavi non supportano le autorizzazioni granulari a livello di oggetto, ad esempio una chiave, un segreto o un certificato specifico.Key Vault access policies don't support granular, object-level permissions like a specific key, secret, or certificate. Quando a un utente viene concessa l'autorizzazione per creare ed eliminare chiavi, può eseguire tali operazioni su tutte le chiavi dell'insieme di credenziali.When a user is granted permission to create and delete keys, they can perform those operations on all keys in that key vault.

Per impostare i criteri di accesso per un insieme di credenziali delle chiavi, usare il portale di Azure, l'interfaccia della riga di comando di Azure, Azure PowerShell o le API REST di gestione di Key Vault.To set access policies for a key vault, use the Azure portal, the Azure CLI, Azure PowerShell, or the Key Vault Management REST APIs.

È possibile limitare l'accesso al piano dati usando gli endpoint servizio di rete virtuale per Azure Key Vault.You can restrict data plane access by using virtual network service endpoints for Azure Key Vault). È possibile configurare firewall e regole di rete virtuale per un ulteriore livello di sicurezza.You can configure firewalls and virtual network rules for an additional layer of security.

Accesso alla reteNetwork access

È possibile ridurre l'esposizione degli insiemi di credenziali specificando gli indirizzi IP che possono accedervi.You can reduce the exposure of your vaults by specifying which IP addresses have access to them. Gli endpoint servizio di rete virtuale per Azure Key Vault consentono di limitare l'accesso a una rete virtuale specifica.The virtual network service endpoints for Azure Key Vault allow you to restrict access to a specified virtual network. Gli endpoint consentono anche di limitare l'accesso a un elenco di intervalli di indirizzi IPv4 (protocollo internet versione 4).The endpoints also allow you to restrict access to a list of IPv4 (internet protocol version 4) address ranges. L'accesso viene negato a tutti gli utenti che si connettono all'insieme di credenziali delle chiavi dall'esterno di tali origini.Any user connecting to your key vault from outside those sources is denied access.

Quando le regole del firewall vengono applicate, gli utenti possono leggere i dati da Key Vault solo quando le loro richieste hanno origine da reti virtuali o intervalli di indirizzi IPv4 consentiti.After firewall rules are in effect, users can only read data from Key Vault when their requests originate from allowed virtual networks or IPv4 address ranges. Questo vale anche per l'accesso a Key Vault dal portale di Azure.This also applies to accessing Key Vault from the Azure portal. Benché gli utenti possano accedere a un insieme di credenziali delle chiavi dal portale di Azure, potrebbero non essere in grado di elencare chiavi, segreti o certificati se il computer client in uso non è presente nell'elenco dei computer consentiti.Although users can browse to a key vault from the Azure portal, they might not be able to list keys, secrets, or certificates if their client machine is not in the allowed list. Ciò influisce anche sul selettore dell'insieme di credenziali delle chiavi di altri servizi di Azure.This also affects the Key Vault Picker by other Azure services. Se le regole del firewall bloccano i computer client, gli utenti potrebbero essere in grado di visualizzare l'elenco degli insiemi di credenziali delle chiavi ma non di elencare le chiavi.Users might be able to see list of key vaults, but not list keys, if firewall rules prevent their client machine.

Per altre informazioni sull'indirizzo di rete di Azure Key Vault, vedere Endpoint servizio di rete virtuale per Azure Key VaultFor more information on Azure Key Vault network address review Virtual network service endpoints for Azure Key Vault)

MonitoraggioMonitoring

La funzionalità di registrazione di Key Vault salva le informazioni sulle attività eseguite nell'insieme di credenziali.Key Vault logging saves information about the activities performed on your vault. Log di Key Vault:Key Vault logs:

  • Tutte le richieste API REST autenticate, incluse quelle con esito negativoAll authenticated REST API requests, including failed requests
    • Operazioni nell'insieme di credenziali delle chiavi stesso.Operations on the key vault itself. Queste operazioni includono creazione, eliminazione, impostazione di criteri di accesso e aggiornamento degli attributi dell'insieme di credenziali delle chiavi come i tag.These operations include creation, deletion, setting access policies, and updating key vault attributes such as tags.
    • Operazioni su chiavi e segreti nell'insieme di credenziali delle chiavi, tra cui:Operations on keys and secrets in the key vault, including:
      • Creazione, modifica o eliminazione di queste chiavi o segreti.Creating, modifying, or deleting these keys or secrets.
      • Firma, verifica, crittografia, decrittografia, wrapping e annullamento del wrapping delle chiavi, recupero di segreti ed elenco di chiavi e segreti (e delle relative versioni).Signing, verifying, encrypting, decrypting, wrapping and unwrapping keys, getting secrets, and listing keys and secrets (and their versions).
  • Richieste non autenticate che generano una risposta 401.Unauthenticated requests that result in a 401 response. Alcuni esempi sono le richieste che non hanno un token di connessione, hanno un formato non valido, sono scadute o hanno un token non valido.Examples are requests that don't have a bearer token, that are malformed or expired, or that have an invalid token.

È possibile accedere alle informazioni di registrazione entro 10 minuti dall'operazione sull'insieme di credenziali delle chiavi.Logging information can be accessed within 10 minutes after the key vault operation. La gestione dei log nell'account di archiviazione è compito dell'utente.It's up to you to manage your logs in your storage account.

  • Usare i metodi di controllo di accesso standard di Azure per proteggere i log limitando l'accesso agli utenti specificati.Use standard Azure access control methods to secure your logs by restricting who can access them.
  • Eliminare i log che non è più necessario mantenere nell'account di archiviazione.Delete logs that you no longer want to keep in your storage account.

Per consigli sulla gestione sicura degli account di archiviazione, vedere la Guida alla sicurezza di Archiviazione di AzureFor recommendation on securely managing storage accounts review the Azure Storage security guide

Passaggi successiviNext Steps