お使いのクラスターでカスタマー マネージド キーを有効にするには、まず、そのクラスターにシステム割り当てまたはユーザー割り当てのマネージド ID を割り当てます。 このマネージド ID を使って、キー コンテナーへのアクセス許可をクラスターに付与します。 マネージド ID の構成については、マネージド ID に関するページを参照してください。
次の手順では、Azure portalを使用してカスタマー マネージド キーの暗号化を有効にする方法について説明します。 既定では、Azure Data Explorer の暗号化では Microsoft のマネージド キーが使用されます。 カスタマー マネージド キーを使用するように Azure Data Explorer クラスターを構成し、そのクラスターに関連付けるキーを指定します。
Azure Data Explorer クラスターに対してカスタマー マネージド キーを有効にするときにシステム割り当て ID を選択した場合、システム割り当て ID がクラスターに存在しない場合は ID を作成します。 また、選択した Key Vault の Azure Data Explorer クラスターに対して必要な get、wrapKey、unwrapKey の各アクセス許可を提供し、Key Vault のプロパティを取得します。
注意
カスタマー マネージド キーを作成した後に削除するには、 [オフ] を選択します。
次のセクションでは、Azure Data Explorer C# クライアントを使用してカスタマー マネージド キーの暗号化を構成する方法について説明します。
次のコード スニペットは、Microsoft Authentication Library (MSAL) を使用して、クラスターにアクセスするためのMicrosoft Entra アプリケーション トークンを取得する方法を示しています。 フローを成功させるには、アプリケーションを Microsoft Entra ID で登録する必要があり、アプリケーション認証の資格情報 (Microsoft Entra ID で発行されたアプリケーション キーや、Microsoft Entraに登録された X.509v2 証明書など) が必要です。
カスタマー マネージド キーを構成する
既定では、Azure Data Explorer の暗号化では Microsoft のマネージド キーが使用されます。 カスタマー マネージド キーを使用するように Azure Data Explorer クラスターを構成し、そのクラスターに関連付けるキーを指定します。
次のコードを使用してクラスターを更新します。
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);
次のコマンドを実行して、クラスターが正常に更新されたかどうかを確認します。
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
次の手順では、Azure CLI クライアントを使用してカスタマー マネージド キーの暗号化を有効にする方法について説明します。 既定では、Azure Data Explorer の暗号化では Microsoft のマネージド キーが使用されます。 カスタマー マネージド キーを使用するように Azure Data Explorer クラスターを構成し、そのクラスターに関連付けるキーを指定します。
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
次の手順では、PowerShell を使用してカスタマー マネージド キーの暗号化を有効にする方法について説明します。 既定では、Azure Data Explorer の暗号化では Microsoft のマネージド キーが使用されます。 カスタマー マネージド キーを使用するように Azure Data Explorer クラスターを構成し、そのクラスターに関連付けるキーを指定します。
次の手順では、Azure Resource Manager テンプレートを使用してカスタマー マネージド キーを構成する方法について説明します。 既定では、Azure Data Explorer の暗号化は Microsoft マネージド キーを使用します。 この手順では、カスタマー マネージド キーを使用するように Azure Data Explorer クラスターを構成し、そのクラスターに関連付けるキーを指定します。
システム割り当て ID を使用してキー コンテナーにアクセスする場合は、userIdentity を空のままにします。 それ以外の場合は、ID のリソース ID を設定します。