Azure Data Explorer šifruje všechna neaktivní uložená data v účtu úložiště. Ve výchozím nastavení se data šifrují pomocí klíčů spravovaných Microsoftem. Pokud chcete získat další kontrolu nad šifrovacími klíči, můžete zadat klíče spravované zákazníkem, které se použijí k šifrování dat.
Klíče spravované zákazníkem musí být uložené v Key Vault Azure. Můžete vytvořit vlastní klíče a uložit je do trezoru klíčů, nebo můžete k vygenerování klíčů použít azure Key Vault API. Cluster Azure Data Explorer 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í Azure Key Vault.
V tomto článku se dozvíte, jak nakonfigurovat klíče spravované zákazníkem.
Konfigurace Azure Key Vaultu
Pokud chcete nakonfigurovat klíče spravované zákazníkem v Azure Data Explorer, musíte v trezoru klíčů nastavit dvě vlastnosti: obnovitelné odstranění a nevyprázdnit. 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íčů. Podporují se pouze klíče RSA velikosti 2048. Další informace o klíčích najdete v tématu Key Vault klíčů.
Pokud chcete pro cluster povolit klíče spravované zákazníkem, nejprve clusteru přiřaďte spravovanou identitu přiřazenou systémem nebo uživatelem. Tuto spravovanou identitu použijete k udělení oprávnění clusteru pro přístup k trezoru klíčů. Informace o konfiguraci spravovaných identit najdete v tématu spravované identity.
Povolení šifrování s využitím klíčů spravovaných zákazníkem
Následující postup vysvětluje, jak povolit šifrování klíčů spravovaných zákazníkem pomocí Azure Portal. Ve výchozím nastavení používá šifrování Azure Data Explorer klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Explorer tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má ke clusteru přidružit.
V levém podokně portálu vyberte Šifrování nastavení>.
V podokně Šifrování vyberte Zapnuto pro nastavení Klíč spravovaný zákazníkem .
Klikněte na Vybrat klíč.
V okně Vybrat klíč z Azure Key Vault vyberte z rozevíracího seznamu existující trezor klíčů. Pokud vyberete Vytvořit nový a vytvoříte nový Key Vault, budete přesměrováni na obrazovku Vytvořit Key Vault.
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 .
Jinak vyberte Verze.
Klikněte na Vybrat.
V části Typ identity vyberte Přiřazeno systémem nebo Přiřazeno uživatelem.
Pokud vyberete Přiřazený uživatel, vyberte identitu přiřazenou uživatelem z rozevíracího seznamu.
V podokně Šifrování , které teď obsahuje váš klíč, vyberte Uložit. Po úspěšném vytvoření klíče 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 identitu přiřazenou systémem pro cluster, pokud neexistuje. Kromě toho poskytnete clusteru Azure Data Explorer na vybraném Key Vault požadovaná oprávnění get, wrapKey a unwrapKey a získáte Key Vault vlastnosti.
Poznámka
Výběrem možnosti 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 Azure Data Explorer jazyka C#.
Pokud chcete spustit příklady v tomto článku, vytvořte Azure AD aplikaci a instanční objekt, které mají přístup k prostředkům. Můžete přidat přiřazení role v oboru předplatného a získat požadované Azure AD Directory (tenant) ID, Application IDa Application Secret.
Následující fragment kódu ukazuje použití knihovny Microsoft Authentication Library (MSAL) k získání Azure AD tokenu aplikace pro přístup ke clusteru. Aby tok proběhl úspěšně, musí být aplikace zaregistrovaná pomocí Azure AD a musíte mít přihlašovací údaje pro ověřování aplikace, jako je klíč aplikace vydaný Azure AD nebo certifikát X.509v2 zaregistrovaný Azure AD.
Konfigurace klíčů spravovaných zákazníkem
Ve výchozím nastavení používá šifrování Azure Data Explorer klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Explorer 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";
// 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);
Spuštěním následujícího příkazu zkontrolujte, jestli se cluster úspěšně aktualizoval:
var clusterData = await kustoManagementClient.Clusters.GetAsync(resourceGroupName, clusterName);
Pokud výsledek obsahuje ProvisioningState hodnotu Succeeded , cluster se úspěšně aktualizoval.
Následující postup vysvětluje, jak povolit šifrování klíčů spravovaných zákazníkem pomocí klienta Azure CLI. Ve výchozím nastavení používá šifrování Azure Data Explorer klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Explorer 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 váš cluster zaregistrovaný.
MyAzureSub nahraďte 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.
Spusťte následující příkaz a zkontrolujte vlastnost keyVaultProperties, abyste ověřili, ž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 Explorer klíče spravované Microsoftem. Nakonfigurujte cluster Azure Data Explorer 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 váš cluster zaregistrovaný.
Následující postup vysvětluje, jak nakonfigurovat klíče spravované zákazníkem pomocí šablon Azure Resource Manager. Ve výchozím nastavení používá šifrování Azure Data Explorer klíče spravované Microsoftem. V tomto kroku nakonfigurujte cluster Azure Data Explorer tak, aby používal klíče spravované zákazníkem, a zadejte klíč, který se má přidružit ke clusteru.
Pokud chcete pro přístup k trezoru klíčů použít identitu přiřazenou systémem, nechte userIdentity prázdnou. V opačném případě nastavte ID prostředku identity.
Šablonu Azure Resource Manager můžete nasadit pomocí Azure Portal nebo PowerShellu.
Když vytvoříte novou verzi klíče, budete muset cluster aktualizovat tak, aby používal novou verzi. Nejprve volejte a Get-AzKeyVaultKey získejte nejnovější verzi klíče. Pak 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.