Шифрование данных в Azure Data Lake Storage 1-го поколения

Шифрование в Azure Data Lake Storage 1-го поколения помогает защищать данные, реализовывать корпоративные политики безопасности и соблюдать соответствие нормативным требованиям. В этой статье рассматриваются вопросы, связанные с проектированием и некоторыми техническими аспектами реализации.

Data Lake Storage 1-го поколения поддерживает шифрование данных при хранении (неактивные данные) и передаче. Data Lake Storage 1-го поколения поддерживает прозрачное шифрование неактивных данных, включенное по умолчанию. Далее упомянутые термины представлены подробнее.

  • Включено по умолчанию. При создании учетной записи Data Lake Storage 1-го поколения с настройками по умолчанию шифрование включено. Поэтому данные, хранящиеся в Data Lake Storage 1-го поколения, всегда шифруются перед сохранением на постоянный носитель. Это поведение распространяется на все данные, и его нельзя изменить после создания учетной записи.
  • Прозрачность. Data Lake Storage 1-го поколения автоматически шифрует данные перед сохранением и расшифровывает их до извлечения. За настройку шифрования и управление им на уровне Data Lake Storage 1-го поколения отвечает администратор. API-интерфейсы доступа к данным не изменяются. Таким образом, при шифровании изменять приложения и службы, взаимодействующие с Data Lake Storage 1-го поколения, не требуется.

Передаваемые (перемещаемые) данные в Data Lake Storage 1-го поколения также всегда шифруются. Данные не только шифруются перед сохранением на постоянный носитель. Они также всегда защищены при передаче благодаря использованию протокола HTTPS. HTTPS — единственный протокол, который поддерживают интерфейсы REST в Data Lake Storage 1-го поколения. На следующей схеме представлено шифрование данных в Data Lake Storage 1-го поколения:

Схема шифрования данных в Data Lake Storage 1-го поколения

Настройка шифрования с помощью Data Lake Storage 1-го поколения

Шифрование для Data Lake Storage 1-го поколения настраивается во время создания учетной записи. Эта функция всегда включена по умолчанию. Вы можете управлять ключами самостоятельно или разрешить Data Lake Storage 1-го поколения управлять ими (настройка по умолчанию).

Дополнительные сведения см. в руководстве по началу работы.

Механизм шифрования в Data Lake Storage 1-го поколения

Ниже объясняется, как управлять главными ключами шифрования, а также рассматриваются три типа ключей, которые могут использоваться при шифровании данных для Data Lake Storage 1-го поколения.

Главные ключи шифрования

В Data Lake Storage 1-го поколения предусмотрено два режима управления главными ключами шифрования. Сейчас давайте предположим, что главный ключ шифрования является ключом верхнего уровня. Для расшифровки любых данных, хранящихся в Data Lake Storage 1-го поколения, требуется доступ к главному ключу шифрования.

Ниже приведены два режима управления главным ключом шифрования.

  • Ключами управляет служба
  • Ключами управляет пользователь

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

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

Вопрос Ключами управляет служба Ключами управляет пользователь
Способ хранения данных Шифрование перед сохранением (всегда) Шифрование перед сохранением (всегда)
Где хранится главный ключ шифрования? Key Vault Key Vault
Хранятся ли ключи шифрования в незашифрованном виде за пределами Azure Key Vault? Нет Нет
Можно ли извлечь главный ключ шифрования из Key Vault? Нет. Главный ключ шифрования, сохраненный в Key Vault, можно использовать только для шифрования и расшифровки. Нет. Главный ключ шифрования, сохраненный в Key Vault, можно использовать только для шифрования и расшифровки.
Кто является владельцем экземпляра Key Vault и главного ключа шифрования? Служба Data Lake Storage 1-го поколения Вы являетесь владельцем экземпляра Key Vault, который принадлежит к подписке Azure. Главным ключом шифрования в Key Vault может управлять программное обеспечение или оборудование.
Может ли пользователь отменить доступ службы Azure Data Lake Storage 1-го поколения к главному ключу шифрования? Нет Да. Вы можете управлять списками управления доступом в Azure Key Vault и удалять записи управления доступом в удостоверении службы Data Lake Storage 1-го поколения.
Может ли пользователь окончательно удалить главный ключ шифрования? Нет Да. Если вы удалите главный ключ шифрования из Key Vault, данные в учетной записи Data Lake Storage 1-го поколения невозможно будет расшифровать даже службе Data Lake Storage 1-го поколения.

Если вы явным образом создали резервную копию главного ключа шифрования до его удаления из Key Vault, такой ключ и данные можно будет восстановить. Если же копия не была создана, данные в учетной записи Data Lake Storage 1-го поколения невозможно будет расшифровать.

Эти два режима отличаются только тем, кто управляет главным ключом шифрования и в каком экземпляре Key Vault этот ключ хранится.

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

  • Режим управления ключами (ключи, управляемые службой либо пользователем) можно выбрать при подготовке учетной записи Data Lake Storage 1-го поколения.
  • После подготовки учетной записи Data Lake Storage 1-го поколения этот режим изменить невозможно.

Шифрование и расшифровка данных

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

Ключ Сокращение С чем связан Расположение хранения Тип Примечания
Главный ключ шифрования MEK Учетная запись Data Lake Storage 1-го поколения Key Vault Асимметричный Может управляться Data Lake Storage 1-го поколения или пользователем.
Ключ шифрования данных DEK Учетная запись Data Lake Storage 1-го поколения Постоянное хранилище; управляется службой Data Lake Storage 1-го поколения Симметричный Ключ шифрования данных, зашифрованный главным ключом шифрования. Зашифрованный ключ шифрования данных, хранимый на постоянном носителе.
Ключ блочного шифрования BEK Блок данных Нет Симметричный Ключ блочного шифрования, получаемый на основе ключа шифрования данных и блока данных.

Эти концепции представлены на схеме ниже.

Ключи в шифровании данных

Псевдоалгоритм расшифровки файла:

  1. Проверьте, кэширован ли ключ шифрования данных для учетной записи Data Lake Storage 1-го поколения и готов ли он к использованию.
    • Если нет, получите зашифрованный ключ шифрования данных из постоянного хранилища и отправьте его в Key Vault для расшифровки. Кэшируйте расшифрованный ключ шифрования данных в памяти. Теперь ключ готов к использованию.
  2. Для каждого блока данных в файле сделайте следующее:
    • Получите зашифрованный блок данных из постоянного хранилища.
    • Создайте ключ блочного шифрования на основе ключа шифрования данных и зашифрованного блока данных.
    • Используйте ключ блочного шифрования для расшифровки данных.

Псевдоалгоритм шифрования блока данных:

  1. Проверьте, кэширован ли ключ шифрования данных для учетной записи Data Lake Storage 1-го поколения и готов ли он к использованию.
    • Если нет, получите зашифрованный ключ шифрования данных из постоянного хранилища и отправьте его в Key Vault для расшифровки. Кэшируйте расшифрованный ключ шифрования данных в памяти. Теперь ключ готов к использованию.
  2. Создайте уникальный ключ блочного шифрования для блока данных на основе ключа шифрования данных.
  3. Зашифруйте блок данных с помощью ключа блочного шифрования, используя шифрование AES-256.
  4. Сохраните зашифрованный блок данных в постоянном хранилище.

Примечание

Ключ DEK всегда сохраняется с шифрованием MEK, как на постоянном носителе, так и в кэше в памяти.

Смена ключей

Если ключами управляет пользователь, главный ключ шифрования можно менять. Дополнительные сведения о настройке учетной записи Data Lake Storage 1-го поколения с использованием ключей, управляемых пользователем, см. в руководстве по началу работы.

Предварительные требования

При настройке учетной записи Data Lake Storage 1-го поколения вы можете выбрать свои ключи. Этот параметр нельзя изменить после создания учетной записи. Ниже предполагается, что вы используете ключи, управляемые пользователем (этот параметр доступен, если вы выбрали свои ключи из Key Vault).

Обратите внимание: когда для шифрования данных используются стандартные параметры, данные всегда шифруются с помощью ключей, управляемых Data Lake Storage 1-го поколения. В этом случае вам не нужна возможность менять ключи, так как они управляются Data Lake Storage 1-го поколения.

Как сменить главный ключ шифрования в Data Lake Storage 1-го поколения

  1. Войдите на портал Azure.

  2. Перейдите в экземпляр Key Vault, где хранятся ключи, связанные с вашей учетной записью Data Lake Storage 1-го поколения. Выберите Ключи.

    Снимок экрана с Key Vault

  3. Выберите ключ, связанный с учетной записью Data Lake Storage 1-го поколения, и создайте его новую версию. Обратите внимание, что в Data Lake Storage 1-го поколения сейчас можно менять ключ только на его новую версию. Вы не можете использовать для смены другой ключ.

    Снимок экрана с окном

  4. Перейдите к учетной записи хранения Data Lake Storage 1-го поколения и выберите Шифрование.

    Снимок экрана с окном учетной записи хранения Data Lake Storage 1-го поколения с выделенным пунктом

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

    Снимок экрана с окном Data Lake Storage 1-го поколения с сообщением и выделенным пунктом

Операция по смене ключа занимает меньше двух минут и не вызывает простоя. После завершения операции будет использоваться новая версия ключа.

Важно!

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