Поделиться через


Шифрование данных в Azure DocumentDB

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

Шифрование неактивных данных с помощью ключа, управляемого службой (SMK) или управляемого клиентом ключа (CMK)

Azure DocumentDB поддерживает два режима шифрования неактивных данных: ключи, управляемые службой (SMK) и управляемые клиентом ключи (CMK). Шифрование данных с помощью ключей, управляемых службой, — это режим по умолчанию для Azure DocumentDB. В этом режиме служба автоматически управляет ключами шифрования, используемыми для шифрования данных. Вам не нужно предпринимать никаких действий для включения или управления шифрованием в этом режиме.

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

Режим конфигурации можно выбрать только во время создания кластера. Его нельзя изменить с одного режима на другой в течение всего времени существования кластера.

Чтобы обеспечить шифрование данных, Azure DocumentDB использует серверное шифрование службы хранилища Azure для неактивных данных. При использовании CMK вы несете ответственность за предоставление ключей для шифрования и расшифровки данных в службах хранилища Azure. Эти ключи должны храниться в Azure Key Vault.

Преимущества, предоставляемые каждым режимом (SMK или CMK)

Шифрование данных с помощью ключей, управляемых службой для Azure DocumentDB, обеспечивает следующие преимущества:

  • Служба автоматически и полностью управляет доступом к данным.
  • Служба автоматически и полностью управляет жизненным циклом ключа, включая смену ключа.
  • Вам не нужно беспокоиться об управлении ключами шифрования данных.
  • Шифрование данных на основе ключей, управляемых службой, не влияет на производительность рабочих нагрузок.
  • Это упрощает управление ключами шифрования (включая их обычную смену), а также управление удостоверениями, используемыми для доступа к этим ключам.

Шифрование данных с помощью ключей, управляемых клиентом для Azure DocumentDB, обеспечивает следующие преимущества:

  • Вы полностью управляете доступом к данным. Вы можете отозвать ключ, чтобы сделать базу данных недоступной.
  • Вы полностью управляете жизненным циклом ключа, чтобы соответствовать корпоративным политикам.
  • Вы можете централизованно управлять и упорядочивать все ключи шифрования в собственных экземплярах Azure Key Vault.
  • Шифрование данных на основе ключей, управляемых клиентом, не влияет на производительность рабочих нагрузок.
  • Вы можете реализовать разделение обязанностей между сотрудниками службы безопасности, администраторами баз данных и системными администраторами.

Требования CMK

С помощью ключа шифрования, управляемого клиентом , вы несете всю ответственность за поддержание правильно настроенных компонентов, необходимых для работы CMK. Поэтому необходимо развернуть собственное Хранилище ключей Azure и предоставить управляемое удостоверение, назначаемое пользователем. Необходимо создать или импортировать собственный ключ. Необходимо предоставить необходимые разрешения в Key Vault, чтобы Azure DocumentDB могли выполнять необходимые действия по ключу. Необходимо настроить все сетевые аспекты Azure Key Vault, в котором хранится ключ, чтобы экземпляр Azure DocumentDB смог получить доступ к ключу. Аудит доступа к ключу также является вашей ответственностью.

При настройке ключей, управляемых клиентом для кластера Azure DocumentDB для MonogDB, служба хранилища Azure упаковывает корневой ключ шифрования данных (DEK) для учетной записи с ключом, управляемым клиентом, в связанном хранилище ключей. Защита корневого ключа шифрования изменяется, но данные в учетной записи хранения Azure всегда шифруются. С вашей стороны не требуется дополнительных действий, чтобы гарантировать, что ваши данные остаются зашифрованными. Защита от ключей, управляемых клиентом, вступает в силу немедленно.

Azure Key Vault — это облачная система управления ключами. Он высокодоступен и предоставляет масштабируемое, безопасное хранилище для криптографических ключей RSA. Он не разрешает прямой доступ к хранимому ключу, но предоставляет службы шифрования и расшифровки для авторизованных организаций. Key Vault может создавать ключ, импортировать его или получать его из переданного с локального HSM-устройства.

Ниже приведен список требований и рекомендаций по настройке шифрования данных для Azure DocumentDB:

Хранилище ключей

Хранилище ключей, используемое для установки CMK, должно соответствовать следующим требованиям:

  • Хранилище ключей и Azure DocumentDB должны принадлежать одному клиенту Microsoft Entra.
  • Рекомендация: Установите для параметра "Количество дней хранения удаленных хранилищ" в Key Vault значение 90 дней. Этот параметр конфигурации можно определить только во время создания хранилища ключей. После создания экземпляра невозможно изменить этот параметр.
  • Включите функциюsoft-delete в хранилище ключей, чтобы помочь вам защититься от потери данных, если ключ или экземпляр хранилища ключей случайно удален. Хранилище ключей сохраняет обратимо удаленные ресурсы в течение 90 дней, если пользователь не восстанавливает или не очищает их в то же время. Действия восстановления и очистки имеют собственные разрешения, связанные с хранилищем ключей, ролью управления доступом на основе ролей (RBAC) или разрешением политики доступа. Функция мягкого удаления включена по умолчанию. Если у вас есть хранилище ключей, развернутое давно, возможно, функция обратимого удаления в нем всё ещё отключена. В этом случае его можно включить.
  • Включите защиту очистки для принудительного применения обязательного периода хранения для удаленных хранилищ и объектов хранилища.
  • Настройте сетевой доступ, чтобы разрешить кластеру доступ к ключу шифрования в хранилище ключей. Используйте один из следующих параметров конфигурации:
    • Разрешить общедоступный доступ из всех сетей позволяет всем узлам в Интернете получать доступ к хранилищу ключей.
    • Выберите "Отключить общедоступный доступ " и разрешить доверенным службам Майкрософт обойти этот брандмауэр, чтобы отключить весь общедоступный доступ, но разрешить кластеру доступ к хранилищу ключей.

Ключ шифрования

Ключ шифрования, выбранный для конфигурации CMK, должен соответствовать следующим требованиям:

  • Ключ, используемый для шифрования ключа шифрования данных, может быть асимметричным, RSA или RSA-HSM. Поддерживаются ключевые размеры 2 048, 3 072 и 4096.
    • Рекомендация. Используйте 4096-разрядный ключ для повышения безопасности.
  • Дата и время активации ключа (если задано) должно находиться в прошлом. Дата и время окончания срока действия (если заданы) должны быть установлены на будущее время.
  • Ключ должен находиться в состоянии "Включено ".
  • Если вы импортируете существующий ключ в Azure Key Vault, укажите его в поддерживаемых форматах файлов (.pfxили.byok.backup).

Permissions

Предоставьте доступ к ключу шифрования управляемому удостоверению, назначенному пользователем, для Azure DocumentDB.

  • Предпочтительный вариант: Azure Key Vault следует настроить с моделью разрешений RBAC, а управляемому удостоверению должна быть присвоена роль пользователя шифрования службы шифрования Key Vault.
  • Устаревшая версия: если Azure Key Vault настроена с помощью модели разрешений политики доступа, предоставьте следующие разрешения управляемому удостоверению:
    • get: Чтобы получить свойства и общедоступную часть ключа в хранилище ключей.
    • list: перечисление и итерацию ключей, хранящихся в хранилище ключей.
    • wrapKey: шифрование ключа шифрования данных.
    • unwrapKey: для расшифровки ключа шифрования данных.

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

CMK в Azure DocumentDB поддерживает автоматические обновления версий ключей, также известные как ключи без версий. Служба Azure DocumentDB автоматически выбирает новую версию ключа и повторно шифрует ключ шифрования данных. Эту возможность можно объединить с функцией автоматического обновления Azure Key Vault.

Соображения

При использовании ключа, управляемого клиентом для шифрования данных, выполните следующие рекомендации, чтобы настроить Key Vault:

Замечание

После нажатия кнопки "Отключить общедоступный доступ " и разрешить доверенным службам Майкрософт обойти этот брандмауэр, при попытке использовать общедоступный доступ для администрирования Key Vault на портале может возникнуть ошибка: "Вы включили сетевой контроль доступа. Только разрешенные сети имеют доступ к этому хранилищу ключей". Эта ошибка не исключает возможность предоставления ключей во время настройки ключа, управляемого клиентом, или получения ключей из Key Vault во время операций кластера.

  • Сохраните копию ключа, управляемого клиентом, в безопасном месте или поместите его в службу депонирования.
  • Если Key Vault создает ключ, создайте резервную копию ключей перед первым использованием ключа. Резервную копию можно восстановить только в Key Vault.