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.
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-verwijdering inschakelen en Purge Protection inschakelen uit in PowerShell of Azure CLI voor een nieuwe of bestaande sleutelkluis. Alleen RSA-sleutels van grootte 2048 worden ondersteund. Zie Key Vault-sleutels voor meer informatie over sleutels.
Notitie
Gegevensversleuteling met behulp van door de klant beheerde sleutels wordt niet ondersteund in 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. U zult deze beheerde identiteit gebruiken om de cluster machtigingen te verlenen voor toegang tot de sleutelkluis. Zie beheerde identiteiten om beheerde identiteiten te configureren.
Versleuteling met door de klant beheerde sleutels inschakelen
In deze 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 .
Selecteer Instellingen>Versleuteling in het linkerdeelvenster van de portal.
Selecteer in het deelvenster Versleuteling de optie Aan voor de door de klant beheerde sleutelinstelling .
Klik op Toets selecteren.
Selecteer in het venster Sleutel selecteren van Azure Key Vault een bestaande sleutelkluis in de vervolgkeuzelijst. 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.
- Selecteer anders Versie.
Klik op Selecteren.
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.
Sla de door de klant beheerde sleutel op.
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 verstrekt u de benodigde machtigingen voor "get", "wrapKey" en "unwrapKey" aan uw Azure Data Explorer-cluster op de geselecteerde Key Vault en haalt u de eigenschappen van de Key Vault op.
Notitie
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 Azure AD-toepassing en service-principal die toegang heeft tot resources. U kunt roltoewijzing toevoegen aan het abonnementsbereik en de vereiste Azure AD Directory (tenant) ID, Application IDen Application Secretophalen.
Het volgende codefragment laat zien hoe u de Microsoft Authentication Library (MSAL) gebruikt om een Azure AD-toepassingstoken te verkrijgen voor toegang tot uw cluster. Voor een geslaagde stroom moet de toepassing worden geregistreerd bij Azure AD en moet u over de referenties beschikken voor toepassingsverificatie, zoals een door Azure AD uitgegeven toepassingssleutel of een X.509v2-certificaat dat is geregistreerd bij Azure AD.
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";
// Create a confidential authentication client for Azure AD:
var authClient = ConfidentialClientApplicationBuilder.Create(clientId)
.WithAuthority($"https://login.microsoftonline.com/{tenantId}")
.WithClientSecret(clientSecret) // can be replaced by .WithCertificate to authenticate with an X.509 certificate
.Build();
// Acquire application token
var result = authClient.AcquireTokenForClient(
new[] { "https://management.core.windows.net/.default" } // Define scopes for accessing Azure management plane
).ExecuteAsync().Result;
var credentials = new TokenCredentials(result.AccessToken, result.TokenType);
var kustoManagementClient = new KustoManagementClient(credentials) { SubscriptionId = subscriptionId };
var resourceGroupName = "testrg";
var clusterName = "mykustocluster";
var clusterPatch = new ClusterUpdate(
keyVaultProperties: new KeyVaultProperties(
keyName: "<keyName>",
keyVersion: "<keyVersion>", // Optional, leave as NULL for the latest version of the key.
keyVaultUri: "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 kustoManagementClient.Clusters.UpdateAsync(resourceGroupName, clusterName, clusterPatch);
Voer de volgende opdracht uit om te controleren of uw cluster is bijgewerkt:
var clusterData = await kustoManagementClient.Clusters.GetAsync(resourceGroupName, clusterName);
Als het resultaat ProvisioningState bevat met waarde Succeeded, 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 om toegang te krijgen tot de sleutelkluis, laat u userIdentity leeg. Anders stelt u 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. Roep eerst Get-AzKeyVaultKey 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.
Volgende stappen