Аудит соответствия реестров контейнеров Azure требованиям с помощью Политики Azure

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

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

Плата за использование Политики Azure не взимается.

Встроенные определения политик

Следующие встроенные определения политик относятся к Реестру контейнеров Azure:

Имя
(портал Azure)
Описание Действие Версия
(GitHub)
Настройка реестров контейнеров для отключения доступа через общедоступную сеть Отключите доступ к общедоступной сети для своего ресурса Реестра контейнеров, чтобы он был недоступным через Интернет. Это позволяет снизить риски утечки данных. Дополнительные сведения см. здесь: https://aka.ms/acr/portal/public-network и https://aka.ms/acr/private-link. Modify, Disabled 1.0.0
Настройка реестров контейнеров с использованием частных конечных точек Частные конечные точки подключают виртуальную сеть к службам Azure без общедоступного IP-адреса в исходном или целевом расположении. Сопоставление частных конечных точек с ресурсами реестра контейнеров уровня "Премиум" позволяет снизить риски утечки данных. Дополнительные сведения см. здесь: https://aka.ms/privateendpoints и https://aka.ms/acr/private-link. DeployIfNotExists, Disabled 1.0.0
Реестры контейнеров необходимо шифровать с помощью ключа, управляемого клиентом Используйте ключи, управляемые клиентом, для управления шифрованием неактивного содержимого реестров. По умолчанию неактивные данные шифруются с помощью ключей, управляемых службой, но для соблюдения нормативных требований обычно требуются ключи, управляемые клиентом. Ключи, управляемые клиентом, позволяют шифровать данные с помощью ключа Azure Key Vault, создателем и владельцем которого являетесь вы. Вы полностью контролируете жизненный цикл ключа, включая его смену и управление им. Подробная информация собрана на странице https://aka.ms/acr/CMK. Audit, Deny, Disabled 1.1.2
Реестры контейнеров должны иметь номера SKU, поддерживающие Приватные каналы Приватный канал Azure позволяет подключить виртуальную сеть к службам Azure без общедоступного IP-адреса в исходном или целевом расположении. Платформа Приватного канала поддерживает подключение между потребителем и службами через магистральную сеть Azure. Сопоставив частные конечные точки с реестрами контейнеров вместо всей службы, вы снизите риски утечки данных. См. дополнительные сведения: https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0
В реестрах контейнеров не должен быть разрешен неограниченный сетевой доступ По умолчанию реестры контейнеров Azure принимают подключения через Интернет от узлов в любой сети. Чтобы защитить свои реестры от потенциальных угроз, разрешите доступ только с определенных общедоступных IP-адресов или диапазонов адресов. Если для реестра нет правила IP-адресов или брандмауэра либо настроенной виртуальной сети, он отобразится как неработоспособный ресурс. См. дополнительные сведения о сетевых правилах Реестра контейнеров: https://aka.ms/acr/portal/public-network и https://aka.ms/acr/vnet. Audit, Deny, Disabled 1.1.0
Реестры контейнеров должны использовать приватный канал Приватный канал Azure позволяет подключить виртуальную сеть к службам Azure без общедоступного IP-адреса в исходном или целевом расположении. Платформа приватного канала обрабатывает подключение между потребителем и службами через магистральную сеть Azure. Сопоставление частных конечных точек с реестрами контейнеров, а не всей службой также обеспечивает защиту от утечки данных. См. дополнительные сведения: https://aka.ms/acr/private-link. Audit, Disabled 1.0.1
Реестр контейнеров должен использовать конечную точку службы виртуальной сети Эта политика выполняет аудит всех реестров контейнеров, не настроенных для использования конечной точки службы виртуальной сети. Audit, Disabled 1.0.0 (предварительная версия)
Для реестров контейнеров должен быть отключен доступ через общедоступную сеть Отключение доступа к общедоступной сети усиливает защиту, гарантируя, что реестры контейнеров не будут представлены в общедоступном Интернете. Создание частных конечных точек может снизить риски раскрытия ресурсов реестра контейнеров. Дополнительные сведения см. здесь: https://aka.ms/acr/portal/public-network и https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0
Должны быть устранены уязвимости в образах Реестра контейнеров Azure Средство оценки уязвимостей в образах контейнеров проверяет реестр на наличие уязвимостей в каждом из отправленных образов контейнеров и предоставляет подробные результаты для каждого образа (на платформе Qualys). Устранение уязвимостей может значительно улучшить безопасность контейнеров и защитить их от атак. AuditIfNotExists, Disabled 2.0.0

Назначение политик

Примечание

После назначения или обновления политики для применения изменений к ресурсам в заданной области потребуется некоторое время. См. сведения о триггерах оценки политики.

Проверка соответствия политик требованиям

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

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

Сведения о соответствии политик требованиям на портале:

  1. Выберите Все службы и найдите Политика.

  2. Выберите Соответствие.

  3. Используйте фильтры для выбора состояний соответствия требованиям и поиска политик.

    Сведения о соответствии политик требованиям на портале

  4. Выберите политику для просмотра сводных сведений о соответствии требованиям и событиях. При необходимости выберите конкретный реестр контейнеров для просмотра сведений о соответствии ресурсов требованиям.

Сведения о соответствии политик требованиям в Azure CLI

Также для получения сведений о соответствии можно использовать Azure CLI. Например, используйте команду az policy assignment list, чтобы получить идентификаторы политик, которые применяются к Реестру контейнеров Azure:

az policy assignment list --query "[?contains(displayName,'Container Registries')].{name:displayName, ID:id}" --output table

Пример результатов выполнения:

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
Container Registries should not allow unrestricted network access           /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/b4faf132dc344b84ba68a441
Container Registries should be encrypted with a Customer-Managed Key (CMK)  /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/cce1ed4f38a147ad994ab60a

Затем выполните команду az policy state list, чтобы посмотреть состояние соответствия требованиям в формате JSON для всех ресурсов с указанным идентификатором политики:

az policy state list \
  --resource <policyID>

Или выполните команду az policy state list, чтобы посмотреть состояние соответствия требованиям в формате JSON для определенного ресурса реестра, например myregistry:

az policy state list \
 --resource myregistry \
 --namespace Microsoft.ContainerRegistry \
 --resource-type registries \
 --resource-group myresourcegroup

Дальнейшие шаги