Konfigurace klíčů spravovaných zákazníkem pro šifrování Azure Event Hubs dat

Azure Event Hubs zajišťuje šifrování osobních dat pomocí Azure Storage Service Encryption (Azure SSE). Služba Event Hubs používá Azure Storage k ukládání dat. Všechna data uložená ve službě Azure Storage se šifrují pomocí klíčů spravovaných Microsoftem. Pokud používáte vlastní klíč (označovaný také jako Bring Your Own Key (BYOK) nebo klíč spravovaný zákazníkem), data se stále šifrují pomocí klíče spravovaného Microsoftem, ale kromě toho se klíč spravovaný Microsoftem zašifruje pomocí klíče spravovaného zákazníkem. Tato funkce umožňuje vytvořit, obměně, zakázat a odvolat přístup ke klíčům spravovaným zákazníkem, které se používají k šifrování klíčů spravovaných Microsoftem. Povolení funkce BYOK je proces nastavení ve vašem oboru názvů pouze jednou.

Důležité

  • Funkce BYOK je podporována úrovněmi Premium a Dedicated Event Hubs.
  • Šifrování je možné povolit pouze pro nové nebo prázdné obory názvů. Pokud obor názvů obsahuje centra událostí, operace šifrování selže.

Pomocí nástroje Azure Key Vault spravovat klíče a auditovat využití klíčů. Můžete buď vytvořit vlastní klíče a uložit je v trezoru klíčů, nebo můžete použít rozhraní API Azure Key Vault k vygenerování klíčů. Další informace o těchto Azure Key Vault najdete v tématu Co je Azure Key Vault?

Tento článek ukazuje, jak nakonfigurovat trezor klíčů s využitím klíčů spravovaných zákazníkem pomocí Azure Portal. Informace o tom, jak vytvořit trezor klíčů pomocí Azure Portal, najdete v tématu Rychlý Azure Key Vault vytvoření trezoru pomocí Azure Portal.

Povolení klíčů spravovaných zákazníkem (Azure Portal)

Pokud chcete povolit klíče spravované zákazníkem v Azure Portal, postupujte podle těchto kroků. Pokud používáte vyhrazenou úroveň, přejděte nejprve ke svému Event Hubs úrovně Dedicated clusteru.

  1. Vyberte obor názvů, pro který chcete povolit BYOK.

  2. Na stránce Nastavení vašeho oboru názvů Event Hubs vyberte Šifrování.

  3. Vyberte šifrování klíčů spravovaných zákazníkem v klidových zařízeních, jak je znázorněno na následujícím obrázku.

    Povolení klíče spravovaného zákazníkem

Nastavení trezoru klíčů s klíči

Po povolení klíčů spravovaných zákazníkem je potřeba přidružit klíč spravovaný zákazníkem k vašemu Azure Event Hubs oboru názvů. Event Hubs podporuje pouze Azure Key Vault. Pokud v předchozí části povolíte možnost Šifrování pomocí klíče spravovaného zákazníkem, musíte klíč naimportovat do Azure Key Vault. Klíče také musí mít pro klíč nakonfigurované možnost Softwarové odstranění a Nevyprázdnit. Tato nastavení je možné nakonfigurovat pomocí PowerShellu nebo rozhraní příkazového řádku.

  1. Pokud chcete vytvořit nový trezor klíčů, postupujte podle Azure Key Vault rychlého startu. Další informace o importu existujících klíčů najdete v tématu Informace o klíčích, tajných klíčích a certifikátech.

    Důležité

    Použití klíčů spravovaných zákazníkem s Azure Event Hubs vyžaduje, aby měl trezor klíčů nakonfigurované dvě požadované vlastnosti. Jsou to: Soft Delete (Vyprázdnit) a Do Not Purge (Nevyprázdnit). Tyto vlastnosti jsou ve výchozím nastavení povolené při vytváření nového trezoru klíčů v Azure Portal. Pokud ale potřebujete tyto vlastnosti povolit u existujícího trezoru klíčů, musíte použít PowerShell nebo Azure CLI.

  2. Pokud chcete při vytváření trezoru zapnout jak ochranu před softwarovým odstraněním, tak ochranu před vymazáním, použijte příkaz az keyvault create.

    az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
    
  3. Pokud chcete přidat ochranu před vymazáním do existujícího trezoru (který už má povolené softwarové odstranění), použijte příkaz az keyvault update.

    az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
    
  4. Klíče vytvořte pomocí následujících kroků:

    1. Pokud chcete vytvořit nový klíč, vyberte Vygenerovat/importovat v nabídce Klíče v části Nastavení.

      Vyberte tlačítko Vygenerovat/importovat.

    2. Nastavte Možnosti na Vygenerovat a zadejte název klíče.

      Vytvoření klíče

    3. Teď můžete tento klíč vybrat a přidružit ho Event Hubs oboru názvů pro šifrování z rozevíracího seznamu.

      Výběr klíče z trezoru klíčů

      Poznámka

      Kvůli redundanci můžete přidat až 3 klíče. V případě, že platnost jednoho z klíčů vypršela nebo není dostupný, ostatní klíče se budou používat k šifrování.

    4. Vyplňte podrobnosti o klíči a klikněte na Vybrat. Tím se povolí šifrování klíče spravovaného Microsoftem pomocí vašeho klíče (klíče spravovaného zákazníkem).

Spravované identity

Existují dva typy spravovaných identit, které můžete přiřadit k oboru Event Hubs názvů.

  • Přiřazeno systémem: Spravovanou identitu můžete povolit přímo na Event Hubs oboru názvů. Když povolíte spravovanou identitu přiřazenou systémem, vytvoří se ve službě Azure AD identita, která je svázaná s životním cyklem tohoto Event Hubs oboru názvů. Když se tedy obor názvů odstraní, Azure identitu automaticky odstraní za vás. Tuto identitu může k vyžádání tokenů ze služby Azure AD použít pouze tento prostředek Azure (obor názvů).

  • Přiřazený uživatelem: Můžete také vytvořit spravovanou identitu jako samostatný prostředek Azure, který se nazývá identita přiřazená uživatelem. Můžete vytvořit spravovanou identitu přiřazenou uživatelem a přiřadit ji k jednomu nebo Event Hubs oborům názvů. V případě spravovaných identit přiřazených uživatelem se identita spravuje odděleně od prostředků, které ji používají. Nejsou svázány s životním cyklem oboru názvů. Identitu přiřazenou uživatelem můžete explicitně odstranit, když ji už nepotřebujete.

    Další informace najdete v tématu, které vysvětluje, co jsou spravované identity pro prostředky Azure.

Šifrování pomocí identit přiřazených systémem (šablona)

Tato část ukazuje, jak provádět následující úlohy pomocí Azure Resource Manager šablony.

  1. Vytvořte Event Hubs s identitou spravované služby.
  2. Vytvořte trezor klíčů a udělte identitě služby přístup k trezoru klíčů.
  3. Aktualizujte Event Hubs oboru názvů pomocí informací o trezoru klíčů (klíč/hodnota).

Vytvoření clusteru Event Hubs oboru názvů s identitou spravované služby

V této části si ukážeme, jak vytvořit Azure Event Hubs s identitou spravované služby pomocí šablony Azure Resource Manager a PowerShellu.

  1. Vytvořte šablonu Azure Resource Manager pro vytvoření oboru názvů Event Hubs s identitou spravované služby. Pojmete soubor: 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'))]"
          }
       }
    }
    
  2. Vytvořte soubor parametrů šablony s názvemCreateEventHubClusterAndNamespaceParams.js na .

    Poznámka

    Nahraďte následující hodnoty:

    • <EventHubsClusterName> – Název vašeho Event Hubs clusteru
    • <EventHubsNamespaceName> – Název vašeho oboru Event Hubs názvů
    • <Location> – Umístění vašeho oboru Event Hubs názvů
    {
       "$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>"
          }
       }
    }
    
    
  3. Spuštěním následujícího příkazu PowerShellu nasaďte šablonu pro vytvoření Event Hubs oboru názvů. Pak načtěte ID oboru názvů Event Hubs ho později použít. Před spuštěním příkazu nahraďte názvem {MyRG} skupiny prostředků.

    $outputs = New-AzResourceGroupDeployment -Name CreateEventHubClusterAndNamespace -ResourceGroupName {MyRG} -TemplateFile ./CreateEventHubClusterAndNamespace.json -TemplateParameterFile ./CreateEventHubClusterAndNamespaceParams.json
    
    $EventHubNamespaceId = $outputs.Outputs["eventHubNamespaceId"].value
    

Udělení Event Hubs oboru názvů přístup k trezoru klíčů

  1. Spuštěním následujícího příkazu vytvořte trezor klíčů s povolenou ochranou před vymazáním a povoleným softwarovým odstraněním.

    New-AzureRmKeyVault -Name {keyVaultName} -ResourceGroupName {RGName}  -Location {location} -EnableSoftDelete -EnablePurgeProtection    
    

    (OR)

    Spuštěním následujícího příkazu aktualizujte existující trezor klíčů. Před spuštěním příkazu zadejte hodnoty pro názvy skupin prostředků a trezoru klíčů.

    ($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" -Force
    
  2. Nastavte zásady přístupu trezoru klíčů tak, aby spravovaná identita oboru názvů Event Hubs přístup k hodnotě klíče v trezoru klíčů. Použijte ID oboru názvů Event Hubs z předchozí části.

    $identity = (Get-AzureRmResource -ResourceId $EventHubNamespaceId -ExpandProperties).Identity
    
    Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $identity.PrincipalId -PermissionsToKeys get,wrapKey,unwrapKey,list
    

Šifrování dat v Event Hubs s klíčem spravovaným zákazníkem z trezoru klíčů

Zatím jste provedli následující kroky:

  1. Vytvořili jste obor názvů Premium se spravovanou identitou.
  2. Vytvořte trezor klíčů a udělte spravované identitě přístup k trezoru klíčů.

V tomto kroku aktualizujete obor názvů služby Event Hubs informace o trezoru klíčů.

  1. Vytvořte soubor JSON s názvem CreateEventHubClusterAndNamespace.json s následujícím obsahem:

    {
       "$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')]"
                      }
                   ]
                }
             }
          }
       ]
    }
    
  2. Vytvořte soubor parametrů šablony: UpdateEventHubClusterAndNamespaceParams.jsna .

    Poznámka

    Nahraďte následující hodnoty:

    • <EventHubsClusterName> – Název vašeho Event Hubs clusteru.
    • <EventHubsNamespaceName> – Název vašeho oboru Event Hubs názvů
    • <Location> – Umístění vašeho oboru Event Hubs názvů
    • <KeyVaultName> – Název trezoru klíčů
    • <KeyName> – Název klíče v trezoru klíčů
    {
       "$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"
          }
       }
    }
    
  3. Spuštěním následujícího příkazu PowerShellu nasaďte Resource Manager šablony. Před spuštěním příkazu nahraďte názvem vaší skupiny {MyRG} prostředků.

    New-AzResourceGroupDeployment -Name UpdateEventHubNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./UpdateEventHubClusterAndNamespace.json -TemplateParameterFile ./UpdateEventHubClusterAndNamespaceParams.json 
    

Šifrování pomocí uživatelsky přiřazených identit (šablona)

  1. Vytvořte uživatelem přiřazenou identitu.
  2. Vytvořte Trezor klíčů a udělte přístup k identitě přiřazené uživateli prostřednictvím zásad přístupu.
  3. Vytvořte obor názvů Event Hubs s informacemi o spravovaném uživatelském identitě a informacích o trezoru klíčů.

Vytvoření identity přiřazené uživatelem

Podle pokynů v článku Vytvoření spravované identity přiřazené uživatelem vytvořte identitu přiřazenou uživatelem. Můžete také vytvořit uživatelem přiřazenou identitu pomocí rozhraní příkazového řádku, powershellu, Azure Resource Manager šablonya REST.

Poznámka

K oboru názvů můžete přiřadit až 4 identity uživatelů. Tato přidružení jsou odstraněna při odstranění oboru názvů nebo při předání identity -> type šablony do None .

Vytvoření trezoru klíčů a udělení přístupu k identitě přiřazené uživateli

  1. Spusťte následující příkaz, který vytvoří Trezor klíčů s povoleným ochranou vyprázdnění a obnovitelného odstranění.

    New-AzureRmKeyVault -Name "{keyVaultName}" -ResourceGroupName {RGName} -Location "{location}" -EnableSoftDelete -EnablePurgeProtection           
    

    ANI

    Spuštěním následujícího příkazu aktualizujte existující Trezor klíčů. Před spuštěním příkazu zadejte hodnoty pro názvy skupin prostředků a trezorů klíčů.

    ($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" -Force            
    
  2. Pomocí následujícího příkazu PowerShellu Získejte ID objektu služby pro identitu uživatele. V příkladu ud1 je uživatelem přiřazená identita, která se má použít k šifrování.

    $servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"    
    
  3. Přiřaďte uživatelem přiřazenou identitu k trezoru klíčů přiřazením zásad přístupu.

    Set-AzureRmKeyVaultAccessPolicy -VaultName {keyVaultName} -ResourceGroupName {RGName} -ObjectId $servicePrincipal.Id -PermissionsToKeys get,wrapKey,unwrapKey,list    
    

    Poznámka

    Můžete přidat až 3 klíče, ale identita uživatele použitá pro šifrování musí být stejná pro všechny klíče. V současné době je podporována pouze jediná šifrovací identita.

Vytvoření oboru názvů Event Hubs s identitou uživatele a informacemi o trezoru klíčů

V této části najdete příklad, který vám ukáže, jak provádět následující úlohy pomocí šablony Azure Resource Manager.

  • Přiřaďte uživatelsky spravovanou identitu k oboru názvů Event Hubs.

                "identity": {
                    "type": "UserAssigned",
                    "userAssignedIdentities": {
                        "[parameters('identity').userAssignedIdentity]": {}
                    }
                },
    
  • Povolte šifrování u oboru názvů zadáním klíče z trezoru klíčů a uživatelsky spravované identity pro přístup k tomuto klíči.

                    "encryption":{
                       "keySource":"Microsoft.KeyVault",
                       "keyVaultProperties":[
                            {
                                "keyName": "[parameters('keyName')]",
                                "keyVaultUri": "[parameters('keyVaultUri')]",
                                "identity": {
                                    "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
                                }
                            }
                       ]
                    }
    
  1. Vytvořte soubor JSON s názvem CreateEventHubsNamespaceWithUserIdentityAndEncryption.js s následujícím obsahem:

    {
       "$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]"
                            }
                        }
                   ]
                }
             }
          }
       ]
    }        
    
  2. Vytvořte soubor parametrů šablony: CreateEventHubsNamespaceWithUserIdentityAndEncryptionParams.jsna.

    {
       "$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>"
            }
         }
       }
    }
    

    V souboru parametrů Nahraďte zástupné symboly příslušnými hodnotami.

    Zástupný symbol hodnota
    <EventHubsNamespaceName> Název oboru názvů Event Hubs.
    <Location> Umístění, kde chcete vytvořit obor názvů.
    <KeyVaultName> Název trezoru klíčů
    <KeyName> Název klíče v trezoru klíčů
    <AZURE SUBSCRIPTION ID> ID vašeho předplatného Azure
    <RESOURCE GROUP NAME> Skupina prostředků identity spravované uživatelem.
    <USER MANAGED IDENTITY NAME> Název uživatelsky spravované identity.
  3. Spusťte následující příkaz prostředí PowerShell, který nasadí šablonu Správce prostředků. {MyRG}Před spuštěním příkazu nahraďte názvem vaší skupiny prostředků.

    New-AzResourceGroupDeployment -Name CreateEventHubsNamespaceWithEncryption -ResourceGroupName {MyRG} -TemplateFile ./ CreateEventHubsNamespaceWithUserIdentityAndEncryption.json -TemplateParameterFile ./ CreateEventHubsNamespaceWithUserIdentityAndEncryptionParams.json        
    

Používejte identity přiřazené uživatelem i systémem.

Obor názvů může mít současně přiřazené i uživatelsky přiřazené identity. V tomto případě type by vlastnost byla SystemAssigned , jak je UserAssigned znázorněno v následujícím příkladu.

"identity": {
    "type": "SystemAssigned, UserAssigned",
    "userAssignedIdentities": {
        "/subscriptions/<SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userIdentity1>" : {}
    }
}

V tomto scénáři si můžete vybrat buď identitu přiřazenou systémem, nebo identitu přiřazenou uživateli pro šifrování neaktivních dat.

Pokud v šabloně Správce prostředků neurčíte identity atribut, použije se identita spravovaná systémem. Tady je příklad fragmentu.

"properties":{
   "encryption":{
      "keySource":"Microsoft.KeyVault",
      "keyVaultProperties":[
         {
            "keyName":"[parameters('keyName')]",
            "keyVaultUri":"[parameters('keyVaultUri')]"
         }
      ]
   }
}

Viz následující příklad pro použití identity spravované uživatelem pro šifrování. Všimněte si, že identity atribut je nastaven na identitu spravovanou uživatelem.

"properties":{
   "encryption":{
      "keySource":"Microsoft.KeyVault",
      "keyVaultProperties":[
         {
            "keyName":"[parameters('keyName')]",
            "keyVaultUri":"[parameters('keyVaultUri')]",
            "identity": {
                "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
            }
         }
      ]
   }
}

Povolit infrastrukturu (nebo dvojí) šifrování dat

Pokud požadujete vyšší úroveň záruky, že vaše data jsou zabezpečená, můžete povolit šifrování na úrovni infrastruktury, které se taky označuje jako dvojité šifrování.

Když je povolené šifrování infrastruktury, data v Event Hubsm účtu oboru názvů se dvakrát šifrují, jednou na úrovni služby a jednou na úrovni infrastruktury, a to pomocí dvou různých šifrovacích algoritmů a dvou různých klíčů. Proto šifrování infrastruktury Event Hubs dat chrání před scénářem, kdy může dojít k ohrožení jednoho z šifrovacích algoritmů nebo klíčů.

Šifrování infrastruktury můžete povolit tak, že aktualizujete šablonu Azure Resource Manager s requireInfrastructureEncryption vlastností ve výše uvedeném CreateEventHubClusterAndNamespace.js , jak je znázorněno níže.

"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')]"
         }
      ]
   }
}

Otočení, odvolání a ukládání šifrovacích klíčů mezipaměti

Otočení šifrovacích klíčů

Svůj klíč můžete v trezoru klíčů otočit pomocí mechanismu rotace trezorů klíčů Azure. Data o aktivaci a vypršení platnosti je také možné nastavit na automatizaci střídání klíčů. Služba Event Hubs detekuje nové verze klíčů a automaticky je začne používat.

Odvolat přístup k klíčům

Odvolání přístupu k šifrovacím klíčům neodstraní data z Event Hubs. K datům ale nelze přicházet z oboru názvů Event Hubs. Šifrovací klíč můžete odvolat pomocí zásad přístupu nebo odstraněním klíče. Přečtěte si další informace o zásadách přístupu a zabezpečení trezoru klíčů před zabezpečeným přístupem k trezoru klíčů.

Po odvolání šifrovacího klíče se služba Event Hubs v zašifrovaném oboru názvů stane nefunkčním. Pokud je povolený přístup ke klíči nebo je obnovený klíč, Event Hubs služba vybere klíč, abyste měli přístup k datům z šifrovaného názvového prostoru Event Hubs.

Ukládání do mezipaměti klíčů

Instance Event Hubs (centra událostí) dotazuje své uvedené šifrovací klíče každých 5 minut. Ukládá je do mezipaměti a používá je až do dalšího cyklického dotazování, což je po 5 minutách. Pokud je k dispozici alespoň jeden klíč, centrum událostí je dostupné. Pokud jsou všechny uvedené klíče nedostupné při cyklickém dotazování, všechna centra událostí nebudou k dispozici.

Tady jsou další podrobnosti:

  • Každých 5 minut služba Event Hubs dotazuje všechny klíče spravované zákazníkem uvedené v záznamu oboru názvů:
    • Pokud byl klíč otočen, záznam se aktualizuje pomocí nového klíče.
    • Pokud byl klíč odvolán, klíč se odebere ze záznamu.
    • Pokud jsou všechny klíče odvolány, stav šifrování oboru názvů je nastaven na odvolaný. K datům nelze přicházet z oboru názvů Event Hubs. '

Co je třeba zvážit při použití geografického zotavení po havárii

Důležité

Chcete-li povolit geografickou hodnotu DR v oboru názvů, který používá šifrování BYOK, sekundární obor názvů pro párování musí mít povolenou identitu přiřazenou systémem nebo uživateli.

Geografické zotavení po havárii – šifrování s identitami přiřazenými systémem

Pokud chcete povolit šifrování klíče spravovaného společností Microsoft pomocí spravovaného klíče zákazníka, vytvoří se v zadaném systému Azure klíčů v zadané spravované identitě zásady přístupu . Tím se zajistí řízený přístup k trezoru klíčů Azure z oboru názvů Azure Event Hubs.

Z tohoto důvodu:

  • Pokud je pro obor názvů Event Hubs povolené geografické zotavení po havárii a chcete povolit spravovaný klíč zákazníka,
    • Přerušit párování.
    • Nastavte zásady přístupu pro spravovanou identitu přiřazenou systémem pro primární i sekundární obory názvů do trezoru klíčů.
    • Nastavte šifrování v primárním oboru názvů.
    • Přespárujte primární a sekundární obory názvů.
  • Pokud chcete povolit geografickou událost DR u Event Hubs oboru názvů, kde je klíč spravovaný zákazníkem již nastavený, postupujte podle těchto kroků:
    • Nastavte zásady přístupu pro spravovanou identitu pro sekundární obor názvů do trezoru klíčů.
    • Spáruje primární a sekundární obory názvů.

Geografické zotavení po havárii – šifrování pomocí uživatelsky přiřazených identit

Zde je několik doporučení:

  1. Vytvořte spravovanou identitu a přiřaďte k spravované identitě Key Vault oprávnění.
  2. Přidejte identitu jako identitu přiřazenou uživatelem a povolte šifrování s identitou v obou oborech názvů.
  3. Spárovat obory názvů dohromady

Podmínky pro povolení geografického DR a šifrování pomocí User-Assigned identit:

  1. Sekundární obor názvů musí mít povolené šifrování s User-Assigned identitou, pokud se má spárovat s primárním oborem názvů, který má povolené šifrování.
  2. Šifrování u již spárovaného primárního objektu není možné povolit, i když sekundární má User-Assigned identitu přidruženou k oboru názvů.

Nastavení diagnostických protokolů

Nastavení protokolů diagnostiky pro obory názvů s povoleným BYOK poskytuje požadované informace o těchto operacích. Tyto protokoly je možné povolit a později streamovat do centra událostí nebo analyzovat prostřednictvím Log Analytics nebo streamovat do úložiště a provádět přizpůsobené analýzy. Další informace o diagnostických protokolech najdete v tématu Přehled diagnostických protokolů Azure. Schéma najdete v tématu monitorování dat sledování.

Další kroky

Viz následující články: