Konfigurieren von kundenseitig verwalteten Schlüsseln
Artikel
Azure Data Explorer verschlüsselt alle Daten in einem Speicherkonto für ruhende Daten. Standardmäßig werden Daten mit von Microsoft verwalteten Schlüsseln verschlüsselt. Für zusätzliche Kontrolle über Verschlüsselungsschlüssel können Sie kundenseitig verwaltete Schlüssel bereitstellen, die für die Datenverschlüsselung verwendet werden können.
Kundenseitig verwaltete Schlüssel müssen in Azure Key Vault gespeichert werden. Sie können eigene Schlüssel erstellen und in einer Key Vault-Instanz speichern oder eine Azure Key Vault-API verwenden, um Schlüssel zu generieren. Der Azure Data Explorer-Cluster und die Key Vault-Instanz müssen sich in der gleichen Region befinden, können aber zu verschiedenen Abonnements gehören. Eine ausführliche Erläuterung zu kundenseitig verwalteten Schlüsseln finden Sie unter Azure Storage-Verschlüsselung für ruhende Daten im Abschnitt „Von Kunden verwaltete Schlüssel mit Azure Key Vault“.
Der vorliegende Artikel veranschaulicht das Konfigurieren von kundenseitig verwalteten Schlüsseln.
Codebeispiele, die auf früheren SDK-Versionen basieren, finden Sie im archivierten Artikel.
Konfigurieren von Azure Key Vault
Um kundenseitig verwaltete Schlüssel mit Azure Data Explorer zu konfigurieren, müssen Sie zwei Eigenschaften in Key Vault festlegen: Vorläufiges Löschen und Do Not Purge (Nicht bereinigen). Diese Eigenschaften sind standardmäßig nicht aktiviert. Um diese Eigenschaften zu aktivieren, führen Sie Aktivieren des vorläufigen Löschens und Aktivieren des Bereinigungsschutzes in PowerShell oder Azure CLI in einem neuen oder vorhandenen Schlüsseltresor aus. Es werden ausschließlich RSA-Schlüssel und die Größe 2.048 unterstützt. Weitere Informationen zu Schlüsseln finden Sie unter Key Vault-Schlüssel.
Hinweis
Informationen zu den Einschränkungen der Verwendung von kundenseitig verwalteten Schlüsseln in Leader- und Followerclustern finden Sie unter Einschränkungen.
Zuweisen einer verwalteten Identität zum Cluster
Um kundenseitig verwaltete Schlüssel für Ihren Cluster zu aktivieren, weisen Sie dem Cluster zunächst eine systemseitig oder benutzerseitig zugewiesene verwaltete Identität hinzu. Sie verwenden diese verwaltete Identität, um dem Cluster Berechtigungen für den Zugriff auf die Key Vault-Instanz zu gewähren. Informationen zum Konfigurieren verwalteter Identitäten finden Sie unter Verwaltete Identitäten.
Aktivieren der Verschlüsselung mit von Kunden verwalteten Schlüsseln
In den folgenden Schritten wird erläutert, wie Sie die Verschlüsselung von kundenseitig verwalteten Schlüsseln mithilfe des Azure-Portal aktivieren. Die Azure Data Explorer-Verschlüsselung verwendet standardmäßig von Microsoft verwaltete Schlüssel. Konfigurieren Sie Ihren Azure Data Explorer-Cluster für die Verwendung von kundenseitig verwalteten Schlüsseln, und geben Sie den Schlüssel an, der dem Cluster zugeordnet werden soll.
Wählen Sie im linken Bereich des Portals Einstellungen>Verschlüsselung aus.
Wählen Sie im Bereich Verschlüsselung die Option Ein für die Einstellung Kundenseitig verwalteter Schlüssel aus.
Wählen Sie Schlüssel auswählen aus.
Wählen Sie im Fenster Schlüssel aus Azure Key Vault auswählen einen vorhandenen Schlüsseltresor aus der Dropdownliste aus. Wenn Sie Neu erstellen auswählen, um einen neuen Schlüsseltresor zu erstellen, werden Sie zum Bildschirm Schlüsseltresor erstellen weitergeleitet.
Wählen Sie Schlüssel aus.
Version:
Um sicherzustellen, dass für diesen Schlüssel immer die aktuelle Schlüsselversion verwendet wird, aktivieren Sie das Kontrollkästchen Always use current key version (Immer aktuelle Schlüsselversion verwenden).
Wählen Sie andernfalls Version aus.
Wählen Sie Auswählen.
Wählen Sie unter Identitätstyp die Option Systemseitig zugewiesen oder Benutzerseitig zugewiesene aus.
Wählen Sie bei der Auswahl von Benutzerseitig zugewiesene in der Dropdownliste eine benutzerseitig zugewiesene Identität aus.
Wählen Sie im Bereich Verschlüsselung, der jetzt Ihren Schlüssel enthält, Speichern aus. Wenn die CMK-Erstellung erfolgreich ist, wird eine Erfolgsmeldung in Benachrichtigungen angezeigt.
Wenn Sie bei der Aktivierung von kundenseitig verwalteten Schlüsseln für Ihren Azure Data Explorer-Cluster eine systemseitig zugewiesene Identität auswählen, erstellen Sie eine systemseitig zugewiesene Identität für den Cluster, falls diese noch nicht vorhanden ist. Darüber hinaus stellen Sie die erforderlichen get-, wrapKey- und unwrapKey-Berechtigungen für Ihren Azure Data Explorer-Cluster in der ausgewählten Key Vault-Instanz zur Verfügung und erhalten die Key Vault-Eigenschaften.
Hinweis
Wählen Sie Aus, um den vom Kunden verwalteten Schlüssel nach seiner Erstellung zu entfernen.
In den folgenden Abschnitten wird erläutert, wie Sie die Verschlüsselung von kundenseitig verwalteten Schlüsseln mithilfe des Azure Data Explorer C#-Clients konfigurieren.
Um die Beispiele in diesem Artikel auszuführen, erstellen Sie eine Microsoft Entra Anwendung und einen Dienstprinzipal, der auf Ressourcen zugreifen kann. Sie können eine Rollenzuweisung im Abonnementbereich hinzufügen und die erforderliche Microsoft Entra Directory (tenant) ID, Application IDund Application Secret abrufen.
Der folgende Codeausschnitt veranschaulicht, wie Sie die Microsoft Authentication Library (MSAL) verwenden, um ein Microsoft Entra Anwendungstoken für den Zugriff auf Ihren Cluster abzurufen. Damit der Flow erfolgreich ist, muss die Anwendung mit Microsoft Entra-ID registriert sein, und Sie müssen über die Anmeldeinformationen für die Anwendungsauthentifizierung verfügen, z. B. einen Microsoft Entra ID-ausgestellten Anwendungsschlüssel oder ein Microsoft Entra registriertes X.509v2-Zertifikat.
Konfigurieren von kundenseitig verwalteten Schlüsseln
Die Azure Data Explorer-Verschlüsselung verwendet standardmäßig von Microsoft verwaltete Schlüssel. Konfigurieren Sie Ihren Azure Data Explorer-Cluster für die Verwendung von kundenseitig verwalteten Schlüsseln, und geben Sie den Schlüssel an, der dem Cluster zugeordnet werden soll.
Aktualisieren Sie Ihren Cluster mit dem folgenden 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);
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ihr Cluster erfolgreich aktualisiert wurde:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Wenn das Ergebnis ProvisioningState mit dem Wert Succeeded enthält, wurde Ihr Cluster erfolgreich aktualisiert.
In den folgenden Schritten wird erläutert, wie Sie die Verschlüsselung von kundenseitig verwalteten Schlüsseln mithilfe des Azure CLI-Clients aktivieren. Die Azure Data Explorer-Verschlüsselung verwendet standardmäßig von Microsoft verwaltete Schlüssel. Konfigurieren Sie Ihren Azure Data Explorer-Cluster für die Verwendung von kundenseitig verwalteten Schlüsseln, und geben Sie den Schlüssel an, der dem Cluster zugeordnet werden soll.
Führen Sie den folgenden Befehl aus, um sich bei Azure anzumelden:
az login
Legen Sie das Abonnement fest, in dem der Cluster registriert ist. Ersetzen Sie MyAzureSub durch den Namen des gewünschten Azure-Abonnements.
az account set --subscription MyAzureSub
Führen Sie den folgenden Befehl aus, um den neuen Schlüssel mithilfe der systemseitig zugewiesenen Identität des Clusters festzulegen.
Führen Sie den folgenden Befehl aus, und überprüfen Sie die keyVaultProperties-Eigenschaft, um sicherzustellen, dass der Cluster erfolgreich aktualisiert wurde.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
In den folgenden Schritten wird erläutert, wie Sie die verschlüsselung von kundenseitig verwalteten Schlüsseln mithilfe von PowerShell aktivieren. Die Azure Data Explorer-Verschlüsselung verwendet standardmäßig von Microsoft verwaltete Schlüssel. Konfigurieren Sie Ihren Azure Data Explorer-Cluster für die Verwendung von kundenseitig verwalteten Schlüsseln, und geben Sie den Schlüssel an, der dem Cluster zugeordnet werden soll.
Führen Sie den folgenden Befehl aus, um sich bei Azure anzumelden:
Connect-AzAccount
Legen Sie das Abonnement fest, in dem der Cluster registriert ist.
Führen Sie den folgenden Befehl aus, und überprüfen Sie die Eigenschaften vom Typ „KeyVaultProperty...“, um sicherzustellen, dass der Cluster erfolgreich aktualisiert wurde:
In den folgenden Schritten wird erläutert, wie Sie kundenseitig verwaltete Schlüssel mithilfe von Azure Resource Manager-Vorlagen konfigurieren. Die Azure Data Explorer-Verschlüsselung verwendet standardmäßig von Microsoft verwaltete Schlüssel. In diesem Schritt konfigurieren Sie Ihren Azure Data Explorer-Cluster für die Verwendung von kundenseitig verwalteten Schlüsseln und geben den Schlüssel an, der dem Cluster zugeordnet werden soll.
Wenn Sie eine vom systemseitig zugewiesene Identität für den Zugriff auf den Schlüsseltresor verwenden möchten, lassen Sie userIdentity leer. Legen Sie andernfalls die Ressourcen-ID der Identität fest.
Sie können die Azure Resource Manager-Vorlage über das Azure-Portal oder mithilfe von PowerShell bereitstellen.
Wenn Sie eine neue Version eines Schlüssels erstellen, müssen Sie den Cluster aktualisieren, damit er die neue Version verwendet. Rufen Sie zuerst Get-AzKeyVaultKey auf, um die neueste Version des Schlüssels abzurufen. Aktualisieren Sie dann die Schlüsseltresoreigenschaften des Clusters, um die neue Version des Schlüssels zu verwenden, wie unter Aktivieren der Verschlüsselung mit kundenseitig verwalteten Schlüsseln gezeigt.