Azure Esplora dati crittografa tutti i dati in un account di archiviazione inattivi. Per impostazione predefinita, i dati vengono crittografati con chiavi gestite da Microsoft. Per un controllo aggiuntivo sulle chiavi di crittografia, è possibile fornire chiavi gestite dal cliente da usare per la crittografia dei dati.
Le chiavi gestite dal cliente devono essere archiviate in un Key Vault di Azure. È possibile creare chiavi personalizzate e archiviarle in un insieme di credenziali delle chiavi oppure usare un'API di Azure Key Vault per generare chiavi. Il cluster di Azure Esplora dati e l'insieme di credenziali delle chiavi devono trovarsi nella stessa area, ma possono essere in sottoscrizioni diverse. Per una spiegazione dettagliata sulle chiavi gestite dal cliente, vedere Chiavi gestite dal cliente con Azure Key Vault.
Questo articolo illustra come configurare le chiavi gestite dal cliente.
Per esempi di codice basati sulle versioni precedenti di SDK, vedere l'articolo archiviato.
Configurare Azure Key Vault
Per configurare le chiavi gestite dal cliente con Azure Esplora dati, è necessario impostare due proprietà nell'insieme di credenziali delle chiavi: Eliminazione temporanea e Eliminazione temporanea. Queste proprietà non sono abilitate per impostazione predefinita. Per abilitare queste proprietà, eseguire l'abilitazione dell'eliminazione temporanea e l'abilitazione della protezione dell'eliminazione in PowerShell o nell'interfaccia della riga di comando di Azure in un insieme di credenziali delle chiavi nuovo o esistente. Sono supportate solo le chiavi RSA di dimensioni 2048. Per altre informazioni sulle chiavi, vedere chiavi di Key Vault.
Nota
Per informazioni sulle limitazioni dell'uso delle chiavi gestite dal cliente nei cluster leader e follower, vedere Limitazioni.
Assegnare un'identità gestita al cluster
Per abilitare le chiavi gestite dal cliente per il cluster, assegnare prima di tutto un'identità gestita assegnata dal sistema o assegnata dall'utente al cluster. Questa identità gestita verrà usata per concedere le autorizzazioni del cluster per accedere all'insieme di credenziali delle chiavi. Per configurare le identità gestite, vedere Identità gestite.
abilitare la crittografia con chiavi gestite dal cliente
La procedura seguente illustra come abilitare la crittografia delle chiavi gestite dal cliente usando il portale di Azure. Per impostazione predefinita, la crittografia di Azure Esplora dati usa chiavi gestite da Microsoft. Configurare il cluster di Azure Esplora dati per usare chiavi gestite dal cliente e specificare la chiave da associare al cluster.
Selezionare Crittografia impostazioni>nel riquadro sinistro del portale.
Nel riquadro Crittografia selezionare Attiva per l'impostazione Della chiave gestita dal cliente .
Selezionare Seleziona chiave.
Nella finestra Seleziona chiave da Azure Key Vault selezionare un insieme di credenziali delle chiavi esistente nell'elenco a discesa. Se si seleziona Crea nuovo per creare una nuova Key Vault, verrà indirizzato alla schermata Crea Key Vault.
Selezionare Chiave.
Version:
Per assicurarsi che questa chiave usi sempre la versione della chiave più recente, selezionare la casella di controllo Usa sempre la versione della chiave corrente .
In caso contrario, selezionare Versione.
Scegliere Seleziona.
In Tipo di identità selezionare Sistema Assegnato o Assegnato utente.
Se si seleziona Utente assegnato, selezionare un'identità assegnata dall'utente dall'elenco a discesa.
Nel riquadro Crittografia che ora contiene la chiave selezionare Salva. Quando la creazione di CMK ha esito positivo, verrà visualizzato un messaggio di esito positivo nelle notifiche.
Se si seleziona l'identità assegnata dal sistema quando si abilitano chiavi gestite dal cliente per il cluster di azure Esplora dati, si creerà un'identità assegnata dal sistema per il cluster se non esiste. Inoltre, si fornirà le autorizzazioni get, wrappingKey e unwrapKey necessarie per il cluster di Azure Esplora dati nel Key Vault selezionato e ottenere le proprietà di Key Vault.
Nota
Selezionare Disattivato per rimuovere la chiave gestita dal cliente dopo la creazione.
Le sezioni seguenti illustrano come configurare la crittografia delle chiavi gestite dal cliente usando il client C# di Azure Esplora dati.
Per eseguire gli esempi in questo articolo, creare un'applicazione Microsoft Entra e un'entità servizio che può accedere alle risorse. È possibile aggiungere l'assegnazione di ruolo nell'ambito della sottoscrizione e ottenere l'oggetto obbligatorio Microsoft Entra Directory (tenant) ID, Application IDe Application Secret.
Il frammento di codice seguente illustra come usare Microsoft Authentication Library (MSAL) per acquisire un token di applicazione Microsoft Entra per accedere al cluster. Affinché il flusso abbia esito positivo, l'applicazione deve essere registrata con l'ID Microsoft Entra e è necessario disporre delle credenziali per l'autenticazione dell'applicazione, ad esempio una chiave applicazione rilasciata dall'ID Microsoft Entra o una Microsoft Entra certificato X.509v2 registrato.
Configurare le chiavi gestite dal cliente
Per impostazione predefinita, la crittografia di Azure Esplora dati usa chiavi gestite da Microsoft. Configurare il cluster di Azure Esplora dati per usare chiavi gestite dal cliente e specificare la chiave da associare al cluster.
Aggiornare il cluster usando il codice seguente:
var tenantId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; // Azure AD Directory (tenant) ID
var clientId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx"; // Application ID
var clientSecret = "PlaceholderClientSecret"; // Application secret
var subscriptionId = "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxx";
var credentials = new ClientSecretCredential(tenantId, clientId, clientSecret);
var resourceManagementClient = new ArmClient(credentials, subscriptionId);
var resourceGroupName = "testrg";
var clusterName = "mykustocluster";
var subscription = await resourceManagementClient.GetDefaultSubscriptionAsync();
var resourceGroup = (await subscription.GetResourceGroupAsync(resourceGroupName)).Value;
var clusters = resourceGroup.GetKustoClusters();
var cluster = (await clusters.GetAsync(clusterName)).Value;
var clusterPatch = new KustoClusterPatch(cluster.Data.Location)
{
KeyVaultProperties = new KustoKeyVaultProperties
{
KeyName = "<keyName>",
KeyVersion = "<keyVersion>", // Optional, leave as NULL for the latest version of the key.
KeyVaultUri = new Uri("https://<keyVaultName>.vault.azure.net/"),
UserIdentity = "/subscriptions/<identitySubscriptionId>/resourcegroups/<identityResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identityName>" // Use NULL if you want to use system assigned identity.
}
};
await cluster.UpdateAsync(WaitUntil.Completed, clusterPatch);
Eseguire il comando seguente per verificare se il cluster è stato aggiornato correttamente:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Se il risultato contiene ProvisioningState il Succeeded valore, il cluster è stato aggiornato correttamente.
La procedura seguente illustra come abilitare la crittografia delle chiavi gestite dal cliente tramite il client dell'interfaccia della riga di comando di Azure. Per impostazione predefinita, la crittografia di Azure Esplora dati usa chiavi gestite da Microsoft. Configurare il cluster di Azure Esplora dati per usare chiavi gestite dal cliente e specificare la chiave da associare al cluster.
Eseguire questo comando per accedere ad Azure:
az login
Impostare la sottoscrizione in cui è registrato il cluster. Sostituire MyAzureSub con il nome della sottoscrizione di Azure che si vuole usare.
az account set --subscription MyAzureSub
Eseguire il comando seguente per impostare la nuova chiave con l'identità assegnata dal sistema del cluster
Eseguire il comando seguente e controllare la proprietà "keyVaultProperties" per verificare che il cluster sia stato aggiornato correttamente.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
La procedura seguente illustra come abilitare la crittografia delle chiavi gestite dal cliente tramite PowerShell. Per impostazione predefinita, la crittografia di Azure Esplora dati usa chiavi gestite da Microsoft. Configurare il cluster di Azure Esplora dati per usare chiavi gestite dal cliente e specificare la chiave da associare al cluster.
Eseguire questo comando per accedere ad Azure:
Connect-AzAccount
Impostare la sottoscrizione in cui è registrato il cluster.
La procedura seguente illustra come configurare le chiavi gestite dal cliente usando i modelli di Azure Resource Manager. Per impostazione predefinita, la crittografia di Azure Esplora dati usa chiavi gestite da Microsoft. In questo passaggio configurare il cluster di Azure Esplora dati per usare chiavi gestite dal cliente e specificare la chiave da associare al cluster.
Se si vuole usare un'identità assegnata dal sistema per accedere all'insieme di credenziali delle chiavi, lasciare userIdentity vuoto. In caso contrario, impostare l'ID risorsa dell'identità.
È possibile distribuire il modello di Azure Resource Manager usando il portale di Azure o usando PowerShell.
Quando si crea una nuova versione di una chiave, è necessario aggiornare il cluster per usare la nuova versione. Prima di tutto, chiamare Get-AzKeyVaultKey per ottenere la versione più recente della chiave. Aggiornare quindi le proprietà dell'insieme di credenziali delle chiavi del cluster per usare la nuova versione della chiave, come illustrato in Abilitare la crittografia con chiavi gestite dal cliente.