Konfigurace klíčů spravovaných zákazníkem pro šifrování neaktivních uložených dat služby Azure Event Hubs

Azure Event Hubs poskytuje šifrování neaktivních uložených dat pomocí služby Azure Storage Service Encryption (Azure SSE). Služba Event Hubs používá k ukládání dat službu Azure Storage. 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 ByOK (Bring Your Own Key) 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 vytvářet, otáčet, zakazovat a odvolávat 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 jednorázový proces nastavení vašeho oboru názvů.

Důležité

  • Funkce BYOK je podporovaná úrovněmi Premium a vyhrazenými úrovněmi služby 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.

Azure Key Vault můžete použít ke správě klíčů a auditování použití klíče. Můžete buď vytvořit vlastní klíče a uložit je do trezoru klíčů, nebo můžete použít rozhraní API služby Azure Key Vault ke generování klíčů. Další informace o službě Azure Key Vault najdete v tématu Co je Azure Key Vault?

Tento článek ukazuje, jak nakonfigurovat trezor klíčů s klíči spravovanými zákazníkem pomocí webu Azure Portal. Informace o vytvoření trezoru klíčů pomocí webu Azure Portal najdete v tématu Rychlý start: Vytvoření služby Azure Key Vault pomocí webu Azure Portal.

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

Pokud chcete na webu Azure Portal povolit klíče spravované zákazníkem, postupujte takto. Pokud používáte vyhrazenou úroveň, nejprve přejděte do vyhrazeného clusteru Služby Event Hubs.

  1. Vyberte obor názvů, na kterém chcete povolit BYOK.

  2. Na stránce Nastavení oboru názvů služby Event Hubs vyberte Šifrování.

  3. Vyberte šifrování neaktivních uložených klíčů spravovaných zákazníkem, jak je znázorněno na následujícím obrázku.

    Enable customer managed key

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 oboru názvů služby Azure Event Hubs. Event Hubs podporuje pouze Službu Azure Key Vault. Pokud v předchozí části povolíte šifrování pomocí klíče spravovaného zákazníkem, musíte mít klíč naimportovaný do služby Azure Key Vault. Klíče také musí obsahovat obnovitelné odstranění a neprázdnit nakonfigurované pro klíč. Tato nastavení je možné nakonfigurovat pomocí PowerShellu nebo rozhraní příkazového řádku.

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

    Důležité

    Použití klíčů spravovaných zákazníkem se službou Azure Event Hubs vyžaduje, aby trezor klíčů měl nakonfigurované dvě požadované vlastnosti. Jedná se o obnovitelné odstranění a nevyprázdnění. Tyto vlastnosti jsou ve výchozím nastavení povoleny při vytváření nového trezoru klíčů na webu Azure Portal. Pokud ale potřebujete tyto vlastnosti povolit v existujícím trezoru klíčů, musíte použít PowerShell nebo Azure CLI.

  2. Pokud chcete při vytváření trezoru zapnout obnovitelné odstranění i 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é obnovitelné odstranění), použijte příkaz az keyvault update .

    az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
    
  4. Vytvořte klíče pomocí následujícího postupu:

    1. Pokud chcete vytvořit nový klíč, vyberte v nabídce Klíče v části Nastavení možnost Generovat/Importovat.

      Select Generate/Import button

    2. Nastavte možnosti pro vygenerování a pojmenujte klíč.

      Create a key

    3. Teď můžete vybrat tento klíč, který chcete přidružit k oboru názvů služby Event Hubs pro šifrování z rozevíracího seznamu.

      Select key from key vault

      Poznámka:

      Pro redundanci můžete přidat až 3 klíče. V případě, že vypršela platnost jednoho z klíčů nebo není přístupná, ostatní klíče se použijí k šifrování.

    4. Vyplňte podrobnosti o klíči a klikněte na Vybrat. Tím umožníte šifrování klíče spravovaného Microsoftem s vaším klíčem (klíč spravovaný zákazníkem).

Spravované identity

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

  • Přiřazené systémem: Spravovanou identitu můžete povolit přímo v oboru názvů služby Event Hubs. Když povolíte spravovanou identitu přiřazenou systémem, vytvoří se identita v Microsoft Entra, která je svázaná s životním cyklem tohoto oboru názvů služby Event Hubs. Když se tedy obor názvů odstraní, Azure automaticky odstraní identitu za vás. Na základě návrhu může tuto identitu použít pouze prostředek Azure (obor názvů) k vyžádání tokenů z ID Microsoft Entra.

  • 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 více oborům názvů služby Event Hubs. 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ázané 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í šablon Azure Resource Manageru.

  1. Vytvořte obor názvů služby 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 obor názvů služby Event Hubs informacemi o trezoru klíčů (klíč/hodnota).

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

V této části se dozvíte, jak vytvořit obor názvů služby Azure Event Hubs s identitou spravované služby pomocí šablony Azure Resource Manageru a PowerShellu.

  1. Vytvořte šablonu Azure Resource Manageru pro vytvoření oboru názvů služby Event Hubs s identitou spravované služby. Pojmenujte 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ázvem CreateEventHubClusterAndNamespaceParams.json.

    Poznámka:

    Nahraďte následující hodnoty:

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

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

Udělení přístupu identitě oboru názvů služby Event Hubs 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 obnovitelného odstranění.

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

    (NEBO)

    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ů služby Event Hubs přístup k hodnotě klíče v trezoru klíčů. Použijte ID oboru názvů služby 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 oboru názvů služby Event Hubs pomocí klíče spravovaného 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 informacemi 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.json.

    Poznámka:

    Nahraďte následující hodnoty:

    • <EventHubsClusterName> – Název clusteru Event Hubs.
    • <EventHubsNamespaceName> – Název vašeho oboru názvů služby Event Hubs
    • <Location> – Umístění vašeho oboru názvů služby Event Hubs
    • <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 šablonu Resource Manageru. Před spuštěním příkazu nahraďte {MyRG} názvem vaší skupiny prostředků.

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

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

  1. Vytvořte identitu přiřazenou uživatelem.
  2. Vytvořte trezor klíčů a udělte přístup k identitě přiřazené uživatelem prostřednictvím zásad přístupu.
  3. Vytvořte obor názvů služby Event Hubs se spravovanou identitou uživatele a informacemi o trezoru klíčů.

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

Postupujte podle pokynů v článku Vytvoření spravované identity přiřazené uživatelem a vytvořte identitu přiřazenou uživatelem. Identitu přiřazenou uživatelem můžete vytvořit také pomocí rozhraní příkazového řádku, PowerShellu, šablony Azure Resource Manageru a rozhraní 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živatelem

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

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

    (NEBO)

    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. Pomocí následujícího příkazu PowerShellu získejte ID instančního objektu pro identitu uživatele. V tomto příkladu je identita přiřazená uživatelem, ud1 která se má použít k šifrování.

    $servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"    
    
  3. Přiřaďte identitě přiřazené uživatelem přístup 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žívaná pro šifrování by měla být stejná pro všechny klíče. V současné době se podporuje pouze jedna identita šifrování.

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

Tato část obsahuje příklad, který ukazuje, jak provádět následující úlohy pomocí šablony Azure Resource Manageru.

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

                "identity": {
                    "type": "UserAssigned",
                    "userAssignedIdentities": {
                        "[parameters('identity').userAssignedIdentity]": {}
                    }
                },
    
  • Povolte šifrování oboru názvů zadáním klíče z trezoru klíčů a identity spravované uživatelem pro přístup k 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.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."
             },
         "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.json.

    {
       "$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ů služby Event Hubs
    <Location> Umístění, kam chcete obor názvů vytvořit.
    <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 identity spravované uživatelem
  3. Spuštěním následujícího příkazu PowerShellu nasaďte šablonu Resource Manageru. Před spuštěním příkazu nahraďte {MyRG} názvem vaší skupiny prostředků.

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

Použití identit přiřazených uživatelem i systémem

Obor názvů může mít současně přiřazené systémové i uživatelem přiřazené identity. V tomto případě type by vlastnost byla SystemAssigned, UserAssigned jak je 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 můžete zvolit identitu přiřazenou systémem nebo identitu přiřazenou uživatelem pro šifrování neaktivních uložených dat.

Pokud v šabloně Resource Manageru nezadáte identity atribut, použije se identita spravovaná systémem. Tady je příklad fragmentu kódu.

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

V následujícím příkladu použijte identitu spravovanou 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]"
            }
         }
      ]
   }
}

Povolení šifrování dat v infrastruktuře (nebo dvojitém šifrování)

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

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

Šifrování infrastruktury můžete povolit aktualizací šablony Azure Resource Manageru pomocí requireInfrastructureEncryption vlastnosti ve výše uvedeném souboru CreateEventHubClusterAndNamespace.json , 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')]"
         }
      ]
   }
}

Obměna, odvolávání a ukládání šifrovacích klíčů do mezipaměti

Obměna šifrovacích klíčů

Klíč v trezoru klíčů můžete otočit pomocí mechanismu obměny služby Azure Key Vault. Data aktivace a vypršení platnosti je také možné nastavit tak, aby se automatizovala obměně klíčů. Služba Event Hubs rozpozná nové verze klíčů a začne je automaticky používat.

Odvolání přístupu ke klíčům

Odvolání přístupu k šifrovacím klíčům nevyprázdní data ze služby Event Hubs. K datům ale není možné získat přístup z oboru názvů služby Event Hubs. Šifrovací klíč můžete odvolat prostřednictvím 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íčů ze zabezpečeného přístupu k trezoru klíčů.

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

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

Instance služby Event Hubs (centrum událostí) každých 5 minut dotazuje své uvedené šifrovací klíče. Ukládá je do mezipaměti a používá je až do dalšího hlasování, což je po 5 minutách. Pokud je k dispozici alespoň jeden klíč, je centrum událostí přístupné. Pokud jsou všechny uvedené klíče při dotazování nedostupné, 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 novým klíčem.
    • Pokud byl klíč odvolán, klíč se ze záznamu odebere.
    • Pokud byly odvolány všechny klíče, stav šifrování oboru názvů je nastaven na Odvolaný. K datům není možné získat přístup z oboru názvů služby Event Hubs.

Důležité informace o použití geografického zotavení po havárii

Důležité

Pokud chcete povolit geografické zotavení po havárii u oboru názvů, který používá šifrování BYOK, musí mít sekundární obor názvů pro párování povolenou spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem.

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

Pokud chcete povolit šifrování klíče spravovaného Microsoftem pomocí klíče spravovaného zákazníkem, nastaví se zásada přístupu pro spravovanou identitu přiřazenou systémem v zadané službě Azure KeyVault. Tím se zajistí řízený přístup ke službě Azure KeyVault z oboru názvů služby Azure Event Hubs.

Z tohoto důvodu:

  • Pokud je pro obor názvů služby Event Hubs již povolené geografické zotavení po havárii a chcete povolit klíč spravovaný zákazníkem, pak
    • Přerušte 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ů pro trezor klíčů.
    • Nastavte šifrování v primárním oboru názvů.
    • Znovu spárujte primární a sekundární obory názvů.
  • Pokud chcete povolit geografickou zotavení po havárii v oboru názvů služby Event Hubs, ve kterém je klíč spravovaný zákazníkem již nastavený, postupujte takto:
    • Nastavte zásady přístupu pro spravovanou identitu sekundárního oboru názvů do trezoru klíčů.
    • Spárujte primární a sekundární obory názvů.

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

Zde je několik doporučení:

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

Podmínky povolení geografického zotavení po havárii a šifrování s identitami přiřazenými uživatelem:

  1. Sekundární obor názvů už musí mít povolené šifrování s identitou přiřazenou uživatelem, pokud se má spárovat s primárním oborem názvů s povoleným šifrováním.
  2. U již spárovaného primárního serveru není možné povolit šifrování, a to ani v případě, že sekundární má přiřazenou identitu přiřazenou uživatelem přidruženou k oboru názvů.

Nastavení diagnostických protokolů

Nastavení diagnostických protokolů pro obory názvů s povolenou funkcí BYOK poskytuje požadované informace o operacích. Tyto protokoly je možné povolit a později streamovat do centra událostí nebo analyzovat prostřednictvím analýzy protokolů nebo streamovat do úložiště, aby bylo možné provádět přizpůsobené analýzy. Další informace o diagnostických protokolech najdete v tématu Přehled diagnostických protokolů Azure. Informace o schématu najdete v tématu Monitorování referenčních informací k datům.

Další kroky

Podívejte se na následující články: