Azure Data Explorer krypterar alla data i ett vilande lagringskonto. Som standard krypteras data med Microsoft-hanterade nycklar. Om du vill ha extra kontroll över krypteringsnycklar kan du ange kundhanterade nycklar som ska användas för datakryptering.
Kundhanterade nycklar måste lagras i en Azure-Key Vault. Du kan skapa egna nycklar och lagra dem i ett nyckelvalv, eller så kan du använda ett Azure Key Vault-API för att generera nycklar. Azure Data Explorer-klustret och nyckelvalvet måste finnas i samma region, men de kan finnas i olika prenumerationer. En detaljerad förklaring av kundhanterade nycklar finns i Kundhanterade nycklar med Azure Key Vault.
Den här artikeln visar hur du konfigurerar kundhanterade nycklar.
Kodexempel baserade på tidigare SDK-versioner finns i den arkiverade artikeln.
Konfigurera Azure Key Vault
Om du vill konfigurera kundhanterade nycklar med Azure Data Explorer måste du ange två egenskaper för nyckelvalvet: Mjuk borttagning och Rensa inte. Dessa egenskaper är inte aktiverade som standard. Aktivera dessa egenskaper genom att aktivera mjuk borttagning och aktivera rensningsskydd i PowerShell eller Azure CLI på ett nytt eller befintligt nyckelvalv. Endast RSA-nycklar med storlek 2048 stöds. Mer information om nycklar finns i Key Vault nycklar.
Anteckning
Information om begränsningarna med att använda kundhanterade nycklar i leader- och uppföljningskluster finns i Begränsningar.
Tilldela en hanterad identitet till klustret
Om du vill aktivera kundhanterade nycklar för klustret tilldelar du först antingen en systemtilldelad eller användartilldelad hanterad identitet till klustret. Du använder den här hanterade identiteten för att ge klustret behörighet att komma åt nyckelvalvet. Information om hur du konfigurerar hanterade identiteter finns i Hanterade identiteter.
Följande steg beskriver hur du aktiverar kryptering av kundhanterade nycklar med hjälp av Azure Portal. Som standard använder Azure Data Explorer-kryptering Microsoft-hanterade nycklar. Konfigurera ditt Azure Data Explorer-kluster för att använda kundhanterade nycklar och ange nyckeln som ska associeras med klustret.
Välj Inställningar>Kryptering i den vänstra rutan i portalen.
I fönstret Kryptering väljer du På för inställningen Kundhanterad nyckel .
Välj Välj nyckel.
I fönstret Välj nyckel från Azure Key Vault väljer du ett befintligt nyckelvalv i listrutan. Om du väljer Skapa ny för att skapa en ny Key Vault dirigeras du till skärmen Skapa Key Vault.
Välj Nyckel.
Version:
Om du vill se till att den här nyckeln alltid använder den senaste nyckelversionen markerar du kryssrutan Använd alltid aktuell nyckelversion .
Annars väljer du Version.
Välj Välj.
Under Identitetstyp väljer du Systemtilldelad eller Användartilldelad.
Om du väljer Användartilldelad väljer du en användartilldelad identitet i listrutan.
I fönstret Kryptering som nu innehåller nyckeln väljer du Spara. När CMK har skapats visas ett meddelande i Meddelanden.
Om du väljer systemtilldelad identitet när du aktiverar kundhanterade nycklar för ditt Azure Data Explorer-kluster skapar du en systemtilldelad identitet för klustret om det inte finns någon. Dessutom tillhandahåller du nödvändiga behörigheter för get, wrapKey och unwrapKey till ditt Azure Data Explorer-kluster på den valda Key Vault och hämtar egenskaperna för Key Vault.
Anteckning
Välj Av för att ta bort den kundhanterade nyckeln när den har skapats.
I följande avsnitt beskrivs hur du konfigurerar kryptering av kundhanterade nycklar med hjälp av Azure Data Explorer C#-klienten.
Om du vill köra exemplen i den här artikeln skapar du ett Microsoft Entra program och tjänstens huvudnamn som har åtkomst till resurser. Du kan lägga till rolltilldelning i prenumerationsomfånget och hämta nödvändiga Microsoft Entra Directory (tenant) ID, Application IDoch Application Secret.
Följande kodfragment visar hur du använder Microsoft Authentication Library (MSAL) för att hämta en Microsoft Entra programtoken för att få åtkomst till klustret. För att flödet ska lyckas måste programmet registreras med Microsoft Entra-ID och du måste ha autentiseringsuppgifterna för programautentisering, till exempel en Microsoft Entra ID-utfärdad programnyckel eller ett Microsoft Entra registrerat X.509v2-certifikat.
Konfigurera kundhanterade nycklar
Som standard använder Azure Data Explorer-kryptering Microsoft-hanterade nycklar. Konfigurera ditt Azure Data Explorer-kluster för att använda kundhanterade nycklar och ange nyckeln som ska associeras med klustret.
Uppdatera klustret med hjälp av följande kod:
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);
Kör följande kommando för att kontrollera om klustret har uppdaterats:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Om resultatet innehåller ProvisioningState med Succeeded värdet har klustret uppdaterats.
Följande steg beskriver hur du aktiverar kryptering av kundhanterade nycklar med hjälp av Azure CLI-klienten. Som standard använder Azure Data Explorer-kryptering Microsoft-hanterade nycklar. Konfigurera ditt Azure Data Explorer-kluster för att använda kundhanterade nycklar och ange nyckeln som ska associeras med klustret.
Kör följande kommandon för att logga in på Azure:
az login
Ange den prenumeration där klustret är registrerat. Ersätt MyAzureSub med namnet på den Azure-prenumeration som du vill använda.
az account set --subscription MyAzureSub
Kör följande kommando för att ange den nya nyckeln med klustrets systemtilldelade identitet
Kör följande kommando och kontrollera egenskapen "keyVaultProperties" för att kontrollera att klustret har uppdaterats.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
Följande steg beskriver hur du aktiverar kryptering av kundhanterade nycklar med PowerShell. Som standard använder Azure Data Explorer-kryptering Microsoft-hanterade nycklar. Konfigurera ditt Azure Data Explorer-kluster för att använda kundhanterade nycklar och ange nyckeln som ska associeras med klustret.
Kör följande kommandon för att logga in på Azure:
Connect-AzAccount
Ange den prenumeration där klustret är registrerat.
Följande steg beskriver hur du konfigurerar kundhanterade nycklar med hjälp av Azure Resource Manager-mallar. Som standard använder Azure Data Explorer-kryptering Microsoft-hanterade nycklar. I det här steget konfigurerar du ditt Azure Data Explorer-kluster för att använda kundhanterade nycklar och anger nyckeln som ska associeras med klustret.
Om du vill använda en systemtilldelad identitet för att komma åt nyckelvalvet lämnar userIdentity du tomt. Annars anger du identitetens resurs-ID.
Du kan distribuera Azure Resource Manager-mallen med hjälp av Azure Portal eller med hjälp av PowerShell.
När du skapar en ny version av en nyckel måste du uppdatera klustret så att det använder den nya versionen.
Get-AzKeyVaultKey Anropa först för att hämta den senaste versionen av nyckeln. Uppdatera sedan klustrets nyckelvalvsegenskaper för att använda den nya versionen av nyckeln, som du ser i Aktivera kryptering med kundhanterade nycklar.