Müşteri tarafından yönetilen anahtarları yapılandırma
Makale
Azure Veri Gezgini bekleyen 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ü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.
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 kullanılarak veri şifreleme, öncü ve takipçi kümelerinde desteklenmez.
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ç'e tıklayın.
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'e tıklayın.
Seç’e tıklayın.
Kimlik türü'nin altında Sistem Atanmış'ı veya Kullanıcı Tarafından Atanan'ı seçin.
Kullanıcı Tarafından Atanan'ı seçerseniz açılan listeden kullanıcı tarafından atanan bir kimlik 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ümenize 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# istemcisini kullanarak 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 Azure AD uygulaması ve hizmet sorumlusu oluşturun. Abonelik kapsamında rol ataması ekleyebilir ve gerekli Azure AD Directory (tenant) ID, Application IDve Application Secret'yi alabilirsiniz.
Aşağıdaki kod parçacığı, kümenize erişmek üzere bir Azure AD 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 Azure AD kaydedilmesi ve Azure AD verilen uygulama anahtarı veya Azure AD kayıtlı X.509v2 sertifikası gibi uygulama 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";
// 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);
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 kustoManagementClient.Clusters.GetAsync(resourceGroupName, clusterName);
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ı yapılandırmayı 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 arayın Get-AzKeyVaultKey . 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.