Обеспечение безопасного доступа доверенных служб к реестру контейнеров с сетевыми ограничениями
Служба "Реестр контейнеров Azure" позволяет выбрать доверенные службы Azure для доступа к реестру, для которого настроены правила доступа к сети. Если доверенные службы разрешены, экземпляр доверенной службы может безопасно обходить сетевые правила для реестра и выполнять такие операции, как получение или отправка образов. В этой статье объясняется, как включить и использовать доверенные службы с реестром контейнеров Azure, ограниченным сетью.
Для выполнения примеров команд в этой статье используйте Azure Cloud Shell или локальный экземпляр Azure CLI. Если вы хотите использовать его локально, требуется версия 2.18 или более поздняя. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Ограничения
- Для некоторых сценариев доступа к реестру с доверенными службами требуется управляемое удостоверение для ресурсов Azure. За исключением случаев, когда отмечено, что назначенное пользователем управляемое удостоверение поддерживается, может использоваться только присвоенное системой удостоверение.
- Разрешение доверенных служб не применяется к реестру контейнеров, настроенному с конечной точкой службы. Эта функция влияет только на реестры, которые ограничены частной конечной точкой или регулируются правилами доступа из общедоступных IP-адресов.
О доверенных службах
Служба "Реестр контейнеров Azure" имеет многоуровневую модель безопасности, поддерживающую несколько конфигураций сети, которые ограничивают доступ к реестру, в том числе перечисленные далее.
- Частная конечная точка с Приватным каналом Azure. При настройке закрытая конечная точка реестра доступна только для ресурсов в пределах виртуальной сети с использованием частных IP-адресов.
- Правила брандмауэра реестра, которые разрешают доступ к общедоступной конечной точке реестра только из конкретных общедоступных IP-адресов или диапазонов адресов. Вы также можете настраивать брандмауэр, чтобы блокировать доступ к общедоступной конечной точке при использовании частных конечных точек.
При развертывании в виртуальной сети или при настройке с помощью правил брандмауэра реестр запрещает доступ пользователям или службам извне этих источников.
Несколько многоклиентных служб Azure работают с сетями, которые нельзя добавить в эти сетевые параметры реестра, что предотвращает выполнение ими таких операций, как получение образов из реестра или их отправка в реестр. Определив некоторые экземпляры службы как "доверенные", владелец реестра может разрешить выбранным ресурсам Azure безопасно обходить сетевые параметры реестра для выполнения операций с реестром.
Доверенные службы
Экземпляры следующих служб могут получить доступ к реестру контейнеров с ограниченным сетевым доступом, если включен параметр реестра Allow Trusted Services (по умолчанию). Со временем будет добавлено больше услуг.
Где указано, доступ со стороны доверенной службы требует дополнительной настройки управляемого удостоверения в экземпляре службы, назначения роли RBAC и проверки подлинности в реестре. Примеры действий см. в разделе Рабочий процесс доверенных служб далее в этой статье.
Доверенная служба | Поддерживаемые сценарии использования | Настройка управляемого удостоверения с ролью RBAC |
---|---|---|
Экземпляры контейнеров Azure | Развертывание в службе "Экземпляры контейнеров Azure" из реестра контейнеров Azure с использованием управляемого удостоверения | Да, назначаемое системой удостоверение или удостоверение, назначаемое пользователем |
Microsoft Defender для облака | Сканирование уязвимостей с помощью Defender для реестров контейнеров | No |
Задачи ACR | Доступ к родительскому реестру или другому реестру из задачи ACR | Да |
Машинное обучение | Развертывание или обучение модели в рабочей области Машинного обучения Azure с помощью пользовательского образа контейнера Docker | Да |
Реестр контейнеров Azure | Импорт изображений в реестр контейнеров Azure с ограниченным доступом к сети или из него | No |
Примечание.
В настоящее время включение параметра разрешенных доверенных служб не применяется к Служба приложений.
Разрешение использовать доверенные службы (CLI)
По умолчанию параметр Allow Trusted Services (Разрешить доверенные службы) в новом реестре контейнеров Azure включен. Отключить или включить этот параметр можно, выполнив команду az acr update.
Чтобы отключить:
az acr update --name myregistry --allow-trusted-services false
Включение параметра в имеющемся реестре или в реестре, где он уже отключен:
az acr update --name myregistry --allow-trusted-services true
Разрешение использовать доверенные службы (портал)
По умолчанию параметр Allow Trusted Services (Разрешить доверенные службы) в новом реестре контейнеров Azure включен.
Чтобы отключить или повторно включить параметр на портале:
- На портале перейдите к нужному реестру контейнеров.
- В разделе Параметры выберите Сеть.
- В окне Allow public network access (Разрешить доступ к общедоступной сети) выберите Выбранные сети или Отключено.
- Выполните одно из следующих действий:
- Чтобы отключить доступ доверенных служб, в разделе Firewall exception (Исключение брандмауэра) снимите флажок Allow trusted Microsoft services to access this container registry (Разрешить доверенным службам Майкрософт доступ к этому реестру контейнеров).
- Чтобы разрешить доступ доверенных служб, в разделе Firewall exception (Исключение брандмауэра) установите флажок Allow trusted Microsoft services to access this container registry (Разрешить доверенным службам Майкрософт доступ к этому реестру контейнеров).
- Выберите Сохранить.
Рабочий процесс доверенных служб
Ниже приведен типичный рабочий процесс, позволяющий экземпляру доверенной службы получить доступ к реестру контейнеров с ограниченным сетевым доступом. Этот рабочий процесс необходим, если управляемое удостоверение экземпляра службы используется для обхода сетевых правил реестра.
- Включите управляемое удостоверение в экземпляр одной из доверенных служб для Реестра контейнеров Azure.
- Назначьте удостоверение роли Azure для этого реестра. Например, назначьте роль ACRPull для получения образов контейнеров.
- В реестре с ограниченным сетевым доступом настройте параметр, разрешающий доступ доверенным службам.
- Используйте учетные данные удостоверения для проверки подлинности в реестре с ограниченным сетевым доступом.
- Получайте образы из реестра или выполняйте другие операции, разрешенные этой ролью.
Пример: служба "Задачи ACR"
В следующем примере показано, как служба "Задачи ACR" используется в качестве доверенной службы. Дополнительные сведения см. в статье о проверке подлинности в разных реестрах в рамках задачи контроля доступа с помощью удостоверения, управляемого Azure.
- Создайте или обновите реестр контейнеров Azure.
Создайте задачу ACR.
- Включение назначенного системой управляемого удостоверения при создании задачи.
- Отключите режим проверки подлинности по умолчанию (
--auth-mode None
) для задачи.
- Назначьте удостоверению задачи роль Azure для доступа к реестру. Например, назначьте роль AcrPush, которая имеет разрешения на получение и отправку образов.
- Добавьте учетные данные управляемого удостоверения для реестра в задачу.
- Чтобы убедиться в том, что задача обходит ограничения сети, отключите открытый доступ в реестре.
- Запустите задачу. Если реестр и задача настроены должным образом, задача выполняется успешно, так как реестр разрешает доступ.
Чтобы проверить отключение доступа доверенных служб, выполните следующие действия.
- Чтобы разрешить доступ доверенным службам, отключите этот параметр.
- Запустите задачу еще раз. В этом случае выполнение задачи завершается ошибкой, так как реестр больше не разрешает доступ задаче.
Следующие шаги
- Чтобы ограничить доступ к реестру, используя частную конечную точку в виртуальной сети, см. статью Настройка Приватного канала Azure для реестра контейнеров Azure.
- Сведения о настройке правил брандмауэра для реестра см. в разделе Настройка сетевых правил для общедоступных IP-адресов.