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


Общие сведения о шифровании в Azure

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

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

К неактивным данным относятся сведения, хранящиеся в постоянном хранилище на физическом носителе в любом цифровом формате. Это могут быть файлы на магнитных или оптических носителях, архивированные данные и резервные копии данных. Microsoft Azure предлагает различные решения для хранения данных для разных нужд, включая дисковое и файловое хранилище, а также хранилище больших двоичных объектов и таблиц. Корпорация Майкрософт также предоставляет шифрование для защиты базы данных SQL Azure, Azure Cosmos DB и Azure Data Lake.

Шифрование неактивных данных с помощью шифрования данных AES 256 доступно для служб в рамках программного обеспечения как службы (SaaS), платформы как службы (PaaS) и инфраструктуры как службы (IaaS) облачных моделей. В этой статье приводится краткое описание и предлагаются ресурсы, которые помогут вам воспользоваться различными вариантами шифрования Azure.

Более подробную информацию о том, как данные на покое шифруются в Azure, см. статью "Шифрование данных Azure на покое".

Модели шифрования Azure

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

Шифрование на стороне клиента

Шифрование на стороне клиента выполняется за пределами Azure. Сюда входят:

  • Данные, зашифрованные приложением, выполняющимся в центре обработки данных клиента, или приложением службы.
  • Зашифрованные данные, полученные Azure.

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

Шифрование на стороне сервера

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

  • Управляемые службой ключи: обеспечивает сочетание элементов управления и удобства с низкими затратами.

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

  • Ключи, управляемые службой, в оборудовании, управляемом клиентом: позволяет управлять ключами в вашем закрытом репозитории за пределами управления Майкрософт. Это называется размещением собственного ключа (HYOK). Однако конфигурация сложна, потому большинство служб Azure не поддерживают эту модель.

Шифрование дисков Azure

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

Шифрование службы хранилища Azure

Неактивные данные, размещенные в хранилище BLOB-объектов Azure и файловых ресурсах Azure, можно зашифровать на стороне сервера и на стороне клиента.

Шифрование службы хранилища Azure (SSE) может автоматически шифровать данные перед их хранением и автоматически расшифровывать их при получении. Процесс является полностью прозрачным для пользователей. Шифрование службы хранилища использует 256-разрядное шифрование расширенного шифрования (AES), которое является одним из самых надежных блочных шифров. AES обеспечивает прозрачное шифрование, расшифровку и управление ключами.

Шифрование больших двоичных объектов Azure на стороне клиента

Шифрование больших двоичных объектов Azure можно выполнять разными способами.

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

Дополнительные сведения и скачивание клиентской библиотеки службы хранилища Azure для пакета NuGet для .NET см. в статье о службе хранилища Windows Azure 8.3.0.

При использовании шифрования на стороне клиента с Key Vault данные шифруются с помощью одноразового симметричного ключа шифрования содержимого (CEK), который создает клиентский пакет SDK для службы хранилища Azure. CEK зашифрован с помощью ключа шифрования ключей (KEK), который может быть парой симметричных или асимметричных ключей. Ими можно управлять локально или сохранить в Key Vault. Зашифрованные данные затем передаются в службу хранилища Azure.

Чтобы узнать больше о шифровании на стороне клиента с использованием Key Vault и начать работу с инструкциями, см. руководство: шифрование и расшифровка BLOB-объектов в Azure Storage с помощью Key Vault.

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

Шифрование неактивных данных с помощью Базы данных SQL Azure

База данных SQL Azure — это служба реляционной базы данных общего назначения в Azure, которая поддерживает такие структуры, как реляционные данные, JSON, пространственные и XML-файлы. База данных SQL поддерживает шифрование на стороне сервера путем прозрачного шифрования данных (TDE) и шифрование на стороне клиента посредством функции Always Encrypted.

прозрачное шифрование данных.

TDE используется для шифрования файлов данных SQL Server, Базы данных SQL Azure и Azure Synapse Analytics в режиме реального времени с помощью ключа шифрования базы данных (DEK), который хранится в записи загрузки базы данных для доступности во время восстановления.

TDE обеспечивает защиту данных и файлов журналов с помощью алгоритмов шифрования AES и 3DES. Шифрование файлов базы данных выполняется на уровне страницы. Страницы в зашифрованной базе данных шифруются перед записью на диск и расшифровываются во время чтения в память. В созданных базах данных Azure SQL TDE включено по умолчанию.

Функция Always Encrypted

С помощью функции Always Encrypted в SQL Azure можно шифровать данные в клиентских приложениях до его хранения в базе данных SQL Azure. Можно также включить делегирование прав администрирования локальной базы данных третьим лицам и обеспечить разделение на владельцев данных (которые могут просматривать данные) и управляющих данными (у которых не должно быть доступа к данным).

Шифрование на уровне ячейки или столбца

База данных SQL Azure позволяет применять симметричное шифрование к столбцу данных с помощью Transact-SQL. Этот подход называется шифрованием на уровне ячеек или шифрованием на уровне столбцов (CLE), так как его можно использовать для шифрования определенных столбцов или даже отдельных ячеек данных с разными ключами шифрования. При этом обеспечивается более детальное шифрование, чем при использовании TDE, при котором данные шифруются на страницах.

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

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

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

Шифрование неактивных данных в Data Lake

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

При шифровании и расшифровке данных используются три типа ключей: главный ключ шифрования (MEK), ключ шифрования данных (DEK) и ключ шифрования блоков (BEK). MEK используется для шифрования DEK, хранящегося на постоянном носителе, а BEK можно получить на основе DEK и блока данных. Если вы управляете собственными ключами, MEK можно сменить.

Шифрование передаваемых данных

Azure предлагает множество механизмов защиты данных при их перемещении из одного расположения в другое.

При каждом перемещении трафика клиента Azure между центрами обработки данных вне физических границ, не контролируемых корпорацией Майкрософт (или от имени Корпорации Майкрософт) — метод шифрования уровня данных с использованием стандартов безопасности MAC IEEE 802.1AE ( также известных как MACsec) применяется из точки в точку в базовом сетевом оборудовании. Пакеты шифруются на устройствах перед отправкой, предотвращая физические атаки "man-in-the-middle" или snooping/wiretapping. Так как эта технология интегрирована в само сетевое оборудование, она обеспечивает шифрование со скоростью передачи данных на сетевом оборудовании без заметного увеличения задержки связи. Шифрование MACsec включено по умолчанию для всего трафика Azure, передаваемого в пределах региона или между регионами. Для его включения никаких действий со стороны клиентов не требуется.

Шифрование TLS в Azure

Корпорация Майкрософт предоставляет клиентам возможность использовать протокол TLS для защиты данных при перемещении между облачными службами и клиентами. Центры обработки данных Майкрософт устанавливают подключение по протоколу TLS с клиентскими системами, подключающимися к службам Azure. TLS обеспечивает надежную аутентификацию, конфиденциальность сообщений, целостность данных (включая обнаружение незаконного изменения, перехвата и подделки сообщений), взаимодействие, гибкость алгоритмов, простоту развертывания и использования.

Идеальная секретность пересылки (PFS) обеспечивает защиту подключений между клиентскими системами и облачными службами Майкрософт с помощью уникальных ключей. Подключения также поддерживают 2048-разрядную длину ключей на основе RSA, длину ключей ECC 256-разрядной версии, проверку подлинности сообщений SHA-384 и шифрование данных AES-256. Благодаря такому сочетанию усложняется перехват данных и доступ к ним во время передачи.

Транзакции со службой хранилища Azure

При взаимодействии со службой хранилища Azure на портале Azure все транзакции выполняются по протоколу HTTPS. Кроме того, для взаимодействия со службой хранилища Azure можно использовать REST API службы хранилища по протоколу HTTPS. Можно принудительно задать использование протокола HTTPS при вызове интерфейсов REST API для доступа к объектам в учетных записях хранения, включив безопасное перемещение для учетной записи хранения.

Подписанные URL-адреса (SAS), которые можно использовать для делегирования доступа к объектам службы хранилища Azure, включают возможность указать, что при использовании подписанных URL-адресов можно использовать только протокол HTTPS. Таким образом любой пользователь, отправляя ссылки с маркерами SAS, будет использовать правильный протокол.

SMB 3.0, который используется для доступа к общим папкам Azure, поддерживает шифрование и доступен в Windows Server 2012 R2, Windows 8, Windows 8.1 и Windows 10. Он обеспечивает доступ между регионами и даже доступ на компьютере.

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

Шифрование SMB в виртуальных сетях Azure

С помощью SMB 3.0 на виртуальных машинах под управлением Windows Server 2012 или более поздней версии можно обеспечить безопасность передачи данных путем шифрования данных при передаче по виртуальным сетям Azure. Шифрование данных помогает защитить их от незаконного изменения и перехвата. Администраторы могут включить шифрование SMB для всего сервера или определенных общих ресурсов.

По умолчанию после включения шифрования SMB для общего ресурса или сервера доступ к зашифрованным общим ресурсам разрешен только клиентам SMB 3.0.

Шифрование передаваемых данных в виртуальных машинах

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

Сеансы RDP

Вы можете подключиться и войти на виртуальную машину с помощью протокола удаленного рабочего стола (RDP) с клиентского компьютера Windows или с компьютера Mac с установленным клиентом RDP. Данные, передаваемые по сети во время сеанса RDP, можно защитить с помощью протокола TLS.

Кроме того, можно воспользоваться удаленным рабочим столом для подключения к виртуальной машине Linux в Azure

Защита доступа к виртуальным машинам Linux с помощью SSH

Для удаленного управления можно использовать Secure Shell (SSH) для подключения к виртуальным машинам Linux, работающим в Azure. SSH — это протокол зашифрованного подключения, позволяющий безопасно входить в систему через незащищенные соединения. Это протокол подключения по умолчанию для виртуальных машин Linux, размещенных в Azure. Используя ключи SSH для аутентификации, не нужно применять пароли для входа. SSH использует пару открытого и закрытого ключей (асимметричное шифрование) для аутентификации.

Шифрование Azure VPN

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

VPN-шлюзы Azure

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

Виртуальные сети типа "сеть — сеть" используют IPsec для шифрования транспорта. VPN-шлюзы Azure используют набор предложений по умолчанию. VPN-шлюзы Azure можно настроить для использования настраиваемой политики IPsec/IKE с определенными алгоритмами шифрования и надежностью ключа, а не наборов политик по умолчанию Azure.

VPN типа "точка — сеть"

VPN-подключения типа "точка — сеть" позволяют отдельным клиентским компьютерам осуществлять доступ к виртуальной сети Azure. Протокол безопасного туннелирования сокетов (SSTP) используется для создания VPN-туннеля. Он может проходить через брандмауэры (туннель выглядит как HTTPS-подключение). Для создания подключений типа "точка — сеть" можно использовать собственный корневой центр сертификации (ЦС) внутренней инфраструктуры открытых ключей.

Вы можете настроить VPN-подключение типа "точка — сеть" к виртуальной сети на портале Azure, используя аутентификацию на основе сертификата или PowerShell.

Дополнительные сведения о VPN-подключениях типа "точка — сеть" к виртуальным сетям Azure приведены в следующих разделах:

Настройка подключения типа "точка — сеть" к виртуальной сети с помощью проверки подлинности сертификации: портал Azure

Настройка подключения типа "точка — сеть" к виртуальной сети с помощью проверки подлинности сертификата: PowerShell

VPN-подключения типа "сеть — сеть"

Подключение VPN-шлюза типа "сеть — сеть" можно использовать для создания подключения между локальной сетью и виртуальной сетью Azure через VPN-туннель по протоколу IPsec/IKE (IKEv1 или IKEv2). Для этого типа подключения требуется локальное VPN-устройство, которому назначен внешний общедоступный IP-адрес.

Вы можете настроить VPN-подключение типа "сеть — сеть" к виртуальной сети с помощью Azure, PowerShell или Azure CLI.

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

Создание подключения типа "сеть — сеть" на портале Azure

Создание подключения типа "сеть — сеть" в PowerShell

Создание виртуальной сети с VPN-подключением типа "сеть — сеть" с помощью ИНТЕРФЕЙСА командной строки

Шифрование передаваемых данных в Data Lake

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

Дополнительные сведения о шифровании данных при передаче в Data Lake см. в разделе "Шифрование данных в Data Lake Store".

Управление ключами с помощью Key Vault

Без соответствующей защиты и управления ключами шифрование бесполезно. Корпорация Майкрософт рекомендует использовать Key Vault в качестве решения по управлению доступом к ключам шифрования, используемым облачными службами. Разрешения на доступ к ключам можно назначать службам или пользователям с помощью учетных записей Microsoft Entra.

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

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