Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Event Hubs, bekleyen verilerin Azure Depolama Hizmet Şifrelemesi (Azure SSE) ile şifrelenmesini sağlar. Event Hubs hizmeti verileri depolamak için Azure Depolama kullanır. Azure Depolama'da depolanan tüm veriler Microsoft tarafından yönetilen anahtarlarla şifrelenir. Kendi anahtarınızı kullanırsanız (aynı zamanda Kendi Anahtarınızı Getir (BYOK) veya müşteri tarafından yönetilen anahtar olarak da adlandırılır), veri Microsoft tarafından yönetilen anahtarla şifrelenir, ancak Microsoft tarafından yönetilen anahtar da müşteri tarafından yönetilen anahtarla şifrelenir. Bu özellik, Microsoft tarafından yönetilen anahtarları şifrelemek için kullanılan müşteri tarafından yönetilen anahtarları oluşturmanızı, döndürmenizi, devre dışı bırakmanızı ve erişimi iptal etmenizi sağlar. KAG özelliğini etkinleştirmek, ad alanınız için tek seferlik bir kurulum işlemidir.
Önemli
- BYOK özelliği, Event Hubs'ın premium ve ayrılmış katmanları tarafından desteklenir.
- Şifrelemeyi yalnızca yeni veya boş isim alanları için etkinleştirebilirsiniz. Ad alanı olay hub'ları içeriyorsa şifreleme işlemi başarısız olur.
Anahtarlarınızı yönetmek ve anahtar kullanımınızı denetlemek için Azure Key Vault (Yönetilen Donanım Güvenlik Modülü dahil Azure Key Vault) kullanabilirsiniz. Kendi anahtarlarınızı oluşturabilir ve bunları bir key vault depolayabilir veya anahtar oluşturmak için Azure Key Vault API'lerini kullanabilirsiniz. Azure Key Vault hakkında daha fazla bilgi için bkz. Azure Key Vault nedir?
Bu makalede, Azure portal kullanarak müşteri tarafından yönetilen anahtarlarla bir key vault yapılandırma gösterilmektedir. Azure portalını kullanarak anahtar kasasının nasıl oluşturulacağını öğrenmek için Hızlı başlangıç: Azure portalını kullanarak Azure Key Vault oluşturma konusuna bakın.
Prerequisites
- Azure aboneliği. Aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Yeni veya boş olan premium veya özel bir seviye Event Hubs isim alanı. Şifrelemeyi yalnızca yeni veya boş ad alanları için etkinleştirebilirsiniz. Özel katman için, Event Hubs'a özel bir küme.
- Geçici silme ve tasfiye koruması etkinleştirilmiş bir anahtar kasası (veya Azure Key Vault Managed HSM). Tüm anahtar kasalarda varsayılan olarak soft delete etkinleştirilmiştir; Temizlik korumasını ayrı olarak etkinleştirmelisiniz.
Müşteri tarafından yönetilen anahtarları etkinleştirme (Azure portal)
Azure portal müşteri tarafından yönetilen anahtarları etkinleştirmek için aşağıdaki adımları izleyin. Ayrılmış katmanı kullanıyorsanız önce Event Hubs Ayrılmış kümenize gidin.
Etkinleştirmek istediğiniz BYOK için ad alanını seçin.
Event Hubs ad alanınızın Ayarlar sayfasında Şifreleme'yi seçin.
Aşağıdaki resimde gösterildiği gibi Beklemede müşteri tarafından yönetilen anahtar şifrelemesini seçin.
Not
Şu anda portal aracılığıyla yönetilen Azure Key Vault HSM'yi yapılandıramazsınız.
Anahtarlarla key vault ayarlama
Müşteri tarafından yönetilen anahtarları etkinleştirdikten sonra, müşteri tarafından yönetilen anahtarı Azure Event Hubs ad alanınızla ilişkilendirmeniz gerekir. Event Hubs yalnızca Azure Key Vault destekler. Önceki bölümde Müşteri tarafından yönetilen anahtarla şifreleme seçeneğini etkinleştirirseniz, anahtarı Azure Key Vault'a aktarmanız gerekir. Ayrıca, anahtar kasasında yumuşak silme ve temizleme koruması etkinleştirilmiş olmalı. Bu ayarları PowerShell veya Azure CLI kullanarak ayarlayabilirsiniz.
Anahtar kasası veya yönetilen HSM oluşturma.
Önemli
Azure Event Hubs ile müşteri tarafından yönetilen anahtarların kullanılması, anahtar kasasının hem yumuşak silme hem de temizleme korumasının etkin olmasını gerektirir. Yumuşak silme, tüm anahtar kasalarında varsayılan olarak etkindir ve devre dışı bırakılamaz. Temizleme koruması varsayılan olarak etkin değildir. Azure portalında yeni bir anahtar kasası oluşturduğunuzda, oluşturulma sırasında temizleme korumasını etkinleştirebilirsiniz. Mevcut bir anahtar kasasında temizleme korumasını etkinleştirmeniz gerekiyorsa, PowerShell veya Azure CLI kullanın.
- Key Vault (şifreleme hizmeti)
- Key Vault Yönetilen HSM
Yeni bir key vault oluşturmak için Azure Key Vault Quickstart izleyin. Mevcut anahtarları içeri aktarma hakkında daha fazla bilgi için bkz. Anahtarlar, gizli diziler ve sertifikalar hakkında.
Geçici silme varsayılan olarak etkindir. Vault oluşturduğunuzda temizleme korumasını açmak için az keyvault create komutunu kullanın.
az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-purge-protection trueMevcut bir kasaya temizleme koruması eklemek için az keyvault update komutunu kullanın.
az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
Anahtar oluşturma
Şu adımları izleyerek anahtarlar oluşturun:
Yeni bir anahtar oluşturmak için Ayarlar'ın altındaki Anahtarlar menüsünde Oluştur/İçeri Aktar'ı seçin.
Seçenekleri Oluştur olarak ayarlayın ve anahtara bir ad verin.
Açılır menüden şifreleme için Event Hubs isim alanına bağlamak için bu anahtarı seçin.
Not
Yedeklilik için en fazla üç anahtar ekleyebilirsiniz. Anahtarlardan biri süresi dolarsa veya erişilemezse, şifreleme için diğer anahtarlar kullanılır.
Anahtarın detaylarını doldurun ve Seç'i seçin. Bu adım, Microsoft tarafından yönetilen anahtarın anahtarınızla (müşteri tarafından yönetilen anahtar) şifrelenmesini sağlar.
Yönetilen kimlikler
Event Hubs ad alanına atayabileceğiniz iki tür yönetilen kimlik vardır.
Sistem tarafından atanan: Yönetilen bir kimliği doğrudan bir Event Hubs ad alanına etkinleştirebilirsiniz. Sistem tarafından atanan yönetilen kimliği etkinleştirdiğinizde, Microsoft Entra'da bu Event Hubs ad alanının yaşam döngüsüne bağlı bir kimlik oluşturulur. Bu nedenle, ad alanı silindiğinde Azure sizin için kimliği otomatik olarak siler. Tasarım gereği, yalnızca bu Azure kaynağı (ad alanı) Microsoft Entra ID'den belirteçler istemek için bu kimliği kullanabilir.
User-assigned: Kullanıcı tarafından atanan kimlik olarak adlandırılan tek başına Azure kaynağı olarak yönetilen kimlik de oluşturabilirsiniz. Kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilir ve bunu bir veya daha fazla Event Hubs ad alanına atayabilirsiniz. Kullanıcı tarafından atanan yönetilen kimlikler söz konusu olduğunda, kimlik onu kullanan kaynaklardan ayrı olarak yönetilir. Bunlar ad alanının yaşam döngüsüne bağlı değildir. Kullanıcı tarafından atanan bir kimliği artık ihtiyacınız kalmadığında açıkça silebilirsiniz.
Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir?.
Sistem tarafından atanan kimlikleri kullanarak şifreleme (şablon)
Bu bölüm, Azure Resource Manager şablonları kullanılarak aşağıdaki görevlerin nasıl tamamlanacağını gösterir:
- Yönetilen hizmet kimliğiyle bir Event Hubs ad alanı oluşturun.
- key vault oluşturun ve hizmet kimliğine key vault'a erişim izni verin.
- Event Hubs ad alanını key vault bilgileriyle (anahtar/değer) güncelleştirin.
Yönetilen hizmet kimliğiyle Event Hubs kümesi ve ad alanı oluşturma
Bu bölüm, Azure Resource Manager şablonu ve PowerShell kullanılarak yönetilen hizmet kimliğiyle Azure Event Hubs isim alanı nasıl oluşturulacağını gösterir.
Yönetilen hizmet kimliğine sahip bir Event Hubs ad alanı oluşturmak için bir Azure Resource Manager şablonu oluşturun. Dosyanın adını verin: CreateEventHubClusterAndNamespace.json.
{ "$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'))]" } } }adlı bir şablon parametre dosyası oluşturun: CreateEventHubClusterAndNamespaceParams.json.
Not
Aşağıdaki değerleri değiştirin:
-
<EventHubsClusterName>- Event Hubs kümenizin adı -
<EventHubsNamespaceName>- Event Hubs ad alanınızın adı -
<Location>- Event Hubs ad alanınızın 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>" } } }-
Event Hubs ad alanı oluşturmak üzere şablonu dağıtmak için aşağıdaki PowerShell komutunu çalıştırın. Daha sonra kullanmak için Event Hubs ad alanının kimliğini alın. Komutu çalıştırmadan önce
{MyRG}değerini kaynak grubunun adıyla değiştirin.$outputs = New-AzResourceGroupDeployment -Name CreateEventHubClusterAndNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateEventHubClusterAndNamespace.json -TemplateParameterFile ./CreateEventHubClusterAndNamespaceParams.json $EventHubNamespaceId = $outputs.Outputs["eventHubNamespaceId"].value
Event Hubs ad alanı kimliğine anahtar kasasına erişim izni verme.
Anahtar kasası erişim politikasını, Event Hubs isim alanının yönetilen kimliğinin anahtar kasadaki anahtarlara erişebilmesi için ayarlayın. Önceki bölümdeki Event Hubs ad alanının kimliğini kullanın.
Not
Bu adımlar, anahtar kasasının erişim ilkelerine dayalı izin modelini kullandığını varsayar. Eğer Key vault Azure rol tabanlı erişim kontrol (RBAC) izin modelini kullanıyorsa, yönetilen kimliğe Key Vault Crypto Service Encryption User rolünü atayın. Daha fazla bilgi için, Azure RBAC ile Key Vault anahtarlarına, sertifikalarına ve sırlarına erişim sağla bölümüne bakınız.
$identity = (Get-AzResource -ResourceId $EventHubNamespaceId -ExpandProperties).Identity
Set-AzKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
Event Hubs namespace'teki verileri, key vault'ta müşteri tarafından yönetilen bir anahtarla şifreleme
Aşağıdaki adımları tamamlayın:
- Yönetilen bir kimlikle premium bir isim alanı oluşturun.
- Bir anahtar kasası oluşturun ve yönetilen kimliğe anahtar kasasına erişim izni verin.
Bu adımda, Event Hubs ad alanını anahtar kasası bilgileriyle güncelliyorsunuz.
Aşağıdaki içeriğe sahip CreateEventHubClusterAndNamespace.json 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şturun: UpdateEventHubClusterAndNamespaceParams.json.
Not
Aşağıdaki değerleri değiştirin:
-
<EventHubsClusterName>- Event Hubs kümenizin adı. -
<EventHubsNamespaceName>- Event Hubs ad alanınızın adı -
<Location>- Event Hubs ad alanınızın konumu -
<KeyVaultName>- key vault adı -
<KeyName>- key vault içindeki anahtarın adı
- Key Vault (şifreleme hizmeti)
- Key Vault Yönetilen HSM
{ "$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" } } }-
Resource Manager şablonunu dağıtmak için aşağıdaki PowerShell komutunu çalıştırın. Komutu çalıştırmadan önce
{MyRG}'i kaynak grubunuzun adıyla değiştirin.New-AzResourceGroupDeployment -Name UpdateEventHubNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateEventHubClusterAndNamespace.json -TemplateParameterFile ./UpdateEventHubClusterAndNamespaceParams.json
Kullanıcı tarafından atanan kimlikleri (şablon) kullanarak şifreleme
- Kullanıcı tarafından atanan bir kimlik oluşturun.
- Bir anahtar kasası oluşturun ve kullanıcı tarafından atanan kimliğe erişim politikaları aracılığıyla erişim izni verin.
- Yönetilen kullanıcı kimliği ve key vault bilgileriyle Event Hubs ad alanı oluşturun.
Kullanıcı atamalı kimlik oluşturma
Kullanıcı tarafından atanan bir kimlik oluşturmak için Kullanıcı tarafından atanan yönetilen kimlikleri yönet içindeki talimatları takip edin. Azure portalı, Azure CLI, Azure PowerShell, Azure Resource Manager şablonu veya REST kullanarak kullanıcı tarafından atanan bir kimlik oluşturabilirsiniz.
Not
Ad alanına en fazla 4 kullanıcı kimliği atayabilirsiniz. Azure, ad alanını sildiğinizde veya şablonda identity -> type değerini None olarak ayarladığınızda bu ilişkilendirmeleri siler.
Kullanıcı tarafından atanan kimliğe erişim verme
Kullanıcı kimliği için Hizmet Ana Kimliğini aşağıdaki PowerShell komutunu çalıştırarak alın. Örnekte,
ud1, şifreleme için kullandığınız kullanıcı tarafından atanan kimliğidir.$servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"Kullanıcı tarafından atanan kimliğe anahtar kasasına erişim verilmesi için bir erişim ilkesi atayın.
Set-AzKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,listNot
3 anahtara kadar ekleyebilirsiniz, ancak şifreleme için kullanılan kullanıcı kimliği tüm anahtarlar için aynı olmalıdır. Şu anda yalnızca tek bir şifreleme kimliği desteklenmektedir.
Kullanıcı kimliği ve key vault bilgileriyle Event Hubs ad alanı oluşturma
Bu bölüm, aşağıdaki görevleri Azure Resource Manager şablonu kullanarak nasıl yapacağınızı gösteren bir örnek sunar.
Event Hubs ad alanına kullanıcı tarafından yönetilen bir kimlik atayın.
"identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('identity').userAssignedIdentity]": {} } },Kullanıcı tarafından yönetilen kimlikten ve key vault'tan bir anahtar belirleyerek ve anahtara erişmek için bu kimliği kullanarak ad alanında ş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 sahip CreateEventHubsNamespaceWithUserIdentityAndEncryption.json 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şturun: CreateEventHubsNamespaceWithUserIdentityAndEncryptionParams.json.
- Key Vault (şifreleme hizmeti)
- Key Vault Yönetilen HSM
{ "$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>Event Hubs ad alanının adı. <Location>Ad alanının oluşturulmasını istediğiniz konum. <KeyVaultName>key vault adı. <KeyName>Anahtar kasasındaki 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 komutunu çalıştırın. Komutu çalıştırmadan önce
{MyRG}'i kaynak grubunuzun adıyla değiştirin.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ı hem sistem tarafından atanan hem de kullanıcı tarafından atanan kimliklere aynı anda sahip olabilir. Bu durumda, type özelliği SystemAssigned, UserAssigned ile aşağıdaki örnekte gösterildiği gibi olacaktır.
"identity": {
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
}
}
Bu senaryoda, dinlenme halindeki verileri şifrelemek için sistem tarafından atanan kimliği veya kullanıcı tarafından atanan kimliği seçebilirsiniz.
Resource Manager şablonunda bir identity özniteliği belirtmezseniz sistem tarafından yönetilen kimlik kullanılır. Burada örnek bir kod parçacığı verilmiş.
"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 örne bakın. Özniteliğin identity kullanıcı tarafından yönetilen kimliğe ayarlandığına dikkat edin.
"properties":{
"encryption":{
"keySource":"Microsoft.KeyVault",
"keyVaultProperties":[
{
"keyName":"[parameters('keyName')]",
"keyVaultUri":"[parameters('keyVaultUri')]",
"identity": {
"userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
}
}
]
}
}
Verilerin altyapı (veya çift) şifrelemesini etkinleştirme
Verilerinizin güvenli olduğuna dair daha yüksek düzeyde güvenceye ihtiyacınız varsa, Çift Şifreleme olarak da bilinen altyapı düzeyinde şifrelemeyi etkinleştirebilirsiniz.
Altyapı şifreleme etkinleştirildiğinde Event Hubs ad alanı hesabındaki 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 verilerinin altyapı şifrelemesi, şifreleme algoritmalarından veya anahtarlarından birinin gizliliğinin tehlikeye atıldığı bir senaryoya karşı koruma sağlar.
Aşağıdaki örnekte gösterildiği gibi, önceki CreateEventHubClusterAndNamespace.json içindeki özellik ile Azure Resource Manager şablonunu requireInfrastructureEncryption güncelleyerek 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 alma
Şifreleme anahtarlarınızı döndürme
Azure Anahtar Kasaları döndürme mekanizmasını kullanarak anahtarınızı anahtar kasasında yenileyebilirsiniz. Anahtar dönüşümünü otomatikleştirmek için aktivasyon ve son kullanma tarihlerini belirleyin. Event Hubs servisi yeni anahtar versiyonları algılar ve otomatik olarak kullanmaya başlar.
Anahtarlara erişimi iptal etme
Şifreleme anahtarlarına erişimi iptal etmek, Event Hubs'tan veri temizlenmez. Ancak verilere Event Hubs ad alanından erişilemiyor. Şifreleme anahtarını erişim politikası yoluyla veya anahtarı silerek geri alabilirsiniz. Erişim politikaları ve anahtar kasanızı güvence altına almak hakkında daha fazla bilgi edinmek için Anahtar Kasasına Güvenli Erişim bölümünü inceleyin.
Şifreleme anahtarı iptal edilirse, şifrelenmiş ad alanındaki Event Hubs hizmeti kullanılamaz hale gelir. Anahtara erişim etkinleştirilirse veya silme anahtarı geri yüklenirse, Event Hubs hizmeti anahtarı seçer ve böylece şifrelenmiş Event Hubs ad alanından verilere erişebilirsiniz.
Anahtarları önbelleğe alma
Event Hubs örneği (event hub), listelenen şifreleme anahtarlarını her beş dakikada bir sorar. Bunları önbellek yapar ve bir sonraki ankete kadar, yani beş dakika sonra kullanır. En az bir anahtar kullanılabildiği sürece olay hub'ına erişilebilir. Listelenen tüm anahtarlara yoklama yapıldığında erişilemiyorsa, tüm olay hub'ları kullanılamaz hale gelir.
Diğer ayrıntılar şunlardır:
- Her beş dakikada bir, Event Hubs hizmeti isim alanının kaydında listelenen tüm müşteri tarafından yönetilen anahtarları sorar:
- Bir anahtar döndürülürse, kayıt yeni anahtarla güncellenir.
- Bir anahtar iptal edilirse, anahtar kayıttan çıkarılır.
- Tüm anahtarlar geri alınırsa, namespace'in şifreleme durumu Geri Alınmış olarak ayarlanır. Verilere Event Hubs isim alanından erişilemiyor.
Coğrafi olağanüstü durum kurtarma kullanırken dikkat edilmesi gerekenler
Önemli
BYOK şifrelemesini kullanan bir ad alanında Geo-DR'yi etkinleştirmek için, eşleştirme için ikincil ad alanında sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliğin etkinleştirilmesi 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 anahtarla şifrelenmesini mümkün kılmak için, belirlenen Azure KeyVault'ta sistem tarafından atanan yönetilen bir kimlik için erişim politikası oluşturun. Bu politika, Azure Event Hubs isim alanından Azure KeyVault'a kontrollü erişim sağlar.
Bu durum nedeniyle:
-
Eğer Geo felaket kurtarma zaten Event Hubs isim alanı için etkinse ve müşteri tarafından yönetilen anahtarı etkinleştirmek istiyorsanız, o zaman
- Eşleştirmeyi kes.
- Sistem tarafından atanan yönetilen kimlik için hem birincil hem de ikincil ad alanlarında anahtar kasasına erişim ilkesinin kurulumu yapın.
- Birincil ad alanında şifrelemeyi ayarlayın.
- Birincil ve ikincil ad alanlarını yeniden eşleştirin.
- Müşteri tarafından yönetilen anahtarın zaten kurulmuş olduğu bir Event Hubs isim alanında Geo-DR etkinleştirmek istiyorsanız, şu adımları izleyin:
- İkincil ad alanının yönetilen kimliği için erişim politikasını anahtar kasası için belirleyin.
- Birincil ve ikincil ad alanlarını eşleştirin.
Coğrafi afet kurtarma - kullanıcı atamalı kimlik ile şifreleme
İşte birkaç öneri:
- Yönetilen kimlik oluşturun ve yönetilen kimliğinize Key Vault izinleri atayın.
- Kimliği kullanıcı tarafından atanan kimlik olarak ekleyin ve her iki ad alanında da kimlikle şifrelemeyi etkinleştirin.
- Ad alanlarını birlikte eşleştirin.
Kullanıcı Tarafından Atanan Kimliklerle Coğrafi DR ve Şifrelemeyi etkinleştirme koşulları:
- Şifreleme'nin etkinleştirildiği birincil ad alanıyla eşleştirilecekse, ikincil ad alanında Kullanıcı Tarafından Atanan kimlikle Şifreleme zaten etkin olmalıdır.
- İkincil ad alanıyla ilişkilendirilmiş kullanıcı tarafından atanan bir kimliğe sahip olsa bile, zaten eşleştirilmiş bir birincilde Şifrelemeyi etkinleştirmek mümkün değildir.
Tanılama günlüklerini ayarlayın
BYOK özellikli ad alanları için tanılama günlüklerini ayarlamak, işlemler hakkında gerekli bilgileri sağlar. Bu günlükler etkinleştirilebilir ve daha sonra bir olay merkezine akış yapılabilir veya günlük analitiği aracılığıyla analiz edilebilir ya da özelleştirilmiş analiz gerçekleştirmek üzere depolamaya akış yapılabilir. Tanılama günlükleri hakkında daha fazla bilgi edinmek için bkz. Azure Tanılama günlüklerinin Genel bakış. Şema için bkz Veri başvuru izleme.
Microsoft Azure için Müşteri Kilit Kutusu
Microsoft Azure için
- Event Hubs varlık adları (etkinlik merkezleri)
- Ad alanı ve varlıkları için yapılandırma ayarları
Olay verileri üst bilgilerine ve olay gövdesi içeriğine Microsoft personeli erişemez. Buna ek olarak, olay verileri Event Hubs hizmetine gönderilmeden önce istemci tarafında ikili biçime serileştirilir, bu nedenle sunucuda insan tarafından okunabilir bir biçimde depolanmaz veya görüntülenemez. Sonuç olarak, Azure Event Hubs destek senaryoları için Customer Lockbox onayı gerekli değildir.