Azure Data Explorer šifruje veškerá data uložená ve stavu nečinnosti v účtu úložiště. Ve výchozím nastavení k šifrování používá klíče spravované Microsoftem. Pokud chcete mít větší kontrolu nad šifrovacími klíči, můžete pro šifrování dat poskytnout klíče spravované zákazníkem.
Klíče spravované zákazníkem musíte ukládat do služby Azure Key Vault. Můžete vytvořit vlastní klíče a uložit je do trezoru klíčů nebo můžete použít rozhraní API služby Azure Key Vault ke generování klíčů. Cluster Azure Data Exploreru a trezor klíčů musí být ve stejné oblasti, ale můžou být v různých předplatných. Podrobné vysvětlení klíčů spravovaných zákazníkem najdete v tématu Klíče spravované zákazníkem pomocí služby Azure Key Vault.
V tomto článku se dozvíte, jak nakonfigurovat klíče spravované zákazníkem.
Ukázky kódu založené na předchozích verzích sady SDK najdete v archivovaného článku.
Pokud chcete nakonfigurovat klíče spravované zákazníkem pomocí Azure Data Explorer, musíte v trezoru klíčů nastavit dvě vlastnosti: Soft Delete a Do Not Purge. Tyto vlastnosti nejsou ve výchozím nastavení povolené. Pokud chcete tyto vlastnosti povolit, proveďte povolení obnovitelného odstranění a povolení ochrany před vymazáním v PowerShellu nebo Azure CLI v novém nebo existujícím trezoru klíčů. Azure Data Explorer podporuje RSA a klíče RSA-HSM velikosti 2048, 3072 a 4096. Pokud chcete použít RSA-HSM klíče, použijte metody šablony C#, Azure CLI, PowerShellu nebo ARM popsané v tomto článku. Další informace o klíčích najdete v tématu Klíče služby Key Vault.
Poznámka:
Informace o omezeních používání klíčů spravovaných zákazníkem v clusterech vedoucího a následníka najdete v tématu Omezení.
Přiřazení spravované identity ke clusteru
Pokud chcete pro váš cluster povolit klíče spravované zákazníkem, přiřaďte nejprve ke clusteru spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem. Pomocí této spravované identity udělte clusteru oprávnění pro přístup k trezoru klíčů. Pokud chcete nakonfigurovat spravované identity, podívejte se na spravované identity.
Povolení šifrování pomocí klíčů spravovaných zákazníkem
Následující postup vysvětluje, jak povolit šifrování klíčů spravovaných zákazníkem pomocí webu Azure Portal. Ve výchozím nastavení používá šifrování Azure Data Exploreru klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Exploreru tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
V portálu Azure přejděte k prostředku clusteru služby Azure Data Explorer.
V levém podokně portálu vyberte Šifrování nastavení>.
V podokně Šifrování vyberte pro nastavení klíče spravovaného zákazníkemzapnuto.
Vyberte klíč.
V okně Vybrat klíč ze služby Azure Key Vault vyberte z rozevíracího seznamu existující trezor klíčů . Pokud vyberete Vytvořit nový , abyste vytvořili novou službu Key Vault, budete přesměrováni na obrazovku Vytvořit trezor klíčů .
Vyberte klíč.
Verze:
- Pokud chcete zajistit, aby tento klíč vždy používal nejnovější verzi klíče, zaškrtněte políčko Vždy používat aktuální verzi klíče .
- V opačném případě vyberte Verze.
Vyberte Vybrat.
V části Typ identity vyberte Přiřazený systém nebo Přiřazený uživatel.
Pokud vyberete Přiřazený uživatel, vyberte v rozevíracím seznamu identitu přiřazenou uživatelem.
V podokně Šifrování , které teď obsahuje váš klíč, vyberte Uložit. Po úspěšném vytvoření CMK se v oznámeních zobrazí zpráva o úspěchu.
Pokud při povolování klíčů spravovaných zákazníkem pro cluster Azure Data Explorer vyberete identitu přiřazenou systémem, vytvoříte pro cluster identitu přiřazenou systémem, pokud neexistuje. Kromě toho zadáte požadovaná oprávnění get, wrapKey a unwrapKey ke clusteru Azure Data Exploreru ve vybrané službě Key Vault a získáte vlastnosti služby Key Vault.
Poznámka:
Výběrem Vypnuto odeberete klíč spravovaný zákazníkem po jeho vytvoření.
Následující části vysvětlují, jak nakonfigurovat šifrování klíčů spravovaných zákazníkem pomocí klienta C# Azure Data Exploreru.
Instalace balíčků
Autentizace
Pokud chcete spustit příklady v tomto článku, vytvořte aplikaci Microsoft Entra a instanční objekt, který má přístup k prostředkům. Přiřazení role můžete přidat v oboru předplatného a získat požadované Microsoft Entra Directory (tenant) ID, Application ID a Application Secret.
Následující úryvek kódu ukazuje, jak použít Microsoft Authentication Library (MSAL) k získání tokenu aplikace Microsoft Entra pro přístup ke clusteru. Aby tok proběhl úspěšně, musí být aplikace zaregistrovaná v Microsoft Entra ID a musíte mít přihlašovací údaje pro ověřování aplikací, jako je například klíč aplikace vydaný Microsoft Entra nebo certifikát X.509v2 zaregistrovaný Microsoft Entra.
Ve výchozím nastavení používá šifrování Azure Data Exploreru klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Exploreru tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
Aktualizujte cluster pomocí následujícího kódu:
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);
Spuštěním následujícího příkazu zkontrolujte, jestli jste cluster úspěšně aktualizovali:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Pokud výsledek obsahuje ProvisioningState s hodnotou Succeeded, cluster jste úspěšně aktualizovali.
Následující postup vysvětluje, jak povolit šifrování klíčů spravovaných zákazníkem pomocí Azure CLI. Ve výchozím nastavení používá šifrování Azure Data Exploreru klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Exploreru tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
Spuštěním následujícího příkazu se přihlaste k Azure:
az login
Nastavte předplatné, ve kterém je cluster zaregistrovaný. Nahraďte MyAzureSub názvem předplatného Azure, které chcete použít.
az account set --subscription MyAzureSub
Spuštěním následujícího příkazu nastavte nový klíč s identitou přiřazenou systémem clusteru:
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>"
Případně můžete nový klíč nastavit pomocí identity přiřazené uživatelem:
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>"
Spusťte následující příkaz a zkontrolujte keyVaultProperties vlastnost a ověřte, že se cluster úspěšně aktualizoval.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
Následující postup vysvětluje, jak povolit šifrování klíčů spravovaných zákazníkem pomocí PowerShellu. Ve výchozím nastavení používá šifrování Azure Data Exploreru klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Exploreru tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
Spuštěním následujícího příkazu se přihlaste k Azure:
Connect-AzAccount
Nastavte předplatné, ve kterém je cluster zaregistrovaný.
Set-AzContext -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Spuštěním následujícího příkazu nastavte nový klíč pomocí identity přiřazené systémem.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>"
Případně můžete nový klíč nastavit pomocí identity přiřazené uživatelem.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>" -KeyVaultPropertyUserIdentity "user-assigned-identity-resource-id"
Spusťte následující příkaz a zkontrolujte KeyVaultProperty... vlastnosti a ověřte, že se cluster úspěšně aktualizoval.
Get-AzKustoCluster -Name "mytestcluster" -ResourceGroupName "mytestrg" | Format-List
Následující postup vysvětluje, jak nakonfigurovat klíče spravované zákazníkem pomocí šablon Azure Resource Manageru. Ve výchozím nastavení používá šifrování Azure Data Exploreru klíče spravované Microsoftem. V tomto kroku nakonfigurujte cluster Azure Data Exploreru tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
Pokud chcete pro přístup k trezoru klíčů použít identitu přiřazenou systémem, nechejte userIdentity prázdnou. V opačném případě nastavte identifikátor prostředku identity.
Šablonu Azure Resource Manageru můžete nasadit pomocí webu Azure Portal nebo pomocí PowerShellu.
{
"$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>"
}
}
}
]
}
Aktualizace verze klíče
Když vytvoříte novou verzi klíče, musíte cluster aktualizovat tak, aby používal novou verzi. Nejdřív zavolejte Get-AzKeyVaultKey , abyste získali nejnovější verzi klíče. Potom aktualizujte vlastnosti trezoru klíčů clusteru tak, aby používaly novou verzi klíče, jak je znázorněno v tématu Povolení šifrování pomocí klíčů spravovaných zákazníkem.
Související obsah