Использование частных конечных точек для службы хранилища Azure

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

Примечание.

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

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

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

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

Общие сведения о частных конечных точках для службы хранилища Azure

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

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

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

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

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

Совет

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

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

Примечание.

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

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

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

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

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

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

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

Совет

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

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

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

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

Внимание

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

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

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

Примечание.

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

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

URL-адреса конечной точки хранилища из-за пределов виртуальной сети с частной конечной точкой разрешается в общедоступную конечную точку службы хранилища. При разрешении из виртуальной сети, в которой размещается частная конечная точка, URL-адрес конечной точки хранилища разрешается в 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 для частных конечных точек служб хранилища и связанных с ними вспомогательных ресурсов конечной точки:

Служба хранилища Целевой подресурс Имя зоны
Служба больших двоичных объектов большой двоичный объект privatelink.blob.core.windows.net
Data Lake Storage 2-го поколения dfs privatelink.dfs.core.windows.net
Служба файлов файл privatelink.file.core.windows.net
Служба очередей очередь privatelink.queue.core.windows.net
Служба таблиц table privatelink.table.core.windows.net
Статические веб-сайты web privatelink.web.core.windows.net

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

Цены

Дополнительные сведения о ценах см. на странице цен на службу "Приватный канал" Azure.

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

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

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

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

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

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

Вы можете копировать большие двоичные объекты между учетными записями хранения, используя частные конечные точки, только если вы используете REST API Azure или средства, использующие REST API. К этим средствам относятся AzCopy, Обозреватель службы хранилища, Azure PowerShell, Azure CLI и пакеты SDK для хранилища BLOB-объектов Azure.

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

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