Ügyfél által felügyelt kulcsok konfigurálása az Azure Event Hubs-adatok inaktív állapotban történő titkosításához

Az Azure Event Hubs az inaktív adatok titkosítását az Azure Storage Service Encryption (Azure S Standard kiadás) használatával biztosítja. Az Event Hubs szolgáltatás az Azure Storage használatával tárolja az adatokat. Az Azure Storage-ban tárolt összes adat a Microsoft által felügyelt kulcsokkal van titkosítva. Ha saját kulcsot (más néven saját kulcsot (BYOK) vagy ügyfél által felügyelt kulcsot használ, az adatok továbbra is titkosítva lesznek a Microsoft által felügyelt kulccsal, de emellett a Microsoft által felügyelt kulcs is titkosítva lesz az ügyfél által felügyelt kulccsal. Ez a funkció lehetővé teszi a Microsoft által felügyelt kulcsok titkosításához használt, ügyfél által felügyelt kulcsokhoz való hozzáférést, elforgatást, letiltást és visszavonást. A BYOK funkció engedélyezése egyszeri beállítási folyamat a névtéren.

Fontos

  • A BYOK képességet az Event Hubs prémium és dedikált szintjei támogatják.
  • A titkosítás csak új vagy üres névterek esetén engedélyezhető. Ha a névtér eseményközpontokat tartalmaz, a titkosítási művelet sikertelen lesz.

Az Azure Key Vault használatával kezelheti a kulcsokat, és naplózhatja a kulcshasználatot. Létrehozhat saját kulcsokat, és tárolhatja őket egy kulcstartóban, vagy az Azure Key Vault API-kkal kulcsokat hozhat létre. További információ az Azure Key Vaultról: Mi az Az Azure Key Vault?

Ez a cikk bemutatja, hogyan konfigurálhat egy kulcstartót ügyfél által felügyelt kulcsokkal az Azure Portal használatával. A kulcstartók Azure Portallal történő létrehozásáról a rövid útmutatóban olvashat : Azure Key Vault létrehozása az Azure Portal használatával.

Ügyfél által felügyelt kulcsok engedélyezése (Azure Portal)

Ha engedélyezni szeretné az ügyfél által felügyelt kulcsokat az Azure Portalon, kövesse az alábbi lépéseket. Ha a dedikált szintet használja, először keresse meg a dedikált Event Hubs-fürtöt.

  1. Válassza ki azt a névteret, amelyen engedélyezni szeretné a BYOK-ot.

  2. Az Event Hubs-névtér Gépház lapján válassza a Titkosítás lehetőséget.

  3. Válassza ki az ügyfél által kezelt kulcstitkosítást inaktív állapotban az alábbi képen látható módon.

    Enable customer managed key

Kulcstartó beállítása kulcsokkal

Az ügyfél által felügyelt kulcsok engedélyezése után az ügyfél által felügyelt kulcsot az Azure Event Hubs-névtérhez kell társítania. Az Event Hubs csak az Azure Key Vaultot támogatja. Ha az előző szakaszban engedélyezi a titkosítást ügyfél által felügyelt kulccsal , importálnia kell a kulcsot az Azure Key Vaultba. Emellett a kulcsoknak helyreállítható törléssel kell rendelkezniük, és a kulcshoz konfigurálva kell lenniük a Törlés tiltása beállításnak. Ezek a beállítások a PowerShell vagy a parancssori felület használatával konfigurálhatók.

  1. Új kulcstartó létrehozásához kövesse az Azure Key Vault rövid útmutatót. A meglévő kulcsok importálásáról további információt a Kulcsok, titkos kódok és tanúsítványok című témakörben talál.

    Fontos

    Az azure Event Hubs ügyfél által felügyelt kulcsainak használatához a kulcstartónak két szükséges tulajdonsággal kell rendelkeznie. Ezek a következők: Helyreállítható törlés és törlés. Ezek a tulajdonságok alapértelmezés szerint engedélyezve vannak, amikor új kulcstartót hoz létre az Azure Portalon. Ha azonban engedélyeznie kell ezeket a tulajdonságokat egy meglévő kulcstartón, a PowerShellt vagy az Azure CLI-t kell használnia.

  2. A tároló létrehozásakor a helyreállítható törlés és a törlés elleni védelem bekapcsolásához használja az az keyvault create parancsot.

    az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
    
  3. Ha törölni szeretne egy meglévő tárolót (amely már engedélyezve van a helyreállítható törléshez), használja az az keyvault update parancsot.

    az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
    
  4. Kulcsok létrehozása az alábbi lépések végrehajtásával:

    1. Új kulcs létrehozásához válassza a Létrehozás/Importálás lehetőséget a Kulcsok menüben Gépház.

      Select Generate/Import button

    2. Adja meg a beállításokat a létrehozáshoz, és adjon nevet a kulcsnak.

      Create a key

    3. Ezzel a kulccsal társíthatja az Event Hubs névterét a legördülő listából való titkosításhoz.

      Select key from key vault

      Megjegyzés:

      Redundancia esetén legfeljebb 3 kulcsot adhat hozzá. Abban az esetben, ha az egyik kulcs lejárt vagy nem érhető el, a rendszer a többi kulcsot fogja használni a titkosításhoz.

    4. Adja meg a kulcs részleteit, és kattintson a Kiválasztás gombra. Ez lehetővé teszi a Microsoft által felügyelt kulcs titkosítását a kulccsal (ügyfél által felügyelt kulccsal).

Managed identities

Az Event Hubs-névtérhez kétféle felügyelt identitás rendelhető.

  • Rendszer által hozzárendelt: A felügyelt identitásokat közvetlenül egy Event Hubs-névtéren engedélyezheti. Ha engedélyezi a rendszer által hozzárendelt felügyelt identitást, egy olyan identitás jön létre a Microsoft Entrában, amely az adott Event Hubs-névtér életciklusához van kötve. Így a névtér törlésekor az Azure automatikusan törli az Identitást. Terv szerint csak az Azure-erőforrás (névtér) használhatja ezt az identitást a Microsoft Entra ID-jogkivonatok lekéréséhez.

  • Felhasználó által hozzárendelt: Létrehozhat egy felügyelt identitást önálló Azure-erőforrásként is, amelyet felhasználó által hozzárendelt identitásnak nevezünk. Létrehozhat egy felhasználó által hozzárendelt felügyelt identitást, és hozzárendelheti egy vagy több Event Hubs-névtérhez. Felhasználó által hozzárendelt felügyelt identitások esetén az identitás kezelése külön történik az azt használó erőforrásoktól. Ezek nincsenek a névtér életciklusához kötve. Ha már nincs rá szüksége, explicit módon törölheti a felhasználó által hozzárendelt identitást.

    További információ: Mik az Azure-erőforrások felügyelt identitásai?.

Titkosítás rendszer által hozzárendelt identitásokkal (sablon)

Ez a szakasz bemutatja, hogyan végezheti el a következő feladatokat Az Azure Resource Manager-sablonok használatával.

  1. Event Hubs-névtér létrehozása felügyeltszolgáltatás-identitással.
  2. Hozzon létre egy kulcstartót, és adjon hozzáférést a szolgáltatás identitásának a kulcstartóhoz.
  3. Frissítse az Event Hubs-névteret a kulcstartó adataival (kulcs/érték).

Event Hubs-fürt és névtér létrehozása felügyeltszolgáltatás-identitással

Ez a szakasz bemutatja, hogyan hozhat létre felügyeltszolgáltatás-identitással rendelkező Azure Event Hubs-névteret egy Azure Resource Manager-sablon és a PowerShell használatával.

  1. Hozzon létre egy Azure Resource Manager-sablont egy event Hubs-névtér felügyeltszolgáltatás-identitással való létrehozásához. Nevezze el a fájlt: 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. Hozzon létre egy sablonparaméterfájlt a következő néven: CreateEventHubClusterAndNamespaceParams.json.

    Megjegyzés:

    Cserélje le a következő értékeket:

    • <EventHubsClusterName> - Az Event Hubs-fürt neve
    • <EventHubsNamespaceName> - Az Event Hubs-névtér neve
    • <Location> - Az Event Hubs-névtér helye
    {
       "$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. Futtassa a következő PowerShell-parancsot a sablon üzembe helyezéséhez egy Event Hubs-névtér létrehozásához. Ezután kérje le az Event Hubs-névtér azonosítóját a későbbi használathoz. A parancs futtatása előtt cserélje le {MyRG} az erőforráscsoport nevét.

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

Event Hubs-névtér-identitás hozzáférésének biztosítása a Key Vaulthoz

  1. Futtassa a következő parancsot egy kulcstartó létrehozásához, amely engedélyezve van a törlés elleni védelemmel és a helyreállítható törléssel .

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

    (VAGY)

    Futtassa a következő parancsot egy meglévő kulcstartó frissítéséhez. A parancs futtatása előtt adja meg az erőforráscsoport- és kulcstartónevek értékeit.

    ($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. Állítsa be a kulcstartó hozzáférési szabályzatát, hogy az Event Hubs-névtér felügyelt identitása hozzáférhessen a kulcs értékéhez a kulcstartóban. Használja az előző szakasz Event Hubs-névterének azonosítóját.

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

Adatok titkosítása az Event Hubs-névtérben ügyfél által felügyelt kulccsal a Key Vaultból

Eddig a következő lépéseket hajtotta végre:

  1. Prémium szintű névteret hozott létre felügyelt identitással.
  2. Hozzon létre egy kulcstartót, és adjon hozzáférést a felügyelt identitásnak a kulcstartóhoz.

Ebben a lépésben frissíti az Event Hubs-névteret a kulcstartó adataival.

  1. Hozzon létre egy CreateEventHubClusterAndNamespace.json nevű JSON-fájlt a következő tartalommal:

    {
       "$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. Sablonparaméterfájl létrehozása: UpdateEventHubClusterAndNamespaceParams.json.

    Megjegyzés:

    Cserélje le a következő értékeket:

    • <EventHubsClusterName> - Az Event Hubs-fürt neve.
    • <EventHubsNamespaceName> - Az Event Hubs-névtér neve
    • <Location> - Az Event Hubs-névtér helye
    • <KeyVaultName> - A kulcstartó neve
    • <KeyName> - A kulcs neve a kulcstartóban
    {
       "$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. Futtassa a következő PowerShell-parancsot a Resource Manager-sablon üzembe helyezéséhez. A parancs futtatása előtt cserélje le {MyRG} az erőforráscsoport nevét.

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

Titkosítás felhasználó által hozzárendelt identitásokkal (sablon)

  1. Hozzon létre egy felhasználó által hozzárendelt identitást.
  2. Hozzon létre egy kulcstartót, és adjon hozzáférést a felhasználó által hozzárendelt identitáshoz hozzáférési szabályzatokkal.
  3. Hozzon létre egy Event Hubs-névteret a felügyelt felhasználói identitással és a kulcstartó adataival.

Felhasználó által hozzárendelt identitás létrehozása

Kövesse a Felhasználó által hozzárendelt felügyelt identitás létrehozása cikk utasításait a felhasználó által hozzárendelt identitás létrehozásához. Felhasználó által hozzárendelt identitást cli, PowerShell, Azure Resource Manager-sablon és REST használatával is létrehozhat.

Megjegyzés:

Egy névtérhez legfeljebb 4 felhasználói identitás rendelhető hozzá. Ezek a társítások akkor törlődnek, ha a névtér törlődik, vagy amikor átadja a identity -> type sablont None.

Kulcstartó létrehozása és hozzáférés biztosítása a felhasználó által hozzárendelt identitáshoz

  1. Futtassa a következő parancsot egy kulcstartó létrehozásához, amely engedélyezve van a törlés elleni védelemmel és a helyreállítható törléssel.

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

    (VAGY)

    Futtassa a következő parancsot egy meglévő kulcstartó frissítéséhez. A parancs futtatása előtt adja meg az erőforráscsoport- és kulcstartónevek értékeit.

    ($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. A következő PowerShell-paranccsal kérje le a felhasználói identitás szolgáltatásnév-azonosítóját. A példában ud1 a titkosításhoz használandó felhasználó által hozzárendelt identitás.

    $servicePrincipal=Get-AzADServicePrincipal -SearchString "ud1"    
    
  3. Hozzáférési szabályzat hozzárendelésével adjon hozzáférést a felhasználó által hozzárendelt identitásnak a kulcstartóhoz.

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

    Megjegyzés:

    Legfeljebb 3 kulcsot adhat hozzá, de a titkosításhoz használt felhasználói identitásnak minden kulcs esetében azonosnak kell lennie. Jelenleg csak az egyetlen titkosítási identitás támogatott.

Event Hubs-névtér létrehozása felhasználói identitással és kulcstartóadatokkal

Ez a szakasz egy példát mutat be, amely bemutatja, hogyan végezheti el a következő feladatokat egy Azure Resource Manager-sablonnal.

  • Felhasználó által felügyelt identitás hozzárendelése egy Event Hubs-névtérhez.

                "identity": {
                    "type": "UserAssigned",
                    "userAssignedIdentities": {
                        "[parameters('identity').userAssignedIdentity]": {}
                    }
                },
    
  • Engedélyezze a titkosítást a névtéren a kulcstartó kulcsának és a felhasználó által felügyelt identitásnak a kulcs eléréséhez való megadásával.

                    "encryption":{
                       "keySource":"Microsoft.KeyVault",
                       "keyVaultProperties":[
                            {
                                "keyName": "[parameters('keyName')]",
                                "keyVaultUri": "[parameters('keyVaultUri')]",
                                "identity": {
                                    "userAssignedIdentity": "[parameters('identity').userAssignedIdentity]"
                                }
                            }
                       ]
                    }
    
  1. Hozzon létre egy CreateEventHubsNamespaceWithUserIdentityAndEncryption.json nevű JSON-fájlt a következő tartalommal:

    {
       "$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. Sablonparaméterfájl létrehozása: 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>"
            }
         }
       }
    }
    

    A paraméterfájlban cserélje le a helyőrzőket a megfelelő értékekre.

    Helyőrző Érték
    <EventHubsNamespaceName> Az Event Hubs-névtér neve.
    <Location> Hely, ahol létre szeretné hozni a névteret.
    <KeyVaultName> A kulcstartó neve.
    <KeyName> A kulcs neve a kulcstartóban.
    <AZURE SUBSCRIPTION ID> Az Azure-előfizetés azonosítója.
    <RESOURCE GROUP NAME> A felhasználó által felügyelt identitás erőforráscsoportja.
    <USER MANAGED IDENTITY NAME> A felhasználó által felügyelt identitás neve.
  3. Futtassa a következő PowerShell-parancsot a Resource Manager-sablon üzembe helyezéséhez. A parancs futtatása előtt cserélje le {MyRG} az erőforráscsoport nevét.

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

Felhasználó által hozzárendelt és rendszer által hozzárendelt identitások használata

Egy névtér egyszerre rendelkezhet rendszer által hozzárendelt és felhasználó által hozzárendelt identitásokkal is. Ebben az esetben a type tulajdonság a következő példában látható módon jelenik SystemAssignedUserAssigned meg.

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

Ebben a forgatókönyvben kiválaszthatja a rendszer által hozzárendelt identitást vagy a felhasználó által hozzárendelt identitást az inaktív adatok titkosításához.

A Resource Manager-sablonban, ha nem ad meg attribútumot identity , a rendszer által felügyelt identitás lesz használva. Íme egy példarészlet.

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

A titkosításhoz használja a felhasználó által felügyelt identitást az alábbi példában. Figyelje meg, hogy az identity attribútum a felhasználó által felügyelt identitásra van állítva.

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

Adatinfrastruktúra (vagy kettős) titkosításának engedélyezése

Ha magasabb szintű biztonságot igényel az adatok biztonságossá tételéhez, engedélyezheti az infrastruktúraszintű titkosítást, amelyet kettős titkosításnak is neveznek.

Ha az infrastruktúra-titkosítás engedélyezve van, az Event Hubs névtérfiókban lévő adatok kétszer, egyszer a szolgáltatás szintjén, egyszer pedig az infrastruktúra szintjén titkosítva lesznek két különböző titkosítási algoritmus és két különböző kulcs használatával. Ezért az Event Hubs-adatok infrastruktúra-titkosítása védelmet nyújt olyan forgatókönyvekkel szemben, amikor az egyik titkosítási algoritmus vagy kulcs megsérülhet.

Az infrastruktúra-titkosítás engedélyezéséhez frissítse az Azure Resource Manager-sablont a fenti CreateEventHubClusterAndNamespace.json tulajdonsággalrequireInfrastructureEncryption, ahogy az alább látható.

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

Titkosítási kulcsok elforgatása, visszavonása és gyorsítótárazása

A titkosítási kulcsok elforgatása

Az Azure Key Vaults rotációs mechanizmusával elforgathatja a kulcsot a kulcstartóban. Az aktiválási és lejárati dátumok a kulcsváltás automatizálására is beállíthatók. Az Event Hubs szolgáltatás észleli az új kulcsverziókat, és automatikusan elkezdi használni őket.

Kulcsokhoz való hozzáférés visszavonása

A titkosítási kulcsokhoz való hozzáférés visszavonása nem törli az adatokat az Event Hubsból. Az adatok azonban nem érhetők el az Event Hubs névteréből. A titkosítási kulcsot hozzáférési szabályzattal vagy a kulcs törlésével vonhatja vissza. További információ a hozzáférési szabályzatokról és a kulcstartó biztonságos hozzáférésről a kulcstartóhoz való biztonságos hozzáférésről.

A titkosítási kulcs visszavonása után a titkosított névtér Event Hubs szolgáltatása működésképtelenné válik. Ha a kulcshoz való hozzáférés engedélyezve van, vagy visszaállítja a törlési kulcsot, az Event Hubs szolgáltatás kiválasztja a kulcsot, hogy hozzáférhessen az adatokhoz a titkosított Event Hubs-névtérből.

Kulcsok gyorsítótárazása

Az Event Hubs-példány (event hub) 5 percenként lekérdezi a felsorolt titkosítási kulcsokat. Gyorsítótárazza és használja őket a következő szavazásig, amely 5 perc után történik. Ha legalább egy kulcs elérhető, az eseményközpont elérhető. Ha a lekérdezések során az összes felsorolt kulcs elérhetetlen, az összes eseményközpont elérhetetlenné válik.

További részletek:

  • Az Event Hubs szolgáltatás 5 percenként lekérdezi a névtér rekordjában felsorolt összes ügyfél által kezelt kulcsot:
    • Ha egy kulcs elforgatva lett, a rekord frissül az új kulccsal.
    • Ha egy kulcsot visszavontak, a rendszer eltávolítja a kulcsot a rekordból.
    • Ha az összes kulcsot visszavonták, a névtér titkosítási állapota Visszavonva értékre van állítva. Az adatok nem érhetők el az Event Hubs névteréből."

A georeduktúra-helyreállítás használatakor megfontolandó szempontok

Fontos

A BYOK-titkosítást használó névtér Geo-DR engedélyezéséhez a párosításhoz használt másodlagos névtéren engedélyezni kell a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást.

Geo-vészhelyreállítás – titkosítás rendszer által hozzárendelt identitásokkal

A Microsoft által felügyelt kulcs ügyfél által felügyelt kulccsal történő titkosításának engedélyezéséhez hozzáférési szabályzatot kell beállítani a rendszer által hozzárendelt felügyelt identitáshoz a megadott Azure KeyVaulton. Ez biztosítja az Azure KeyVaulthoz való szabályozott hozzáférést az Azure Event Hubs-névtérből.

Emiatt:

Geo-vészhelyreállítás – titkosítás felhasználó által hozzárendelt identitásokkal

Az alábbiakban néhány javaslatot olvashat:

  1. Felügyelt identitás létrehozása és Key Vault-engedélyek hozzárendelése a felügyelt identitáshoz.
  2. Adja hozzá az identitást felhasználóhoz rendelt identitásként, és engedélyezze a titkosítást mindkét névtér identitásával.
  3. Névterek párosítása

A Geo-DR és a titkosítás felhasználó által hozzárendelt identitásokkal való engedélyezésének feltételei:

  1. A másodlagos névtérnek már engedélyeznie kell a titkosítást egy felhasználó által hozzárendelt identitással, ha olyan elsődleges névtérrel kell párosítani, amelyen engedélyezve van a titkosítás.
  2. A titkosítást nem lehet engedélyezni egy már párosított elsődlegesen, még akkor sem, ha a másodlagos felhasználó által hozzárendelt identitás van társítva a névtérhez.

Diagnosztikai naplók beállítása

A BYOK-kompatibilis névterek diagnosztikai naplóinak beállítása megadja a műveletekhez szükséges információkat. Ezek a naplók engedélyezhetők és később streamelhetők egy eseményközpontba, vagy naplóelemzéssel elemezhetők, vagy a tárolóba streamelhetők a testreszabott elemzések végrehajtásához. A diagnosztikai naplókkal kapcsolatos további információkért tekintse meg az Azure diagnosztikai naplóinak áttekintését. A sémát az adathivatkozás figyelése című témakörben talál.

Következő lépések

Tekintse meg az alábbi cikkeket: