Azure Data Explorer versleutelt alle gegevens in een opslagaccount in rust. Standaard worden gegevens versleuteld met door Microsoft beheerde sleutels. Voor extra controle over versleutelingssleutels kunt u door de klant beheerde sleutels opgeven voor gegevensversleuteling.
Door de klant beheerde sleutels moeten worden opgeslagen in een Azure Key Vault. U kunt uw eigen sleutels maken en opslaan in een sleutelkluis, of u kunt een Azure Key Vault-API gebruiken om sleutels te genereren. Het Azure Data Explorer-cluster en de sleutelkluis moeten zich in dezelfde regio bevinden, maar ze kunnen zich in verschillende abonnementen bevinden. Zie door de klant beheerde sleutels met Azure Key Vault voor een gedetailleerde uitleg over door de klant beheerde sleutels.
In dit artikel leest u hoe u door de klant beheerde sleutels configureert.
Zie het gearchiveerde artikelvoor codevoorbeelden op basis van eerdere SDK-versies.
Als u door de klant beheerde sleutels wilt configureren met Azure Data Explorer, moet u twee eigenschappen instellen in de sleutelkluis: Voorlopig verwijderen en Niet leegmaken. Deze eigenschappen zijn niet standaard ingeschakeld. Als u deze eigenschappen wilt inschakelen, voert u Soft Delete inschakelen en Opschoningsbeveiliging inschakelen uit in PowerShell of Azure CLI op een nieuwe of bestaande sleutelkluis. RSA en RSA-HSM sleutels van grootte 2048, 3072 en 4096 worden ondersteund. Als u RSA-HSM sleutels wilt gebruiken, maakt u gebruik van C#-, Azure CLI-, PowerShell- of ARM-sjabloonmethoden hieronder. Zie Key Vault-sleutels voor meer informatie over sleutels.
Opmerking
Zie Beperkingen voor meer informatie over de beperkingen van het gebruik van door de klant beheerde sleutels voor leader- en volgclusters.
Een beheerde identiteit toewijzen aan het cluster
Als u door de klant beheerde sleutels voor uw cluster wilt inschakelen, wijst u eerst een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit toe aan het cluster. Je gebruikt deze beheerde identiteit om de cluster de machtigingen te verlenen om toegang te krijgen tot de sleutelkluis. Zie beheerde identiteiten om beheerde identiteiten te configureren.
Versleuteling met door de klant beheerde sleutels inschakelen
In de volgende stappen wordt uitgelegd hoe u door de klant beheerde sleutels versleuteling inschakelt met behulp van Azure Portal. Azure Data Explorer-versleuteling maakt standaard gebruik van door Microsoft beheerde sleutels. Configureer uw Azure Data Explorer-cluster om door de klant beheerde sleutels te gebruiken en geef de sleutel op die u aan het cluster wilt koppelen.
Ga in Azure Portal naar uw Azure Data Explorer-clusterresource .
SelecteerInstellingenversleuteling> in het linkerdeelvenster van de portal.
Selecteer in het deelvenster Versleuteling de optie Aan voor de door de klant beheerde sleutelinstelling .
Selecteer Sleutel selecteren.
Selecteer in het venster Sleutel selecteren in Azure Key Vault een bestaande sleutelkluis uit de keuzelijst. Als u Nieuw maken selecteert om een nieuwe Sleutelkluis te maken, wordt u doorgestuurd naar het scherm Sleutelkluis maken .
Selecteer Sleutel.
Versie:
- Schakel het selectievakje Altijd huidige sleutelversie gebruiken in om ervoor te zorgen dat deze sleutel altijd de meest recente sleutelversie gebruikt.
- Anders, selecteer Versie.
Klik op Select.
Selecteer onder Identiteitstypede optie Door het systeem toegewezen of door de gebruiker toegewezen.
Als u Door de gebruiker toegewezen selecteert, kiest u een door de gebruiker toegewezen identiteit in de vervolgkeuzelijst.
Selecteer Opslaan in het deelvenster Versleuteling dat nu uw sleutel bevat. Wanneer het maken van CMK is geslaagd, ziet u een bericht dat het is gelukt in Meldingen.
Als u door het systeem toegewezen identiteit selecteert bij het inschakelen van door de klant beheerde sleutels voor uw Azure Data Explorer-cluster, maakt u een door het systeem toegewezen identiteit voor het cluster als deze niet bestaat. Daarnaast geeft u de vereiste machtigingen voor get, wrapKey en unwrapKey aan uw Azure Data Explorer-cluster voor de geselecteerde Key Vault en haalt u de Key Vault-eigenschappen op.
Opmerking
Selecteer Uit om de door de klant beheerde sleutel te verwijderen nadat deze is gemaakt.
In de volgende secties wordt uitgelegd hoe u door de klant beheerde sleutels versleuteling configureert met behulp van de Azure Data Explorer C#-client.
Pakketten installeren
Authenticatie
Als u de voorbeelden in dit artikel wilt uitvoeren, maakt u een Microsoft Entra-toepassing en een service-principal aan die toegang heeft tot resources. U kunt roltoewijzing toevoegen aan het abonnementsbereik en de vereiste Microsoft Entra Directory (tenant) ID, Application IDen Application Secret.
In het volgende codefragment ziet u hoe u de Microsoft Authentication Library (MSAL) gebruikt om een Microsoft Entra-toepassingstoken te verkrijgen voor toegang tot uw cluster. Om de stroom te laten slagen, moet de toepassing zijn geregistreerd bij Microsoft Entra ID en moet u beschikken over de inloggegevens voor applicatie-authenticatie, zoals een door Microsoft Entra ID uitgegeven applicatiesleutel of een door Microsoft Entra geregistreerd X.509v2-certificaat.
Azure Data Explorer-versleuteling maakt standaard gebruik van door Microsoft beheerde sleutels. Configureer uw Azure Data Explorer-cluster om door de klant beheerde sleutels te gebruiken en geef de sleutel op die u aan het cluster wilt koppelen.
Werk uw cluster bij met behulp van de volgende code:
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);
Voer de volgende opdracht uit om te controleren of uw cluster is bijgewerkt:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Als het resultaat ProvisioningState met waarde Succeeded bevat, dan is je cluster succesvol bijgewerkt.
In de volgende stappen wordt uitgelegd hoe u door de klant beheerde sleutels versleuteling inschakelt met behulp van de Azure CLI-client. Azure Data Explorer-versleuteling maakt standaard gebruik van door Microsoft beheerde sleutels. Configureer uw Azure Data Explorer-cluster om door de klant beheerde sleutels te gebruiken en geef de sleutel op die u aan het cluster wilt koppelen.
Voer de volgende opdracht uit om u aan te melden bij Azure:
az login
Stel het abonnement in waar uw cluster is geregistreerd. Vervang MyAzureSub door de naam van het Azure-abonnement dat u wilt gebruiken.
az account set --subscription MyAzureSub
Voer de volgende opdracht uit om de nieuwe sleutel in te stellen met de door het cluster toegewezen identiteit
az kusto cluster update --cluster-name "mytestcluster" --resource-group "mytestrg" --key-vault-properties key-name="<key-name>" key-version="<key-version>" key-vault-uri="<key-vault-uri>"
U kunt ook de nieuwe sleutel instellen met een door de gebruiker toegewezen identiteit.
az kusto cluster update --cluster-name "mytestcluster" --resource-group "mytestrg" --key-vault-properties key-name="<key-name>" key-version="<key-version>" key-vault-uri="<key-vault-uri>" key-user-identity="<user-identity-resource-id>"
Voer de volgende opdracht uit en controleer de eigenschap keyVaultProperties om te controleren of het cluster is bijgewerkt.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
In de volgende stappen wordt uitgelegd hoe u door de klant beheerde sleutels versleuteling inschakelt met behulp van PowerShell. Azure Data Explorer-versleuteling maakt standaard gebruik van door Microsoft beheerde sleutels. Configureer uw Azure Data Explorer-cluster om door de klant beheerde sleutels te gebruiken en geef de sleutel op die u aan het cluster wilt koppelen.
Voer de volgende opdracht uit om u aan te melden bij Azure:
Connect-AzAccount
Stel het abonnement in waar uw cluster is geregistreerd.
Set-AzContext -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Voer de volgende opdracht uit om de nieuwe sleutel in te stellen met behulp van een door het systeem toegewezen identiteit.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>"
U kunt ook de nieuwe sleutel instellen met behulp van een door de gebruiker toegewezen identiteit.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>" -KeyVaultPropertyUserIdentity "user-assigned-identity-resource-id"
Voer de volgende opdracht uit en controleer de KeyVaultProperty...' eigenschappen om te controleren of het cluster is bijgewerkt.
Get-AzKustoCluster -Name "mytestcluster" -ResourceGroupName "mytestrg" | Format-List
In de volgende stappen wordt uitgelegd hoe u door de klant beheerde sleutels configureert met behulp van Azure Resource Manager-sjablonen. Azure Data Explorer-versleuteling maakt standaard gebruik van door Microsoft beheerde sleutels. In deze stap configureert u uw Azure Data Explorer-cluster voor het gebruik van door de klant beheerde sleutels en geeft u de sleutel op die u aan het cluster wilt koppelen.
Als u een door het systeem toegewezen identiteit wilt gebruiken voor toegang tot de sleutelkluis, laat u deze userIdentity leeg. Anders stel de resource-ID van de identiteit in.
U kunt de Azure Resource Manager-sjabloon implementeren met behulp van Azure Portal of PowerShell.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"clusterName": {
"type": "string",
"defaultValue": "[concat('kusto', uniqueString(resourceGroup().id))]",
"metadata": {
"description": "Name of the cluster to create"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {},
"resources": [
{
"name": "[parameters('clusterName')]",
"type": "Microsoft.Kusto/clusters",
"sku": {
"name": "Standard_E8ads_v5",
"tier": "Standard",
"capacity": 2
},
"apiVersion": "2019-09-07",
"location": "[parameters('location')]",
"properties": {
"keyVaultProperties": {
"keyVaultUri": "<keyVaultUri>",
"keyName": "<keyName>",
"keyVersion": "<keyVersion>",
"userIdentity": "<userIdentity>"
}
}
}
]
}
Werk de versie van de sleutel bij
Wanneer u een nieuwe versie van een sleutel maakt, moet u het cluster bijwerken om de nieuwe versie te gebruiken.
Get-AzKeyVaultKey Roep eerst aan om de nieuwste versie van de sleutel op te halen. Werk vervolgens de sleutelkluiseigenschappen van het cluster bij om de nieuwe versie van de sleutel te gebruiken, zoals wordt weergegeven in Versleuteling inschakelen met door de klant beheerde sleutels.
Verwante inhoud