Azure Veri Gezgini, depolama hesabındaki dinlenme hâlindeki tüm verileri şifreler. Varsayılan olarak, veriler Microsoft tarafından yönetilen anahtarlarla şifrelenir. Şifreleme anahtarları üzerinde ek denetim için, veri şifrelemesi için kullanılacak müşteri tarafından yönetilen anahtarlar sağlayabilirsiniz.
Müşteri tarafından yönetilen anahtarlar bir Azure Key Vault'ta depolanmalıdır. Kendi anahtarlarınızı oluşturup bir anahtar kasasında depolayabilir veya anahtar oluşturmak için Azure Key Vault API'sini kullanabilirsiniz. Azure Veri Gezgini kümesi ve anahtar kasası aynı bölgede olmalıdır, ancak farklı aboneliklerde olabilir. Müşteri tarafından yönetilen anahtarlar hakkında ayrıntılı bir açıklama için bkz. Azure Key Vault ile müşteri tarafından yönetilen anahtarlar.
Bu makalede, müşteri tarafından yönetilen anahtarları yapılandırma gösterilmektedir.
Önceki SDK sürümlerini temel alan kod örnekleri için arşivlenmiş makaleye bakın.
Azure Veri Gezgini ile müşteri tarafından yönetilen anahtarları yapılandırmak için anahtar kasasında iki özelliği ayarlamanız gerekir: Geçici Silme ve Temizlenmemesi. Bu özellikler varsayılan olarak etkinleştirilmez. Bu özellikleri etkinleştirmek için, yeni veya mevcut bir anahtar kasasında PowerShell veya Azure CLI'daGeçici silmeyi etkinleştirme ve Temizleme Koruması'nı etkinleştirme işlemlerini gerçekleştirin. RSA ve 2048, 3072 ve 4096 boyutlarından RSA-HSM anahtarları desteklenir. RSA-HSM anahtarları kullanmak için aşağıdaki C#, Azure CLI, PowerShell veya ARM Şablonu yöntemlerini kullanın. Anahtarlar hakkında daha fazla bilgi için bkz. Key Vault anahtarları.
Uyarı
Öncü ve takipçi kümelerinde müşteri tarafından yönetilen anahtarları kullanma sınırlamaları hakkında bilgi için bkz. Sınırlamalar.
Kümeye yönetilen kimlik atama
Kümeniz için müşteri tarafından yönetilen anahtarları etkinleştirmek için önce kümeye sistem tarafından atanan veya kullanıcı tarafından atanan bir yönetilen kimlik atayın. Kümeye anahtar kasasına erişim izinleri vermek için bu yönetilen kimliği kullanacaksınız. Yönetilen kimlikleri yapılandırmak için bkz. yönetilen kimlikler.
Müşteri tarafından yönetilen anahtarlarla şifrelemeyi etkinleştirme
Aşağıdaki adımlarda, Azure portalını kullanarak müşteri tarafından yönetilen anahtar şifrelemesinin nasıl etkinleştirileceği açıklanmaktadır. Azure Veri Gezgini şifrelemesi varsayılan olarak Microsoft tarafından yönetilen anahtarları kullanır. Azure Veri Gezgini kümenizi müşteri tarafından yönetilen anahtarları kullanacak şekilde yapılandırın ve kümeyle ilişkilendirilecek anahtarı belirtin.
Azure portalındaAzure Veri Gezgini küme kaynağınıza gidin.
Portalın sol bölmesinde Ayarlar>Şifreleme'yi seçin.
Şifreleme bölmesinde, Müşteri tarafından yönetilen anahtar ayarı için Açık'ı seçin.
Anahtar Seç'i seçin.
Azure Key Vault'tan anahtar seçin penceresinde açılan listeden mevcut bir Anahtar kasası seçin.
Yeni bir Key Vault oluşturmak için Yeni oluştur'u seçerseniz, Key Vault Oluştur ekranına yönlendirilirsiniz.
Anahtar'ı seçin.
Sürüm:
- Bu anahtarın her zaman en son anahtar sürümünü kullandığından emin olmak için Her zaman geçerli anahtar sürümünü kullan onay kutusunu seçin.
- Aksi takdirde Sürüm'e tıklayın.
'ı seçin'i seçin.
Kimlik türü'nin altında Sistem Tarafından Atanan veya Kullanıcı Tarafından Atanan'ı seçin.
Kullanıcı Tarafından Atanan'ı seçerseniz açılan listeden kullanıcı tarafından atanan kimliği seçin.
Anahtarınızı içeren Şifreleme bölmesinde Kaydet'i seçin. CMK oluşturma işlemi başarılı olduğunda Bildirimler'de bir başarı iletisi görürsünüz.
Azure Veri Gezgini kümeniz için müşteri tarafından yönetilen anahtarları etkinleştirirken sistem tarafından atanmış kimliği seçerseniz ve küme için zaten böyle bir kimlik yoksa, küme için sistem tarafından atanmış bir kimlik oluşturursunuz. Buna ek olarak, seçili Key Vault'ta Azure Veri Gezgini kümenize gerekli get, wrapKey ve unwrapKey izinlerini sağlayacak ve Key Vault özelliklerini alacaksınız.
Uyarı
Müşteri tarafından yönetilen anahtarı oluşturulduktan sonra kaldırmak için Kapalı'ya tıklayın.
Aşağıdaki bölümlerde, Azure Veri Gezgini C# istemcisi kullanılarak müşteri tarafından yönetilen anahtar şifrelemesinin nasıl yapılandır yapılacağı açıklanmaktadır.
Paketleri yükleme
Authentication
Bu makaledeki örnekleri çalıştırmak için kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturun. Abonelik kapsamında rol ataması ekleyebilir ve gerekli Microsoft Entra Directory (tenant) ID, Application IDve Application Secret'yi alabilirsiniz.
Aşağıdaki kod parçacığı, kümenize erişmek üzere bir Microsoft Entra uygulama belirteci almak için Microsoft Kimlik Doğrulama Kitaplığı'nın (MSAL) nasıl kullanılacağını gösterir. Akışın başarılı olması için uygulamanın Microsoft Entra Kimliği'ne kayıtlı olması ve Microsoft Entra ID ile verilen uygulama anahtarı veya Microsoft Entra kayıtlı X.509v2 sertifikası gibi uygulama kimlik doğrulaması kimlik bilgilerine sahip olmanız gerekir.
Azure Veri Gezgini şifrelemesi varsayılan olarak Microsoft tarafından yönetilen anahtarları kullanır. Azure Veri Gezgini kümenizi müşteri tarafından yönetilen anahtarları kullanacak şekilde yapılandırın ve kümeyle ilişkilendirilecek anahtarı belirtin.
Aşağıdaki kodu kullanarak kümenizi güncelleştirin:
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);
Kümenizin başarıyla güncelleştirilip güncelleştirilmediğini denetlemek için aşağıdaki komutu çalıştırın:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Sonuç ProvisioningState değeri Succeeded ile içeriyorsa, kümeniz başarıyla güncelleştirildi.
Aşağıdaki adımlarda, Azure CLI istemcisi kullanılarak müşteri tarafından yönetilen anahtar şifrelemesinin nasıl etkinleştirileceği açıklanmaktadır. Azure Veri Gezgini şifrelemesi varsayılan olarak Microsoft tarafından yönetilen anahtarları kullanır. Azure Veri Gezgini kümenizi müşteri tarafından yönetilen anahtarları kullanacak şekilde yapılandırın ve kümeyle ilişkilendirilecek anahtarı belirtin.
Azure'da oturum açmak için aşağıdaki komutu çalıştırın:
az login
Kümenizin kayıtlı olduğu aboneliği ayarlayın.
MyAzureSub değerini kullanmak istediğiniz Azure aboneliğinin adıyla değiştirin.
az account set --subscription MyAzureSub
Kümenin sistem tarafından atanan kimliğiyle yeni anahtarı ayarlamak için aşağıdaki komutu çalıştırın
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>"
Alternatif olarak, yeni anahtarı kullanıcı tarafından atanan kimlikle ayarlayın.
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>"
Aşağıdaki komutu çalıştırın ve kümenin başarıyla güncelleştirildiğinden emin olmak için 'keyVaultProperties' özelliğini denetleyin.
az kusto cluster show --cluster-name "mytestcluster" --resource-group "mytestrg"
Aşağıdaki adımlarda, PowerShell kullanarak müşteri tarafından yönetilen anahtar şifrelemesinin nasıl etkinleştirileceği açıklanmaktadır. Azure Veri Gezgini şifrelemesi varsayılan olarak Microsoft tarafından yönetilen anahtarları kullanır. Azure Veri Gezgini kümenizi müşteri tarafından yönetilen anahtarları kullanacak şekilde yapılandırın ve kümeyle ilişkilendirilecek anahtarı belirtin.
Azure'da oturum açmak için aşağıdaki komutu çalıştırın:
Connect-AzAccount
Kümenizin kayıtlı olduğu aboneliği ayarlayın.
Set-AzContext -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Sistem tarafından atanan kimliği kullanarak yeni anahtarı ayarlamak için aşağıdaki komutu çalıştırın.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>"
Alternatif olarak, kullanıcı tarafından atanan kimliği kullanarak yeni anahtarı ayarlayın.
Update-AzKustoCluster -ResourceGroupName "mytestrg" -Name "mytestcluster" -KeyVaultPropertyKeyName "<key-name>" -KeyVaultPropertyKeyVaultUri "<key-vault-uri>" -KeyVaultPropertyKeyVersion "<key-version>" -KeyVaultPropertyUserIdentity "user-assigned-identity-resource-id"
Aşağıdaki komutu çalıştırın ve kümenin başarıyla güncellenip güncellenmediğini doğrulamak için 'KeyVaultProperty...' özelliklerini kontrol edin.
Get-AzKustoCluster -Name "mytestcluster" -ResourceGroupName "mytestrg" | Format-List
Aşağıdaki adımlarda, Azure Resource Manager şablonlarını kullanarak müşteri tarafından yönetilen anahtarları yapılandırma adımları açıklanmaktadır. Azure Veri Gezgini şifrelemesi varsayılan olarak Microsoft tarafından yönetilen anahtarları kullanır. Bu adımda Azure Veri Gezgini kümenizi müşteri tarafından yönetilen anahtarları kullanacak şekilde yapılandırın ve kümeyle ilişkilendirilecek anahtarı belirtin.
Anahtar kasasına erişmek için sistem tarafından atanan bir kimlik kullanmak istiyorsanız, userIdentity alanını boş bırakın. Aksi takdirde, kimliğin kaynak kimlik tanımlayıcısını ayarlayın.
Azure portalını veya PowerShell'i kullanarak Azure Resource Manager şablonunu dağıtabilirsiniz.
{
"$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>"
}
}
}
]
}
Anahtar sürümünü güncelleştirme
Anahtarın yeni bir sürümünü oluşturduğunuzda, kümeyi yeni sürümü kullanacak şekilde güncelleştirmeniz gerekir. İlk olarak, anahtarın en son sürümünü almak için arayın Get-AzKeyVaultKey . Ardından kümenin anahtar kasası özelliklerini , müşteri tarafından yönetilen anahtarlarla şifrelemeyi etkinleştirme bölümünde gösterildiği gibi anahtarın yeni sürümünü kullanacak şekilde güncelleştirin.
İlgili içerik