Müşteri tarafından yönetilen anahtarları yapılandırma
Makale
Azure Veri Gezgini bekleyen bir depolama hesabındaki 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 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ümesinin ve anahtar kasasının aynı bölgede olması gerekir, ancak bunlar 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 Key Vault'u yapılandırma
Azure Veri Gezgini ile müşteri tarafından yönetilen anahtarları yapılandırmak için anahtar kasasında iki özellik ayarlamanız gerekir: Geçici Silme ve Temizleme. Bu özellikler varsayılan olarak etkin değildir. 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. Yalnızca 2048 boyutunda RSA anahtarları desteklenir. Anahtarlar hakkında daha fazla bilgi için bkz. Key Vault anahtarları.
Not
Müşteri tarafından yönetilen anahtarları öncü ve takip eden kümelerde kullanmanın 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 yönetilen kimliği 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 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.
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 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'i seçin.
Seç’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, yoksa küme için sistem tarafından atanan bir kimlik oluşturursunuz. Ayrıca, seçili Key Vault Azure Veri Gezgini kümenizde gerekli get, wrapKey ve unwrapKey izinlerini sağlayacak ve Key Vault özelliklerini alacaksınız.
Not
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ılır açıklanmaktadır.
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 Authentication Library'nin (MSAL) nasıl kullanılacağını gösterir. Akışın başarılı olması için uygulamanın Microsoft Entra kimliğiyle kaydedilmesi ve Microsoft Entra kimliği verilmiş uygulama anahtarı veya Microsoft Entra kayıtlı X.509v2 sertifikası gibi uygulama kimlik doğrulaması kimlik bilgilerine sahip olmanız gerekir.
Müşteri tarafından yönetilen anahtarları yapılandırma
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ç değeriyle birlikte Succeeded içeriyorsa ProvisioningState 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
Kümenin başarıyla güncelleştirildiğinden emin olmak için aşağıdaki komutu çalıştırın ve '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:
Aşağıdaki adımlar, Azure Resource Manager şablonlarını kullanarak müşteri tarafından yönetilen anahtarların nasıl yapılandırileceğini açıklar. 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 boş bırakın userIdentity . Aksi takdirde, kimliğin kaynak kimliğini ayarlayın.
Azure Resource Manager şablonunu Azure portal veya PowerShell kullanarak dağıtabilirsiniz.
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 çağrısında Get-AzKeyVaultKey bulunun. Ardından, müşteri tarafından yönetilen anahtarlarla ş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.