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


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

Область применения: Nosql Mongodb Кассандра Гремлин Таблица

"Шифрование неактивных данных" — это фраза, которая обычно относится к шифрованию данных на неактивных устройствах хранения, таких как твердотельные диски (SSD) и жесткие диски (HDD). Azure Cosmos DB хранит свои первичные базы данных на SSD. Его вложения мультимедиа и резервные копии хранятся в Хранилище BLOB-объектов Azure, которые обычно создаются hdD. После выпуска шифрования для Azure Cosmos DB все базы данных, вложения мультимедиа и резервные копии шифруются. Шифруются как передаваемые данные (по сети), так и неактивные (долговременное хранение), обеспечивая непрерывное шифрование.

Как платформа как услуга (PaaS), Azure Cosmos DB легко использовать. Так как все данные пользователей, хранимые в Azure Cosmos DB, шифруются как при хранении, так и при передаче, вам не нужно ничего делать. Другими словами, по умолчанию шифрование неактивно. Элементов управления для его включения и отключения нет. Azure Cosmos DB использует шифрование AES-256 во всех регионах, где выполняется учетная запись.

Мы предоставляем эту функцию, пока мы продолжаем соответствовать нашим соглашениям об уровне обслуживания и доступности и производительности . Данные, хранящиеся в учетной записи Azure Cosmos DB, автоматически шифруются с помощью ключей, управляемых корпорацией Майкрософт (ключи, управляемые службой). При необходимости можно добавить второй уровень шифрования с собственными ключами, как описано в статье о ключах, управляемых клиентом.

Реализация шифрования при хранении для Azure Cosmos DB

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

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

Основным потоком запроса пользователя является:

  • Учетная запись базы данных пользователя подготавливается, а ключи к хранилищу данных извлекаются по запросу к поставщику ресурсов службы управления.
  • Пользователь создает подключение к Azure Cosmos DB через HTTPS/безопасный транспорт. (Пакеты SDK абстрагируют подробные сведения.)
  • Пользователь отправляет документ JSON для сохранения, используя ранее созданное безопасное подключение.
  • Документ JSON индексируется, если пользователь не отключил эту возможность.
  • Документ JSON и данные индекса записываются в безопасное хранилище.
  • Время от времени данные считываются из безопасного хранилища и архивируются в зашифрованное хранилище BLOB-объектов Azure.

Часто задаваемые вопросы

Найдите ответы на часто задаваемые вопросы о шифровании.

Насколько дороже обходится служба хранилища Azure с включенной функцией "Шифрование службы хранилища"?

Дополнительная плата не взимается.

Кто управляет ключами шифрования?

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

Как часто меняются ключи шифрования?

Корпорация Майкрософт имеет набор внутренних рекомендаций по смене ключа шифрования, который следует azure Cosmos DB. Конкретные рекомендации не публикуются. Корпорация Майкрософт публикует жизненный цикл разработки безопасности, который рассматривается как подмножество внутренних рекомендаций и имеет полезные рекомендации для разработчиков.

Можно ли использовать собственные ключи шифрования?

Да, эта функция доступна для новых учетных записей Azure Cosmos DB. Его следует развернуть во время создания учетной записи. Дополнительные сведения см. в документе ключей, управляемых клиентом.

Предупреждение

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

  • id
  • ttl
  • _ts
  • _etag
  • _rid
  • _self
  • _attachments
  • _epk

Если ключи, управляемые клиентом, не включены, зарезервированы только имена полей, начинающиеся с __sys_ .

В каких регионах включено шифрование?

Шифрование пользовательских данных включено во всех регионах Azure Cosmos DB.

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

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

Поддерживает ли локальный эмулятор шифрование неактивных данных?

Эмулятор является автономным средством разработки и тестирования и не использует службы управления ключами, которые использует управляемая служба Azure Cosmos DB. Рекомендуется включить BitLocker на дисках, где хранятся тестовые данные конфиденциальных эмуляторов. Эмулятор поддерживает изменение каталога данных по умолчанию и использование известного расположения.

Следующие шаги