Müşteri tarafından yönetilen anahtarları, diğer verileri Azure Event Hubs şifrelemek için yapılandırma
Azure Event Hubs, Azure Depolama Hizmeti Şifrelemesi (Azure SSE) ile beklemede olan verilerin şifresini sağlar. Event Hubs hizmeti, verileri depolamak Depolama Azure Depolama'i kullanır. Azure Depolama'de depolanan tüm veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir. Kendi anahtarınızı (Kendi Anahtarını Getir (BYOK) veya müşteri tarafından yönetilen anahtar olarak da adlandırılır) kullanıyorsanız, veriler Yine de Microsoft tarafından yönetilen anahtar kullanılarak şifrelenir, buna ek olarak Microsoft tarafından yönetilen anahtar müşteri tarafından yönetilen anahtar kullanılarak şifrelenir. Bu özellik, Microsoft tarafından yönetilen anahtarları şifrelemek için kullanılan müşteri tarafından yönetilen anahtarlara erişimi oluşturmanızı, döndürmenizi, devre dışı bırakmanızı ve iptal etmenizi sağlar. BYOK özelliğini etkinleştirmek, ad alanınız üzerinde tek bir kurulum işlemidir.
Önemli
- BYOK özelliği, premium ve ayrılmış hizmet katmanı Event Hubs.
- Şifreleme yalnızca yeni veya boş ad alanları için etkinleştirilebilir. Ad alanı olay hub'ları içeriyorsa şifreleme işlemi başarısız olur.
Anahtarlarınızı yönetmek Azure Key Vault anahtar kullanımınızı kontrol etmek için Azure Key Vault'i kullanabilirsiniz. Kendi anahtarlarınızı oluşturabilir ve bunları bir anahtar kasasında depolar veya anahtar oluşturmak için Azure Key Vault API'lerini kullanabilirsiniz. Daha fazla bilgi için Azure Key Vault bkz. Azure Key Vault?
Bu makalede, anahtar kasasını müşteri tarafından yönetilen anahtarlarla yapılandırma hakkında bilgi Azure portal. anahtar kasasını kullanarak anahtar kasası oluşturma hakkında bilgi Azure portal bkz. Hızlı Başlangıç: Azure Key Vault kullanarak Azure portal.
Müşteri tarafından yönetilen anahtarları etkinleştirme (Azure portal)
Müşteri tarafından yönetilen anahtarları bu Azure portal için aşağıdaki adımları izleyin. Ayrılmış katmanı kullanıyorsanız, önce Event Hubs Ayrılmış kümenize gidin.
BYOK'u etkinleştirmek istediğiniz ad alanını seçin.
Veri Ayarlar alanınız sayfasında Şifreleme'Event Hubs seçin.
Aşağıdaki görüntüde gösterildiği gibi Müşteri tarafından yönetilen beklemede anahtar şifrelemesini seçin.

Anahtarlarla anahtar kasası ayarlama
Müşteri tarafından yönetilen anahtarları etkinleştirdikten sonra, müşteri tarafından yönetilen anahtarı ad alanınız ile Azure Event Hubs gerekir. Event Hubs yalnızca bir Azure Key Vault. Önceki bölümde müşteri tarafından yönetilen anahtarla şifreleme seçeneğini etkinleştirirseniz, anahtarın Azure Key Vault. Ayrıca anahtarların anahtar için Yapılandırılmış Olan Silme ve Temizleme ayarlarına sahip olması gerekir. Bu ayarlar PowerShell veya CLI kullanılarak yalıtabilirsiniz.
Yeni bir anahtar kasası oluşturmak için Hızlı Başlangıç Azure Key Vault izleyin. Mevcut anahtarları içeri aktarma hakkında daha fazla bilgi için bkz. Anahtarlar, gizli diziler ve sertifikalar hakkında.
Önemli
Müşteri tarafından yönetilen anahtarların Azure Event Hubs anahtar kasasının iki gerekli özelliği yapılandırılmış olması gerekir. Bunlar: Soft Delete ve Do Not Purge. Bu özellikler, çalışma alanı içinde yeni bir anahtar kasası etkinleştirilmiş Azure portal. Ancak, mevcut bir anahtar kasasında bu özellikleri etkinleştirmeniz gerekirse PowerShell veya Azure CLI kullansanız gerekir.
Kasa oluştururken hem yazılım silme hem de temizleme korumasını açmak için az keyvault create komutunu kullanın.
az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection trueMevcut bir kasaya temizleme koruması eklemek için (zaten yazılım silme etkindir), az keyvault update komutunu kullanın.
az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection trueAşağıdaki adımları kullanarak anahtarları oluşturun:
Yeni anahtar oluşturmak için, öğesinin altındaki Anahtarlar menüsünden Oluştur/İçeri Aktar'Ayarlar.

Seçenekler'i Oluştur olarak ayarlayın ve anahtara bir ad girin.

Artık bu anahtarı seçerek açılan listeden şifreleme Event Hubs ad alanıyla ilişkilendirilebilirsiniz.

Not
Yedeklilik için en fazla 3 anahtar eklemeye devam edersiniz. Anahtarlardan birinin süresinin dolması veya erişilebilir olması durumunda diğer anahtarlar şifreleme için kullanılır.
Anahtarın ayrıntılarını doldurun ve Seç'e tıklayın. Bu, Microsoft tarafından yönetilen anahtarın anahtarınızla (müşteri tarafından yönetilen anahtar) şifrelenir.
Yönetilen kimlikler
Bir ad alanına iki tür yönetilen kimlik Event Hubs.
Sistem tarafından atanan: Yönetilen kimliği doğrudan bir yönetilen ad Event Hubs etkinleştirebilirsiniz. Sistem tarafından atanan yönetilen kimliği etkinleştirebilirsiniz. Azure AD'de bu ad alanının yaşam döngüsüne bağlı bir Event Hubs oluşturulur. Bu nedenle ad alanı silindiğinde Azure sizin için kimliği otomatik olarak siler. Tasarıma göre, yalnızca bu Azure kaynağı (ad alanı) bu kimliği Kullanarak Azure AD'den belirteç isteğinde olabilir.
Kullanıcı tarafından atanan: Yönetilen kimliği, kullanıcı tarafından atanan kimlik olarak adlandırılan tek başına bir Azure kaynağı olarak da oluşturabilirsiniz. Kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilir ve bu kimliği bir veya daha fazla ad alanına Event Hubs attayın. Kullanıcı tarafından atanan yönetilen kimlikler durumunda kimlik, onu kullanan kaynaklardan ayrı olarak yönetilir. Bunlar ad alanının yaşam döngüsüne bağlı değildir. Artık ihtiyacınız kalmadığı sürece kullanıcı tarafından atanan kimliği açıkça silebilirsiniz.
Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nedir?.
Sistem tarafından atanan kimlikleri kullanarak şifreleme (şablon)
Bu bölümde, şablonlarını kullanarak aşağıdaki görevlerin Azure Resource Manager gösterir.
- Yönetilen hizmet Event Hubs bir ad alanı oluşturun.
- Bir anahtar kasası oluşturun ve hizmet kimliğine anahtar kasasına erişim izni vermek.
- Ad alanını Event Hubs kasası bilgileriyle (anahtar/değer) güncelleştirin.
Yönetilen hizmet Event Hubs küme ve ad alanı oluşturma
Bu bölümde, bir Azure Event Hubs şablonu ve PowerShell kullanarak yönetilen hizmet kimliğiyle bir Azure Resource Manager ad alanı oluşturma hakkında bilgi edinebilirsiniz.
Yönetilen hizmet Azure Resource Manager bir ad alanı oluşturmak Event Hubs bir şablon oluşturun. Dosyayı şu adla CreateEventHubClusterAndNamespace.js:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "clusterName":{ "type":"string", "metadata":{ "description":"Name for the Event Hub cluster." } }, "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace to be created in cluster." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } } }, "resources":[ { "type":"Microsoft.EventHub/clusters", "apiVersion":"2018-01-01-preview", "name":"[parameters('clusterName')]", "location":"[parameters('location')]", "sku":{ "name":"Dedicated", "capacity":1 } }, { "type":"Microsoft.EventHub/namespaces", "apiVersion":"2018-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "identity":{ "type":"SystemAssigned" }, "sku":{ "name":"Standard", "tier":"Standard", "capacity":1 }, "properties":{ "isAutoInflateEnabled":false, "maximumThroughputUnits":0, "clusterArmId":"[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]" }, "dependsOn":[ "[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]" ] } ], "outputs":{ "EventHubNamespaceId":{ "type":"string", "value":"[resourceId('Microsoft.EventHub/namespaces',parameters('namespaceName'))]" } } }şu adlı bir şablon parametre dosyası oluşturun: CreateEventHubClusterAndNamespaceParams.jsoluşturun.
Not
Aşağıdaki değerleri değiştirin:
<EventHubsClusterName>- Kümenizin Event Hubs adı<EventHubsNamespaceName>- Kaynak ad Event Hubs adı<Location>- Kaynak ad Event Hubs konumu
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "clusterName":{ "value":"<EventHubsClusterName>" }, "namespaceName":{ "value":"<EventHubsNamespaceName>" }, "location":{ "value":"<Location>" } } }Bir ad alanı oluşturmak için şablonu dağıtmak için aşağıdaki PowerShell Event Hubs çalıştırın. Ardından, daha sonra kullanmak Event Hubs ad alanının kimliğini alın. komutunu
{MyRG}çalıştırmadan önce yerine kaynak grubunun adını yazın.$outputs = New-AzResourceGroupDeployment -Name CreateEventHubClusterAndNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateEventHubClusterAndNamespace.json -TemplateParameterFile ./CreateEventHubClusterAndNamespaceParams.json $EventHubNamespaceId = $outputs.Outputs["eventHubNamespaceId"].value
Anahtar Event Hubs için ad alanı kimliği erişimi izni ver
Temizleme koruması ve yazılım silme etkinleştirilmiş bir anahtar kasası oluşturmak için aşağıdaki komutu çalıştırın.
New-AzureRmKeyVault -Name {keyVaultName} -ResourceGroupName {RGName} -Location {location} -EnableSoftDelete -EnablePurgeProtection(OR)
Mevcut bir anahtar kasasını güncelleştirmek için aşağıdaki komutu çalıştırın. Komutu çalıştırmadan önce kaynak grubu ve anahtar kasası adları için değerleri belirtin.
($updatedKeyVault = Get-AzureRmResource -ResourceId (Get-AzureRmKeyVault -ResourceGroupName {RGName} -VaultName {keyVaultName}).ResourceId).Properties| Add-Member -MemberType "NoteProperty" -Name "enableSoftDelete" -Value "true"-Force | Add-Member -MemberType "NoteProperty" -Name "enablePurgeProtection" -Value "true" -ForceAnahtar kasası erişim ilkesi, ad alanının yönetilen kimliğinin Event Hubs kasada anahtar değerine erişene kadar ayarlayın. Önceki bölümdeki Event Hubs alanının kimliğini kullanın.
$identity = (Get-AzureRmResource -ResourceId $EventHubNamespaceId -ExpandProperties).Identity Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
Anahtar kasasında müşteri Event Hubs anahtarla ad alanı içinde verileri şifreleme
Şu ana kadar aşağıdaki adımları attık:
- Yönetilen kimliğe sahip bir premium ad alanı oluşturuldu.
- Bir anahtar kasası oluşturun ve anahtar kasasına yönetilen kimlik erişimi verildi.
Bu adımda, anahtar kasası bilgileriyle Event Hubs ad alanını güncelleştirin.
Aşağıdaki içeriğe sahipCreateEventHubClusterAndNamespace.js adlı bir JSON dosyası oluşturun:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "clusterName":{ "type":"string", "metadata":{ "description":"Name for the Event Hub cluster." } }, "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace to be created in cluster." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } }, "keyVaultUri":{ "type":"string", "metadata":{ "description":"URI of the KeyVault." } }, "keyName":{ "type":"string", "metadata":{ "description":"KeyName." } } }, "resources":[ { "type":"Microsoft.EventHub/namespaces", "apiVersion":"2018-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "identity":{ "type":"SystemAssigned" }, "sku":{ "name":"Standard", "tier":"Standard", "capacity":1 }, "properties":{ "isAutoInflateEnabled":false, "maximumThroughputUnits":0, "clusterArmId":"[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]", "encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName":"[parameters('keyName')]", "keyVaultUri":"[parameters('keyVaultUri')]" } ] } } } ] }Şablon parametre dosyası oluşturma: UpdateEventHubClusterAndNamespaceParams.jsoluşturun.
Not
Aşağıdaki değerleri değiştirin:
<EventHubsClusterName>- Kümenizin Event Hubs.<EventHubsNamespaceName>- Kaynak ad Event Hubs adı<Location>- Kaynak ad Event Hubs konumu<KeyVaultName>- Anahtar kasanızı adı<KeyName>- Anahtar kasasında anahtarın adı
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "clusterName":{ "value":"<EventHubsClusterName>" }, "namespaceName":{ "value":"<EventHubsNamespaceName>" }, "location":{ "value":"<Location>" }, "keyName":{ "value":"<KeyName>" }, "keyVaultUri":{ "value":"https://<KeyVaultName>.vault.azure.net" } } }Aşağıdaki PowerShell komutunu çalıştırarak Resource Manager çalıştırın. komutunu
{MyRG}çalıştırmadan önce yerine kaynak grubu adının adını yazın.New-AzResourceGroupDeployment -Name UpdateEventHubNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateEventHubClusterAndNamespace.json -TemplateParameterFile ./UpdateEventHubClusterAndNamespaceParams.json
Kullanıcı tarafından atanan kimlikleri kullanarak şifreleme (şablon)
- Kullanıcı tarafından atanan bir kimlik oluşturun.
- Bir anahtar kasası oluşturun ve erişim ilkeleri aracılığıyla kullanıcı tarafından atanan kimliğe erişim izni vermek.
- Yönetilen kullanıcı Event Hubs anahtar kasası bilgileriyle bir ad alanı oluşturun.
Kullanıcı tarafından atanan kimlik oluşturma
Kullanıcı tarafından atanan kimlik oluşturmak için Kullanıcı tarafından atanan yönetilen kimlik oluşturma makalesinde verilen yönergeleri izleyin. AYRıCA CLI, PowerShell, Azure Resource Manager şablonu ve REST kullanarak kullanıcı tarafından atanan birkimlik oluşturabilirsiniz.
Not
Bir ad alanına en fazla 4 kullanıcı kimliği atebilirsiniz. Bu ilişkilendirmeler, ad alanı silindiğinde veya şablonun içinde identity -> type 'ye geçiş zaman None silinir.
Anahtar kasası oluşturma ve kullanıcı tarafından atanan kimliğe erişim izni ver
Temizleme koruması ve yazılım silme etkinleştirilmiş bir anahtar kasası oluşturmak için aşağıdaki komutu çalıştırın.
New-AzureRmKeyVault -Name "{keyVaultName}" -ResourceGroupName {RGName} -Location "{location}" -EnableSoftDelete -EnablePurgeProtection(OR)
Mevcut bir anahtar kasasını güncelleştirmek için aşağıdaki komutu çalıştırın. Komutu çalıştırmadan önce kaynak grubu ve anahtar kasası adları için değerleri belirtin.
($updatedKeyVault = Get-AzureRmResource -ResourceId (Get-AzureRmKeyVault -ResourceGroupName {RGName} -VaultName {keyVaultName}).ResourceId).Properties| Add-Member -MemberType "NoteProperty" -Name "enableSoftDelete" -Value "true"-Force | Add-Member -MemberType "NoteProperty" -Name "enablePurgeProtection" -Value "true" -ForceAşağıdaki PowerShell komutunu kullanarak kullanıcı kimliği için Hizmet sorumlusu kimliğini kullanın. Örnekte,
ud1şifreleme için kullanılacak kullanıcı tarafından atanan kimliktir.$servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"Erişim ilkesi ataarak anahtar kasasına kullanıcı tarafından atanan kimlik erişimi vermek.
Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,listNot
En fazla 3 anahtar eklersiniz, ancak şifreleme için kullanılan kullanıcı kimliği tüm anahtarlar için aynı olması gerekir. Şu anda yalnızca tek bir şifreleme kimliği de desteklemektedir.
Kullanıcı kimliği Event Hubs anahtar kasası bilgileriyle bir ad alanı oluşturma
Bu bölümde, bir uygulama şablonu kullanarak aşağıdaki görevleri nasıl gerçekleştirebilirsiniz Azure Resource Manager verir.
Kullanıcı tarafından yönetilen bir kimliği bir Event Hubs attayın.
"identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } },Anahtar kasanıza bir anahtar ve anahtara erişmek için kullanıcı tarafından yönetilen kimlik belirterek ad alanı üzerinde şifrelemeyi etkinleştirin.
"encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName": "[parameters('keyName')]", "keyVaultUri": "[parameters('keyVaultUri')]", "identity": { "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]" } } ] }
Aşağıdaki içeriğe sahipCreateEventHubsNamespaceWithUserIdentityAndEncryption.js adlı bir JSON dosyası oluşturun:
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion":"1.0.0.0", "parameters":{ "clusterName":{ "type":"string", "metadata":{ "description":"Name for the Event Hub cluster." } }, "namespaceName":{ "type":"string", "metadata":{ "description":"Name for the Namespace to be created in cluster." } }, "location":{ "type":"string", "defaultValue":"[resourceGroup().location]", "metadata":{ "description":"Specifies the Azure location for all resources." } }, "keyVaultUri":{ "type":"string", "metadata":{ "description":"URI of the KeyVault." } }, "keyName":{ "type":"string", "metadata":{ "description":"KeyName." }, "identity": { "type": "Object", "defaultValue": { "userAssignedIdentity": "" }, "metadata": { "description": "user-assigned identity." } } }, "resources":[ { "type":"Microsoft.EventHub/clusters", "apiVersion":"2018-01-01-preview", "name":"[parameters('clusterName')]", "location":"[parameters('location')]", "sku":{ "name":"Dedicated", "capacity":1 } }, { "type":"Microsoft.EventHub/namespaces", "apiVersion":"2021-01-01-preview", "name":"[parameters('namespaceName')]", "location":"[parameters('location')]", "sku":{ "name":"Standard", "tier":"Standard", "capacity":1 }, "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } }, "properties":{ "encryption":{ "keySource":"Microsoft.KeyVault", "keyVaultProperties":[ { "keyName": "[parameters('keyName')]", "keyVaultUri": "[parameters('keyVaultUri')]", "identity": { "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]" } } ] } } } ] }Şablon parametre dosyası oluşturma: CreateEventHubsNamespaceWithUserIdentityAndEncryptionParams.jsoluşturun.
{ "$schema":"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion":"1.0.0.0", "parameters":{ "namespaceName":{ "value":"<EventHubsNamespaceName>" }, "location":{ "value":"<Location>" }, "keyVaultUri":{ "value":"https://<KeyVaultName>.vault.azure.net" }, "keyName":{ "value":"<KeyName>" }, "identity": { "value": { "userAssignedIdentity": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<USER MANAGED IDENTITY NAME>" } } } }Parametre dosyasında yer tutucuları uygun değerlerle değiştirin.
Yer tutucu değer <EventHubsNamespaceName>Ad alanının Event Hubs. <Location>Ad alanının oluşturulacak konumu. <KeyVaultName>Anahtar kasasının adı. <KeyName>Anahtar kasasında anahtarın adı. <AZURE SUBSCRIPTION ID>Azure abonelik kimliğiniz. <RESOURCE GROUP NAME>Kullanıcı tarafından yönetilen kimliğin kaynak grubu. <USER MANAGED IDENTITY NAME>Kullanıcı tarafından yönetilen kimliğin adı. Resource Manager şablonunu dağıtmak için aşağıdaki PowerShell Resource Manager çalıştırın. komutunu
{MyRG}çalıştırmadan önce yerine kaynak grubu adının adını yazın.New-AzResourceGroupDeployment -Name CreateEventHubsNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./ CreateEventHubsNamespaceWithUserIdentityAndEncryption.json -TemplateParameterFile ./ CreateEventHubsNamespaceWithUserIdentityAndEncryptionParams.json
Hem kullanıcı tarafından atanan hem de sistem tarafından atanan kimlikleri kullanma
Ad alanı aynı anda hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimliklere sahip olabilir. Bu durumda, type özelliği aşağıdaki örnekte SystemAssigned gösterildiği gibi UserAssigned olur.
"identity": {
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
}
}
Bu senaryoda, sistem tarafından atanan kimliği veya geri kalan verileri şifrelemek için kullanıcı tarafından atanan kimliği seçebilirsiniz.
Resource Manager şablonunda, bir öznitelik belirtmezseniz sistem identity tarafından yönetilen kimlik kullanılır. Aşağıda örnek bir kod parçacığı ve bir örnek veserde yer alan bir kod parçacığı ve daha fazla örnek ve daha
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
Şifreleme için kullanıcı tarafından yönetilen kimliği kullanmak için aşağıdaki örneklere bakın. özniteliğinin identity kullanıcı tarafından yönetilen kimliğe ayarlanmış olduğunu farkedin.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]",
"identity": {
"userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
}
}
]
}
}
Verilerin altyapı (veya çift) şifrelemeyi etkinleştirme
Verilerinizin güvenli olması için daha yüksek bir güvence düzeyine ihtiyaç ediyorsanız, Çift Şifreleme olarak da bilinen altyapı düzeyinde şifrelemeyi etkinleştirebilirsiniz.
Altyapı şifrelemesi etkinleştirildiğinde, Event Hubs ad alanı hesabı içinde yer alan veriler, iki farklı şifreleme algoritması ve iki farklı anahtar kullanılarak bir kez hizmet düzeyinde ve bir kez altyapı düzeyinde iki kez şifrelenir. Bu nedenle, Event Hubs şifrelemesi, şifreleme algoritmalarından veya anahtarlarından birinin tehlikeye atılmış olduğu bir senaryoya karşı koruma sağlar.
Azure Resource Manager şablonunu yukarıdakiCreateEventHubClusterAndNamespace.jsözelliğiyle requireInfrastructureEncryption güncelleştirerek altyapı şifrelemesini etkinleştirebilirsiniz.
"properties":{
"isAutoInflateEnabled":false,
"maximumThroughputUnits":0,
"clusterArmId":"[resourceId('Microsoft.EventHub/clusters', parameters('clusterName'))]",
"encryption":{
"keySource":"Microsoft.KeyVault",
"requireInfrastructureEncryption":true,
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]"
}
]
}
}
Şifreleme anahtarlarını döndürme, iptal etme ve önbelleğe al
Şifreleme anahtarlarınızı döndürme
Azure Key Vaults döndürme mekanizmasını kullanarak anahtarınızı anahtar kasasında döndürabilirsiniz. Etkinleştirme ve sona erme tarihleri, anahtar döndürmeyi otomatikleştirmek için de ayarlandırabilirsiniz. Yeni Event Hubs hizmeti yeni anahtar sürümleri algılar ve bunları otomatik olarak kullanmaya başlar.
Anahtarlara erişimi iptal etme
Şifreleme anahtarlarına erişimi iptal etmek, verileri veri kaynağından Event Hubs. Ancak, verilere ad alanının Event Hubs erişilemez. Şifreleme anahtarını erişim ilkesi aracılığıyla veya anahtarı silerek iptal edilebilir. Erişim ilkeleri ve anahtar kasanızı güvenli hale getirme hakkında daha fazla bilgi için Anahtar kasasına güvenli erişim.
Şifreleme anahtarı iptal edildiktan sonra, Event Hubs ad alanı üzerinde şifreleme hizmeti kullanılamaz hale gelir. Anahtara erişim etkinleştirilirse veya silme anahtarı geri yüklenirse, Event Hubs hizmeti şifrelenmiş anahtar ad alanı üzerinden verilere erişmek için Event Hubs seçer.
Önbelleğe Alma ve anahtar
Örnek Event Hubs (olay hub'ı) 5 dakikada bir listelenen şifreleme anahtarlarını yoklar. Önbelleğe alır ve 5 dakika sonra bir sonraki yoklamaya kadar kullanır. En az bir anahtar kullanılabilir olduğu sürece olay hub'ı erişilebilir. Listelenen tüm anahtarlar yoklama sırasında erişilemezse, tüm olay hub'ları kullanılamaz duruma gelir.
Daha fazla ayrıntı aşağıdadır:
- 5 dakikada bir Event Hubs hizmeti, ad alanının kaydında listelenen müşteri tarafından yönetilen tüm anahtarları yoklar:
- Bir anahtar döndürülmüşse kayıt yeni anahtarla güncelleştirilir.
- Bir anahtar iptal edilmişse, anahtar kayıttan kaldırılır.
- Tüm anahtarlar iptal edilmişse ad alanının şifreleme durumu İptal Edildi olarak ayarlanır. Verilere ad alanının Event Hubs erişilemez.'
Coğrafi olağanüstü durum kurtarma kullanırken dikkat edilmesi gerekenler
Önemli
BYOK şifrelemesi kullanan bir ad alanı üzerinde Coğrafi DR'yi etkinleştirmek için, eşleştirme için ikincil ad alanının sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği etkinleştirilmiş olması gerekir.
Coğrafi olağanüstü durum kurtarma - sistem tarafından atanan kimliklerle şifreleme
Microsoft tarafından yönetilen anahtarın müşteri tarafından yönetilen bir anahtarla şifrelenebilmelidir. Belirtilen Azure KeyVault üzerinde sistem tarafından atanan yönetilen kimlik için bir erişim ilkesi ayarlanır. Bu, Azure KeyVault'a Azure Event Hubs sağlar.
Bu nedenle:
- Event Hubs ad alanı için coğrafi olağanüstü durum kurtarma zaten etkinse ve müşteri tarafından yönetilen anahtarı etkinleştirmek arıyorsanız,
- Eşleştirmeyi kesme.
- Anahtar kasasına hem birincil hem de ikincil ad alanları için sistem tarafından atanan yönetilen kimlik için erişim ilkesi ayarlayın.
- Birincil ad alanı üzerinde şifrelemeyi ayarlayın.
- Birincil ve ikincil ad alanlarını yeniden eşleştirin.
- Müşteri tarafından yönetilen anahtarın zaten ayarlanmış olduğu bir Event Hubs coğrafi çoğaltma ad alanı üzerinde Geo-DR'yi etkinleştirmek için şu adımları izleyin:
- İkincil ad alanı için yönetilen kimlik için anahtar kasasına erişim ilkesi ayarlayın.
- Birincil ve ikincil ad alanlarını eşleştirin.
Coğrafi olağanüstü durum kurtarma - kullanıcı tarafından atanan kimliklerle şifreleme
İşte birkaç öneri:
- Yönetilen kimlik oluşturun ve yönetilen Key Vault izinler attayabilirsiniz.
- Kimliği kullanıcı tarafından atanan kimlik olarak ekleyin ve her iki ad alanı üzerinde kimlikle şifrelemeyi etkinleştirin.
- Ad alanlarını birlikte eşleştirme
Coğrafi Kimlikler ile Coğrafi DR ve Şifrelemeyi User-Assigned koşulları:
- Şifrelemenin etkin olduğu birincil ad alanıyla eşleştiril User-Assigned ikincil ad alanı şifreleme özelliğine sahip olmalıdır.
- İkincil ad alanıyla ilişkilendirilmiş bir User-Assigned kimliği olsa bile, önceden eşleştirilmiş bir birincilde Şifrelemeyi etkinleştirmek mümkün değildir.
Tanılama günlükleri ayarlama
BYOK özellikli ad alanları için tanılama günlüklerini ayarlama, işlemler hakkında gerekli bilgileri sağlar. Bu günlükler etkinleştirilebilir ve daha sonra bir olay hub' a akışı gerçekleştirilebilir ya da log analytics aracılığıyla analiz veya özelleştirilmiş analiz gerçekleştirmek için depolamaya akışla akışı gerçekleştirilebilir. Tanılama günlükleri hakkında daha fazla bilgi edinmek için bkz. Azure Tanılama günlüklerine genel bakış. Şema için bkz. Veri başvurularını izleme.
Sonraki adımlar
Aşağıdaki makalelere bakın: