Использование частных конечных точек для Azure Storage

Частные конечные точки для учетных записей Azure Storage позволяют пользователям в виртуальной сети Azure безопасно получать доступ к данным через Private Link. Частная конечная точка использует отдельный IP-адрес из адресного пространства виртуальной сети для каждой службы учетной записи хранения. Сетевой трафик между клиентами в виртуальной сети и учетной записью хранения проходит по виртуальной сети и приватным каналом в магистральной сети Майкрософт, устраняя уязвимость из общедоступного Интернета.

Примечание.

Частные конечные точки недоступны для учетных записей хранения общего назначения версии 1.

Использование частных конечных точек для учетной записи хранения позволяет выполнять следующие задачи:

  • Защитите вашу учетную запись хранения с помощью приватной ссылки. Брандмауэр хранилища можно настроить вручную, чтобы заблокировать подключения к общедоступной конечной точке службы хранилища. Создание приватного канала не блокирует подключения к общедоступной конечной точке автоматически.
  • Увеличьте безопасность виртуальной сети, позволяя блокировать кражу данных из виртуальной сети.
  • Безопасное подключение к учетным записям хранения из локальных сетей, которые подключаются к виртуальной сети с помощью VPN или ExpressRoutes с частным пирингом.

Общие сведения

Обзор частных конечных точек для Azure Storage

Частная конечная точка — это специальный сетевой интерфейс для службы Azure в Virtual Network. При создании частной конечной точки для учетной записи хранения она обеспечивает безопасное подключение между клиентами в виртуальной сети и хранилищем. Частной конечной точке назначается IP-адрес из диапазона IP-адресов виртуальной сети. Подключение между частной конечной точкой и службой хранилища использует защищенный приватный канал.

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

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

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

Владельцы учётных записей хранения могут управлять запросами на согласие и частными конечными точками с помощью вкладки «Частные конечные точки» для учётной записи хранения на портале Azure.

Совет

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

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

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

Примечание.

При копировании блобов между учетными записями хранения клиент должен иметь сетевой доступ к обеим учетным записям. Поэтому, если вы решили использовать приватный канал только для одной учетной записи (источника или назначения), убедитесь, что у клиента есть сетевой доступ ко второй учетной записи. Дополнительные сведения о других способах настройки сетевого доступа см. в статье Configure Azure Storage брандмауэры и виртуальные сети.

Создание частной конечной точки

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

Чтобы создать частную конечную точку с помощью PowerShell или Azure CLI, ознакомьтесь с любой из этих статей. Оба из них имеют Azure веб-приложение в качестве целевой службы, но действия по созданию приватного канала одинаковы для учетной записи Azure Storage.

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

Вам нужна отдельная частная конечная точка для каждого ресурса хранилища, к которому требуется доступ, а именно Blobs, Хранилище Data Lake, Файлы, Очереди, Таблицы или Статические веб-сайты. В частной конечной точке эти службы хранилища определяются как целевой вспомогательный ресурс связанной учетной записи хранения.

Если вы создаете частную конечную точку для ресурса хранилища Data Lake Storage, то ее также следует создать для ресурса Blob Storage. Это связано с тем, что операции, предназначенные для конечной точки Data Lake Storage, могут быть перенаправлены в конечную точку Blob. Аналогичным образом, если вы добавляете частную конечную точку только для Blob Storage, а не для Data Lake Storage, некоторые операции (например, управление ACL, Создание каталога, удаление каталога и т. д.) завершаются ошибкой, так как API требуют частной конечной точки DFS. Создавая частную конечную точку для обоих ресурсов, можно гарантировать успешное завершение всех операций.

Совет

Создайте отдельную приватную конечную точку для вторичного экземпляра сервиса хранения, чтобы повысить производительность чтения в учетных записях RA-GRS. Обязательно создайте общую учетную запись хранения версии 2 (стандартного или премиум класса).

Для доступа на чтение во вторичном регионе с учетной записью хранения, настроенной для геоизбыточного хранилища, требуются отдельные частные конечные точки как для основного, так и для вторичного экземпляра этой службы. Для аварийного переключения не нужно создавать частную конечную точку для вторичного экземпляра. Частная конечная точка автоматически подключится к новому основному экземпляру после отказа. Дополнительные сведения о параметрах избыточности хранилища см. в разделе «Избыточность Azure Storage».

Подключение к частной конечной точке

Клиенты виртуальной сети, использующие частную конечную точку, должны использовать те же connection string для учетной записи хранения, что и клиенты, подключающиеся к общедоступной конечной точке. Мы опираемся на разрешение DNS для автоматического маршрутизации подключений из виртуальной сети в учетную запись хранения через приватный канал.

Внимание

Используйте ту же строку подключения, чтобы подключиться к учетной записи хранения с помощью частных конечных точек, как вы используете в других случаях. Не подключайтесь к учетной записи хранения с помощью URL-адреса поддомена privatelink .

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

Изменения DNS для частных конечных точек

Примечание.

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

При создании частной конечной точки запись ресурса DNS CNAME для учетной записи хранения обновляется и получает псевдоним в поддомене с префиксом privatelink. По умолчанию также создается Частная зона DNS, соответствующая поддомену privatelink, с записями ресурсов DNS A для частных конечных точек.

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

В приведенном выше примере записи DNS-ресурсов для учетной записи хранения StorageAccountA при разрешении извне виртуальной сети, в которой размещена частная конечная точка, выглядят следующим образом:

Имя. Тип значение
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net CNAME <общедоступная конечная точка службы хранилища>
<общедоступная конечная точка службы хранилища> а <общедоступный IP-адрес службы хранилища>

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

Записи ресурсов DNS для StorageAccountA при разрешении клиентом в виртуальной сети, на котором размещена частная конечная точка, будут:

Имя. Тип значение
StorageAccountA.blob.core.windows.net CNAME StorageAccountA.privatelink.blob.core.windows.net
StorageAccountA.privatelink.blob.core.windows.net а 10.1.1.5

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

При использовании пользовательского DNS-сервера в сети клиенты должны иметь возможность разрешить полное доменное имя для конечной точки учетной записи хранения в IP-адрес частной конечной точки. Необходимо настроить DNS-сервер, чтобы делегировать поддомен частной ссылки в частную зону DNS для виртуальной сети или настроить A-записи для StorageAccountA.privatelink.blob.core.windows.net с IP-адресом частной конечной точки.

Совет

При использовании пользовательского или локального DNS-сервера следует настроить DNS-сервер для разрешения имени учетной записи хранения в поддомене privatelink в IP-адрес частной конечной точки. Это можно сделать, делегируя privatelink поддомен в частную зону DNS виртуальной сети или настраивая зону DNS на DNS-сервере и добавляя записи DNS A.

Рекомендуемые имена зон DNS для частных конечных точек служб хранилища и связанных с ними вспомогательных ресурсов конечной точки:

Служба хранилища Целевой суб-ресурс Имя зоны
Служба Blob BLOB privatelink.blob.core.windows.net
Хранилище данных Data Lake Распределенная файловая система (DFS) privatelink.dfs.core.windows.net
Служба файлов файл privatelink.file.core.windows.net
Служба очередей очередь privatelink.queue.core.windows.net
Служба таблиц таблица privatelink.table.core.windows.net
Статические веб-сайты веб privatelink.web.core.windows.net

Дополнительные сведения о настройке собственного DNS-сервера для поддержки частных конечных точек см. в следующих статьях:

Цены

Сведения о ценах см. в разделе Цены Azure Private Link.

Известные проблемы

Помните о следующих известных проблемах с частными конечными точками для Azure Storage.

Ограничения доступа к хранилищу для клиентов в виртуальных сетях с частными конечными точками

Клиенты в виртуальных сетях с существующими частными конечными точками сталкиваются с ограничениями при доступе к другим учетным записям хранения с частными конечными точками. Например, предположим, что виртуальная сеть N1 имеет частную конечную точку для учетной записи хранения A1 для хранилища BLOB-объектов. Если учетная запись хранения A2 имеет частную конечную точку в виртуальной сети N2 для хранилища BLOB-объектов, клиенты виртуальной сети N1 также должны получить доступ к хранилищу BLOB-объектов в учетной записи A2 с помощью частной конечной точки. Если у учетной записи хранения A2 нет частных конечных точек для хранилища BLOB-объектов, клиенты в виртуальной сети N1 могут получить доступ к хранилищу BLOB-объектов в этой учетной записи без частной конечной точки.

Это ограничение является результатом изменений DNS, внесенных при создании частной конечной точки учетной записью A2.

Копирование блобов между учетными записями хранения

Блобов можно копировать между учетными записями в хранилище с помощью частных конечных точек только если вы используете REST API Azure или средства, использующие REST API. К этим средствам относятся AzCopy, Storage Explorer, Azure PowerShell, Azure CLI и пакеты SDK Azure Blob Storage.

Поддерживаются только частные конечные точки, которые нацелены на конечную точку ресурса хранилища blob или file. Это включает вызовы REST API к учетным записям Data Lake Storage, в которых конечная точка ресурса blob ссылается явно или неявно. Частные конечные точки, нацеленные на ресурсную конечную точку Data Lake Storage dfs, пока не поддерживаются. Копирование между учетными записями хранения с помощью протокола NFS еще не поддерживается.

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