Настройка управляемых клиентом ключей для шифрования неактивных данных концентраторов событий Azure с помощью портал AzureConfigure customer-managed keys for encrypting Azure Event Hubs data at rest by using the Azure portal

Концентраторы событий Azure обеспечивают шифрование неактивных данных с помощью Azure Шифрование службы хранилища (Azure SSE).Azure Event Hubs provides encryption of data at rest with Azure Storage Service Encryption (Azure SSE). Концентраторы событий используют хранилище Azure для хранения данных. по умолчанию все данные, хранящиеся в службе хранилища Azure, шифруются с помощью ключей, управляемых корпорацией Майкрософт.Event Hubs relies on Azure Storage to store the data and by default, all the data that is stored with Azure Storage is encrypted using Microsoft-managed keys.

Краткое описаниеOverview

Концентраторы событий Azure теперь поддерживают возможность шифрования неактивных данных с помощью ключей, управляемых корпорацией Майкрософт, или ключей, управляемых клиентом (создание собственных ключей – BYOK).Azure Event Hubs now supports the option of encrypting data at rest with either Microsoft-managed keys or customer-managed keys (Bring Your Own Key – BYOK). Эта функция позволяет создавать, поворачивать, отключать и отменять доступ к управляемым клиентом ключам, которые используются для шифрования неактивных данных концентраторов событий Azure.This feature enables you to create, rotate, disable, and revoke access to the customer-managed keys that are used for encrypting Azure Event Hubs data at rest.

Включение функции BYOK — это процесс установки в пространстве имен.Enabling the BYOK feature is a one time setup process on your namespace.

Примечание

Возможность BYOK поддерживается выделенными в концентраторами событий кластерами с одним клиентом.The BYOK capability is supported by Event Hubs dedicated single-tenant clusters. Его нельзя включить для стандартных пространств имен концентраторов событий.It can't be enabled for standard Event Hubs namespaces.

Вы можете использовать Azure Key Vault для управления ключами и аудита использования ключа.You can use Azure Key Vault to manage your keys and audit your key usage. Можно либо создать собственные ключи и сохранить их в хранилище ключей, либо использовать Azure Key Vault API для создания ключей.You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. Дополнительные сведения о хранилище ключей Azure см. в статье Что такое хранилище ключей Azure?For more information about Azure Key Vault, see What is Azure Key Vault?

В этой статье показано, как настроить хранилище ключей с ключами, управляемыми клиентом, с помощью портал Azure.This article shows how to configure a key vault with customer-managed keys by using the Azure portal. Сведения о создании хранилища ключей с помощью портал Azure см. в разделе Краткое руководство. Установка и извлечение секрета из Azure Key Vault с помощью портал Azure.To learn how to create a key vault using the Azure portal, see Quickstart: Set and retrieve a secret from Azure Key Vault using the Azure portal.

Важно!

Для использования ключей, управляемых клиентом, с концентраторами событий Azure необходимо, чтобы в хранилище ключей было настроено два обязательных свойства.Using customer-managed keys with Azure Event Hubs requires that the key vault have two required properties configured. Это: обратимое удаление и не очищается.They are: Soft Delete and Do Not Purge. Эти свойства включены по умолчанию при создании нового хранилища ключей в портал Azure.These properties are enabled by default when you create a new key vault in the Azure portal. Однако если необходимо включить эти свойства в существующем хранилище ключей, необходимо использовать PowerShell или Azure CLI.However, if you need to enable these properties on an existing key vault, you must use either PowerShell or Azure CLI.

Включить управляемые клиентом ключиEnable customer-managed keys

Чтобы включить управляемые клиентом ключи в портал Azure, выполните следующие действия.To enable customer-managed keys in the Azure portal, follow these steps:

  1. Перейдите к кластеру Центры событий (цен. категория "Выделенный").Navigate to your Event Hubs Dedicated cluster.

  2. Выберите пространство имен, в котором необходимо включить BYOK.Select the namespace on which you want to enable BYOK.

  3. На странице Параметры пространства имен концентраторов событий выберите Шифрование (Предварительная версия) .On the Settings page of your Event Hubs namespace, select Encryption (preview).

  4. Выберите управляемое клиентом шифрование ключа неактивных , как показано на следующем рисунке.Select the Customer-managed key encryption at rest as shown in the following image.

    Включить управляемый ключ клиента

Настройка хранилища ключей с ключамиSet up a key vault with keys

После включения ключей, управляемых клиентом, необходимо связать ключ, управляемый клиентом, с пространством имен концентраторов событий Azure.After you enable customer-managed keys, you need to associate the customer managed key with your Azure Event Hubs namespace. Концентраторы событий поддерживают только Azure Key Vault.Event Hubs supports only Azure Key Vault. Если включить Шифрование с помощью ключа, управляемого клиентом , в предыдущем разделе, необходимо импортировать ключ в Azure Key Vault.If you enable the Encryption with customer-managed key option in the previous section, you need to have the key imported into Azure Key Vault. Кроме того, ключи должны иметь обратимое удаление и не следует очищать ключ.Also, the keys must have Soft Delete and Do Not Purge configured for the key. Эти параметры можно настроить с помощью PowerShell или CLI.These settings can be configured using PowerShell or CLI.

  1. Чтобы создать новое хранилище ключей, следуйте инструкциям в кратком руководствепо Azure Key Vault.To create a new key vault, follow the Azure Key Vault Quickstart. Дополнительные сведения об импорте существующих ключей см. в разделе о ключах, секретах и сертификатах.For more information about importing existing keys, see About keys, secrets, and certificates.

  2. Чтобы включить защиту с обратимым удалением и очисткой при создании хранилища, используйте команду AZ keyvault Create .To turn on both soft delete and purge protection when creating a vault, use the az keyvault create command.

    az keyvault create --name ContosoVault --resource-group ContosoRG --location westus --enable-soft-delete true --enable-purge-protection true
    
  3. Чтобы добавить защиту от очистки в существующем хранилище (для которого уже включено обратимое удаление), используйте команду AZ keyvault Update .To add purge protection to an existing vault (that already has soft delete enabled), use the az keyvault update command.

    az keyvault update --name ContosoVault --resource-group ContosoRG --enable-purge-protection true
    
  4. Создайте ключи, выполнив следующие действия.Create keys by following these steps:

    1. Чтобы создать новый ключ, выберите Создать или импортировать из меню Ключи в разделе Параметры.To create a new key, select Generate/Import from the Keys menu under Settings.

      Кнопка "создать/импортировать"

    2. Задайте Параметры, чтобы Создать и присвоить имя для ключа.Set Options to Generate and give the key a name.

      Создание ключа

    3. Теперь можно выбрать этот ключ, чтобы связать с пространством имен концентраторов событий для шифрования из раскрывающегося списка.You can now select this key to associate with the Event Hubs namespace for encrypting from the drop-down list.

      Выбор ключа из хранилища ключей

    4. Введите сведения о ключе и нажмите кнопку выбрать.Fill in the details for the key and click Select. Это обеспечивает шифрование неактивных данных в пространстве имен с помощью управляемого клиентом ключа.This will enable the encryption of data at rest on the namespace with a customer managed key.

      Примечание

      В предварительной версии можно выбрать только один ключ.For preview, you can only select a single key.

Смена ключей шифрованияRotate your encryption keys

Вы можете повернуть ключ в хранилище ключей, используя механизм смены хранилища ключей Azure.You can rotate your key in the key vault by using the Azure Key Vaults rotation mechanism. Дополнительные сведения см. в разделе Настройка смены ключей и аудита.For more information, see Set up key rotation and auditing. Для автоматизации смены ключей можно также задать даты активации и истечения срока действия.Activation and expiration dates can also be set to automate key rotation. Служба концентраторов событий обнаружит новые версии ключей и начнет использовать их автоматически.The Event Hubs service will detect new key versions and start using them automatically.

Отозвать доступ к ключамRevoke access to keys

Отмена доступа к ключам шифрования не приводит к очистке данных из концентраторов событий.Revoking access to the encryption keys won't purge the data from Event Hubs. Однако доступ к данным из пространства имен концентраторов событий невозможен.However, the data can't be accessed from the Event Hubs namespace. Вы можете отозвать ключ шифрования с помощью политики доступа или путем удаления ключа.You can revoke the encryption key through access policy or by deleting the key. Узнайте больше о политиках доступа и защите хранилища ключей от безопасного доступа к хранилищу ключей.Learn more about access policies and securing your key vault from Secure access to a key vault.

После отзыва ключа шифрования служба концентраторов событий в зашифрованном пространстве имен станет неработоспособной.Once the encryption key is revoked, the Event Hubs service on the encrypted namespace will become inoperable. Если доступ к ключу включен или восстановлен ключ удаления, служба концентраторов событий выберет ключ, чтобы получить доступ к данным из зашифрованного пространства имен концентраторов событий.If the access to the key is enabled or the delete key is restored, Event Hubs service will pick the key so you can access the data from the encrypted Event Hubs namespace.

Примечание

Если удалить существующий ключ шифрования из хранилища ключей и заменить его новым ключом в пространстве имен концентраторов событий, так как ключ удаления по-прежнему является допустимым (так как он кэшируется) в течение часа, старые данные (которые были зашифрованы с помощью старого ключа) могут по-прежнему быть доступны вместе. с новыми данными, которые теперь доступны только с помощью нового ключа.If you delete an existing encryption key from your key vault and replace it with a new key on the Event Hubs namespace, since the delete key is still valid (as it is cached) for up to an hour, your old data (which was encrypted with the old key) may still be accessible along with the new data, which is now accessible only using the new key. Это поведение реализовано в предварительной версии функции.This behavior is by design in the preview version of the feature.

Настройка журналов диагностикиSet up diagnostic logs

Настройка журналов диагностики для пространств имен с включенным BYOK предоставляет необходимые сведения об операциях, когда пространство имен шифруется с помощью ключей, управляемых клиентом.Setting diagnostic logs for BYOK enabled namespaces gives you the required information about the operations when a namespace is encrypted with customer-managed keys. Эти журналы можно включить и позже передать в концентратор событий или проанализировать с помощью log Analytics или передать в хранилище для выполнения настраиваемой аналитики.These logs can be enabled and later stream to an event hub or analyzed through log analytics or streamed to storage to perform customized analytics. Дополнительные сведения о журналах диагностики см. в статье Обзор журналов диагностики Azure.To learn more about diagnostic logs, see Overview of Azure Diagnostic logs.

Включить журналы пользователейEnable user logs

Выполните следующие действия, чтобы включить журналы для ключей, управляемых клиентом.Follow these steps to enable logs for customer-managed keys.

  1. В портал Azure перейдите к пространству имен с включенным BYOK.In the Azure portal, navigate to the namespace that has BYOK enabled.

  2. Выберите параметры диагностики в разделе мониторинг.Select Diagnostic settings under Monitoring.

    Выбор параметров диагностики

  3. Выберите + Добавить параметр диагностики.Select +Add diagnostic setting.

    Выберите Добавить параметр диагностики.

  4. Укажите имя и выберите, куда следует выполнять потоковую передачу журналов.Provide a name and select where you want to stream the logs to.

  5. Выберите кустомерманажедкэйусерлогс и Сохраните.Select CustomerManagedKeyUserLogs and Save. Это действие активирует журналы для BYOK в пространстве имен.This action enables the logs for BYOK on the namespace.

    Выбор параметра "пользовательские журналы управляемого ключа для клиентов"

Схема журналаLog schema

Все журналы хранятся в формате JSON (нотация объектов JavaScript).All logs are stored in JavaScript Object Notation (JSON) format. Каждая запись содержит строковые поля, в которых используется формат, описанный в следующей таблице.Each entry has string fields that use the format described in the following table.

NameName ОписаниеDescription
TaskNameTaskName Описание задачи, завершившейся сбоем.Description of the task that failed.
ActivityIdActivityId Внутренний идентификатор, используемый для отслеживания.Internal ID that's used for tracking.
categorycategory Определяет классификацию задачи.Defines the classification of the task. Например, если ключ из хранилища ключей отключен, то это будет категория сведений или если ключ не может быть распакован, он может попадать в ошибку.For example, if the key from your key vault is being disabled, then it would be an information category or if a key can't be unwrapped, it could fall under error.
ResourceIdresourceId Идентификатор ресурса Azure Resource ManagerAzure Resource Manager resource ID
keyVaultkeyVault Полное имя хранилища ключей.Full name of key vault.
keykey Имя ключа, используемое для шифрования пространства имен концентраторов событий.The key name that's used to encrypt the Event Hubs namespace.
версияversion Версия используемого ключа.The version of the key being used.
операцияoperation Операция, выполняемая над ключом в хранилище ключей.The operation that's performed on the key in your key vault. Например, отключение/включение ключа, перенос или распаковкаFor example, disable/enable the key, wrap, or unwrap
Кодcode Код, связанный с операцией.The code that's associated with the operation. Пример: код ошибки, 404 означает, что ключ не найден.Example: Error code, 404 means that key wasn't found.
Messagemessage Любое сообщение об ошибке, связанное с операциейAny error message associated with the operation

Ниже приведен пример журнала для ключа, управляемого клиентом:Here's an example of the log for a customer managed key:

{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111-1111-1111-1111-111111111111",
   "category": "error"
   "resourceId": "/SUBSCRIPTIONS/11111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "1111111111111111111111111111111",
   "operation": "wrapKey",
   "code": "404",
   "message": "Key not found: ehbyok0/111111111111111111111111111111",
}



{
   "TaskName": "CustomerManagedKeyUserLog",
   "ActivityId": "11111111111111-1111-1111-1111111111111",
   "category": "info"
   "resourceId": "/SUBSCRIPTIONS/111111111-1111-1111-1111-11111111111/RESOURCEGROUPS/DEFAULT-EVENTHUB-CENTRALUS/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/FBETTATI-OPERA-EVENTHUB",
   "keyVault": "https://mykeyvault.vault-int.azure-int.net",
   "key": "mykey",
   "version": "111111111111111111111111111111",
   "operation": "disable" | "restore",
   "code": "",
   "message": "",
}

Устранение неполадокTroubleshoot

Рекомендуется всегда включать журналы, как показано в предыдущем разделе.As a best practice, always enable logs like shown in the previous section. Он помогает отслеживать действия при включенном шифровании BYOK.It helps in tracking the activities when BYOK encryption is enabled. Он также помогает в области видимости проблем.It also helps in scoping down the problems.

Ниже приведены распространенные коды ошибок для поиска при включенном шифровании BYOK.Following are the common errors codes to look for when BYOK encryption is enabled.

ДействияAction Код ошибкиError code Итоговое состояние данныхResulting state of data
Удаление разрешения на перенос и распаковки из хранилища ключейRemove wrap/unwrap permission from a key vault 403403 НедоступенInaccessible
Удаление членства в роли AAD из субъекта AAD, которому предоставлено разрешение на отправку или переносRemove AAD role membership from an AAD principal that granted the wrap/unwrap permission 403403 НедоступенInaccessible
Удаление ключа шифрования из хранилища ключейDelete an encryption key from the key vault 404404 НедоступенInaccessible
Удаление хранилища ключейDelete the key vault 404404 Недоступно (предполагается, что обратимое удаление является обязательным параметром.)Inaccessible (assumes soft-delete is enabled, which is a required setting.)
Изменение срока действия ключа шифрования так, чтобы его срок действия был уже истекChanging the expiration period on the encryption key such that it's already expired 403403 НедоступенInaccessible
Изменение NBF (не ранее), если ключ шифрования ключа не активенChanging the NBF (not before) such that key encryption key isn't active 403403 НедоступенInaccessible
Выбор параметра Разрешить службы MSFT для брандмауэра хранилища ключей или блокировка сетевого доступа к хранилищу ключей, имеющему ключ шифрования;Selecting the Allow MSFT Services option for the key vault firewall or otherwise blocking network access to the key vault that has the encryption key 403403 НедоступенInaccessible
Перемещение хранилища ключей в другой клиентMoving the key vault to a different tenant 404404 НедоступенInaccessible
Неисправность сети или сбой DNS/AAD/MSIIntermittent network issue or DNS/AAD/MSI outage Доступ с помощью кэшированного ключа шифрования данныхAccessible using cached data encryption key

Важно!

Чтобы включить геоаварийное восстановление в пространстве имен, использующем шифрование BYOK, вторичное пространство имен для связывания должно быть в выделенном кластере и на нем должно быть включено управляемое удостоверение, назначенное системой.To enable Geo-DR on a namespace that's using the BYOK encryption, the secondary namespace for pairing must be in a dedicated cluster and must have a system assigned managed identity enabled on it. Дополнительные сведения см. в статье управляемые удостоверения для ресурсов Azure.To learn more, see Managed Identities for Azure Resources.

Примечание

Если в Azure Key Vault для пространства имен концентраторов событий настроены конечные точки службы виртуальной сети, BYOK не будет поддерживаться.If virtual network (VNet) service endpoints are configured on Azure Key Vault for your Event Hubs namespace, BYOK will not be supported.

Дальнейшие действияNext steps

Ознакомьтесь со следующими статьями:See the following articles: