Azure Veri Gezgini, depolama hesabındaki dinlenme hâlindeki tüm verileri şifreler. Varsayılan olarak, şifreleme için Microsoft tarafından yönetilen anahtarları kullanır. Şifreleme anahtarları üzerinde daha fazla denetim istiyorsanız, veri şifrelemesi için müşteri tarafından yönetilen anahtarlar sağlayabilirsiniz.
Müşteri tarafından yönetilen anahtarları bir Azure Key Vault'ta depolamanız gerekir. 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ın ayrıntılı açıklaması 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. Azure Veri Gezgini RSA ve 2048, 3072 ve 4096 boyutlarından RSA-HSM anahtarlarını destekler. RSA-HSM anahtarları kullanmak için bu makalede açıklanan 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. Anahtar kasasına erişim izinlerini kümeye vermek için bu yönetilen kimliği kullanın. Yönetilen kimlikleri yapılandırmak için bkz. yönetilen kimlikler.
Müşteri tarafından yönetilen anahtarları kullanarak ş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>Şifrelemesi'ni 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 atanan kimliği seçerseniz ve küme için zaten bir kimlik bulunmuyorsa, sistem tarafından atanan bir kimlik oluşturursunuz. Ayrıca, seçili Key Vault'ta Azure Veri Gezgini kümenize gerekli alma, wrapKey ve unwrapKey izinlerini sağlar ve Key Vault özelliklerini alırsınız.
Uyarı
Müşteri tarafından yönetilen anahtarı mevcut olduktan sonra kaldırmak için Kapalı'ya tıklayın.
Aşağıdaki bölümlerde, Azure Veri Gezgini C# istemcisini kullanarak 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ümenizi başarıyla güncelleştirip güncelleştirmediğinizden denetlemek için aşağıdaki komutu çalıştırın:
var clusterData = (await resourceGroup.GetKustoClusterAsync(clusterName)).Value.Data;
Eğer sonuç ProvisioningState ve Succeeded değerini içeriyorsa, kümenizi başarıyla güncelleştirdiniz.
Aşağıdaki adımlarda, Azure CLI 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, kullanıcı tarafından atanan kimliği kullanarak yeni anahtarı 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 keyVaultProperties başarıyla güncelleştirildiğinden emin olmak için ö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 bir kimlik 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 KeyVaultProperty... başarıyla güncelleştirildiğinden emin olmak için özellikleri denetleyin.
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, müşterinin yönettiği anahtarları kullanarak şifrelemeyi etkinleştirme bölümünde gösterildiği gibi kümenin anahtar kasası özelliklerini anahtarın yeni sürümünü kullanacak şekilde güncelleştirin.
İlgili içerik