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


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

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

Хранилище данных Data Lake первого поколения поддерживает шифрование данных как в состоянии покоя, так и в процессе передачи. Для неактивных данных 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-го поколения предоставляет два режима управления главными ключами шифрования (MEK). Теперь предположим, что главный ключ шифрования является ключом верхнего уровня. Для расшифровки всех данных, хранящихся в Data Lake Storage 1-го поколения, требуется доступ к главному ключу шифрования.

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

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

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

Ниже приведено краткое сравнение возможностей, предоставляемых двумя режимами управления MEKs.

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

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

Помимо различий в том, кто управляет MEK и экземпляром Key Vault, где он размещён, остальная часть дизайна одинакова для обоих режимов.

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

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

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

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

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

На следующей схеме показаны следующие понятия:

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

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

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

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

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

Замечание

DEK всегда хранится зашифрованный с использованием MEK, будь то на постоянном носителе или кэшированном в памяти.

Ротация ключей

При использовании ключей, управляемых клиентом, можно повернуть МЕК. Сведения о настройке учетной записи Data Lake Storage 1-го поколения с помощью ключей, управляемых клиентом, см. в статье "Начало работы".

Предпосылки

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

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

Как повернуть MEK в хранилище Data Lake 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 Gen1 с выделенным шифрованием

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

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

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

Это важно

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