Ключи, управляемые клиентом для шифрования службы хранилища Microsoft Azure

Для защиты данных в учетной записи хранения можно использовать собственный ключ шифрования. Указанный ключ CMK используется для защиты доступа к ключу, который шифрует данные, и управления этим доступом. Ключи CMK обеспечивают большую гибкость при администрировании операций управления доступом.

Для хранения ключей, управляемых клиентом, необходимо использовать одно из следующих хранилищ ключей Azure.

Вы можете либо создать собственные ключи и хранить их в хранилище ключей или управляемом модуле HSM, либо использовать API Azure Key Vault для их генерации. Учетная запись и хранилище ключей или управляемый модуль HSM могут находиться в разных арендаторах, регионах и подписках Azure Active Directory (Azure AD).

Примечание

Azure Key Vault и управляемый модуль HSM в Azure Key Vault поддерживают одинаковые интерфейсы API и интерфейсы управления для конфигурации.

Сведения об управляемых клиентом ключах

На следующей схеме показано, как служба хранилища Azure использует Azure AD и хранилище ключей или управляемый модуль HSM для выполнения запросов с помощью ключа, управляемого клиентом.

Схема, иллюстрирующая работу управляемых клиентом ключей в службе хранилища Azure

В следующем списке описаны шаги, пронумерованные на схеме.

  1. Администратор Azure Key Vault предоставляет управляемому удостоверению разрешения на доступ к ключам шифрования. Управляемое удостоверение может создаваться и управляться пользователем либо системой. Во втором случае оно будет строго связано с учетной записью хранения.
  2. Администратор службы хранилища Azure настраивает шифрование для учетной записи хранения с помощью ключа, управляемого клиентом.
  3. Служба хранилища Azure использует управляемое удостоверение, которому администратор Azure Key Vault предоставил разрешения на шаге 1, для проверки подлинности доступа к Azure Key Vault через Azure AD.
  4. Служба хранилища Azure заключает ключ шифрования учетной записи в ключ, управляемый клиентом, в Azure Key Vault.
  5. В случае операций чтения и записи Фабрика данных отправляет запросы в Azure Key Vault для извлечения ключа шифрования учетной записи из оболочки с целью выполнения операций шифрования и расшифровки.

Управляемое удостоверение, связанное с учетной записью хранения, должно иметь как минимум следующие разрешения в Azure Key Vault для доступа к ключу, управляемому клиентом.

  • wrapkey
  • unwrapkey
  • get

Дополнительные сведения о разрешениях ключей см. в разделе Типы ключей, алгоритмы и операции.

В службе "Политика Azure" предоставляется встроенная политика, которая требует, чтобы учетные записи хранения использовали ключи, управляемые клиентом, для рабочих нагрузок Хранилища BLOB-объектов и Файлов Azure. Дополнительные сведения см. в разделе Хранилище статьи Встроенные определения политик в Политике Azure.

Ключи, управляемые клиентом, для очередей и таблиц

Хранимые данные в хранилище очередей и таблиц не защищаются автоматически с помощью ключа, управляемого клиентом, если для учетной записи хранения включены ключи, управляемые клиентом. При желании вы можете настроить включение этих служб в данную защиту во время создания учетной записи хранения.

Дополнительные сведения о создании учетной записи хранения, поддерживающей ключи, управляемые клиентом, для очередей и таблиц, см. в разделе Создание учетной записи, поддерживающей управляемые клиентом ключи для таблиц и очередей.

Данные в хранилище BLOB-объектов и Файлах Azure всегда защищаются ключами, управляемыми клиентом, если эти ключи настроены для учетной записи хранения.

Включение ключей, управляемых клиентом, для учетной записи хранения

При настройке ключа, управляемого клиентом, служба хранилища Azure заключает корневой ключ шифрования данных для учетной записи с ключом, управляемым клиентом, в связанное хранилище ключей или управляемый модуль HSM. Включение ключей, управляемых клиентом, не влияет на производительность и вступает в силу немедленно.

Ключи, управляемые клиентом, можно настроить с помощью хранилища ключей и учетной записи хранения в одном или разных арендаторах Azure AD. Сведения о настройке шифрования Службы хранилища Azure с использованием ключей, управляемых клиентом, когда хранилище ключей и учетная запись хранения находятся в одном и том же арендаторе, см. в одной из следующих статей:

Сведения о настройке шифрования Службы хранилища Azure с использованием ключей, управляемых клиентом, когда хранилище ключей и учетная запись хранения находятся в разных арендаторах Azure AD, см. в одной из следующих статей:

Если вы включаете или отключаете ключи, управляемые клиентом, либо изменяете ключ или его версию, защита корневого ключа шифрования изменяется, но данные в учетной записи хранения Azure не требуют повторного шифрования.

Вы можете включить ключи, управляемые клиентом, как для новых, так и для существующих учетных записей хранения. При включении ключей, управляемых клиентом, необходимо указать управляемое удостоверение, которое будет использоваться для авторизации доступа к хранилищу ключей, содержащему ключ. Управляемое удостоверение может назначаться пользователем или системой.

  • При настройке ключей, управляемых клиентом, во время создания учетной записи хранения необходимо использовать управляемое удостоверение, назначаемое пользователем.
  • При настройке ключей, управляемых клиентом, для существующей учетной записи хранения вы можете использовать управляемое удостоверение, назначаемое пользователем или системой.

Дополнительные сведения о различиях между управляемым удостоверением, назначаемым системой, и управляемым удостоверением, назначаемым пользователем см. в этой статье.

Вы можете в любое время переключаться между ключами, управляемыми клиентом, и ключами, управляемыми Майкрософт. Дополнительные сведения о ключах, управляемых Майкрософт, см. в разделе Сведения об управлении ключами шифрования.

Важно!

Ключи, управляемые клиентом, используют управляемые удостоверения для ресурсов Azure — функцию Azure Active Directory. Сейчас управляемые удостоверения не поддерживаются в сценариях с разными арендаторами. При настройке ключей, управляемых клиентом, на портале Azure управляемое удостоверение назначается вашей учетной записи хранения автоматически. Если впоследствии вы переместите подписку, группу ресурсов или учетную запись хранения из одного арендатора Azure AD в другой, управляемое удостоверение, связанное с учетной записью хранения, не будет передано в новый арендатор, поэтому ключи, управляемые клиентом, могут больше не работать. Дополнительные сведения см. в статье Передача подписки между каталогами Azure AD в разделе Часто задаваемые вопросы об управляемых удостоверениях для ресурсов Azure, а также известные проблемы в их работе.

В хранилище ключей, в котором хранится ключ, должна быть включена защита от обратимого удаления и очистки. Шифрование службы хранилища Azure поддерживает ключи RSA и RSA-HSM размером 2048, 3072 и 4096. Подробнее см. в статье Сведения о ключах.

Использование хранилища ключей или управляемого модуля HSM связано с затратами. Дополнительные сведения см. в разделе Цены на Key Vault.

Обновление версии ключа

При настройке шифрования с помощью ключей, управляемых клиентом, существует два варианта обновления версии ключа.

  • Автоматическое обновление версии ключа. Чтобы ключ, управляемый клиентом, обновлялся автоматически при выходе новой версии, не указывайте версию ключа при включении шифрования с помощью ключа, управляемого клиентом, для учетной записи хранения. Если версия ключа не указана, служба хранилища Azure ежедневно проверяет хранилище ключей или управляемый модуль HSM на наличие новой версии ключа, управляемого клиентом. Если доступна новая версия ключа, служба хранилища Azure автоматически использует последнюю версию ключа.

    Служба хранилища Azure проверяет хранилище ключей на наличие новой версии ключа только один раз в день. После смены ключа подождите 24 часа, прежде чем отключить старую версию.

  • Обновление версии ключа вручную. Чтобы использовать определенную версию ключа для шифрования службы хранилища Azure, укажите эту версию при включении шифрования с помощью ключа, управляемого клиентом, для учетной записи хранения. Если вы указываете версию ключа, служба хранилища Azure использует эту версию для шифрования до тех пор, пока вы не обновите версию ключа вручную.

    При явном указании версии ключа необходимо вручную обновить учетную запись хранения, чтобы она использовала универсальный код ресурса (URI) новой версии ключа при создании новой версии. Сведения о том, как обновить учетную запись хранения для использования новой версии ключа, см. в статье Настройка шифрования с помощью управляемых клиентом ключей, хранящихся в Azure Key Vault или Настройка шифрования с помощью ключей, управляемых клиентом, хранящихся в управляемом модуле HSM в Azure Key Vault.

При обновлении версии ключа защита корневого ключа шифрования изменяется, но данные в учетной записи хранения Azure не шифруются повторно. Какие-либо дополнительные действия со стороны пользователя не требуются.

Примечание

Чтобы сменить ключ, создайте новую версию ключа в хранилище ключей или управляемом модуле HSM согласно вашим политикам соответствия требованиям. Вы можете вручную сменить ключ или создать функцию, которая будет менять ключ по расписанию.

Отзыв доступа к управляемым клиентом ключам

Вы можете в любое время отменить доступ учетной записи хранения к ключу, управляемому клиентом. После отмены доступа к ключам, управляемым клиентом, или после отключения или удаления ключа клиенты не смогут вызывать операции, выполняющие чтение или запись в BLOB-объекте или его метаданных. Попытки вызова любой из следующих операций будут завершаться неудачно с кодом ошибки 403 (запрещено) для всех пользователей.

Чтобы снова вызывать эти операции, восстановите доступ к ключу, управляемому клиентом.

Все операции с данными, не перечисленные в этом разделе, могут продолжаться после отмены ключей, управляемых клиентом, или отключения или удаления ключа.

Чтобы отменить доступ к ключам, управляемым клиентом, используйте PowerShell или Azure CLI.

Ключи, управляемые клиентом, для управляемых дисков Azure

Ключи, управляемые клиентом, также можно использовать для управления шифрованием управляемых дисков Azure. Поведение ключей, управляемых клиентом, с управляемыми дисками отличается от их поведения с ресурсами службы хранилища Azure. Дополнительные сведения см. в разделе Шифрование управляемых дисков Azure на стороне сервера для Windows или Шифрование управляемых дисков Azure на стороне сервера для Linux.

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