Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы запретить пользователям реестра в организации злонамеренно или случайно утечку артефактов за пределами виртуальной сети, можно настроить политику экспорта реестра для отключения экспорта.
Политика экспорта — это свойство, введенное в API версии 2021-06-01-preview для реестров контейнеров Premium. Свойство exportPolicy , если задано его состояние disabled, блокирует экспорт артефактов из реестра, ограниченного сетью, когда пользователь пытается:
- Импорт артефактов реестра в другой реестр контейнеров Azure
- Создайте конвейер экспорта для передачи артефактов в другой контейнерный реестр.
Замечание
Отключение экспорта артефактов не предотвращает доступ авторизованных пользователей к реестру в виртуальной сети для извлечения артефактов или выполнения других операций плоскости данных. Для аудита этого использования рекомендуется настроить параметры диагностики для мониторинга операций реестра.
Предпосылки
- Реестр контейнеров класса Premium, настроенный с частной конечной точкой.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье "Начало работы с Azure Cloud Shell".
Если вы предпочитаете локально запускать справочные команды CLI, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье о запуске Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Сведения о других параметрах входа см. в статье "Проверка подлинности в Azure с помощью Azure CLI".
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье "Использование расширений и управление ими" с помощью Azure CLI.
Запустите az version , чтобы найти установленные версии и зависимые библиотеки. Чтобы обновить до последней версии, выполните az upgrade.
Другие требования для отключения экспорта
Отключение доступа к общедоступной сети . Чтобы отключить экспорт артефактов, необходимо также отключить общедоступный доступ к реестру (свойству реестра
publicNetworkAccessнеобходимо задать значениеdisabled). Вы можете отключить доступ к общедоступной сети к реестру, прежде чем отключить экспорт или отключить его одновременно.Отключив доступ к общедоступной конечной точке реестра, убедитесь, что операции реестра разрешены только в виртуальной сети. Общедоступный доступ к реестру для извлечения артефактов и выполнения других операций запрещен.
Удалите конвейеры экспорта. Прежде чем задать состояние
exportPolicyреестраdisabled, удалите все существующие конвейеры экспорта, настроенные в реестре. Если конвейер настроен, вы не можете изменитьexportPolicyсостояние.
Отключение exportPolicy для существующего реестра
При создании реестра exportPolicy состояние устанавливается enabled по умолчанию, что позволяет экспортировать артефакты. Вы можете обновить состояние до disabled с помощью шаблона ARM или командой az resource update.
Шаблон ARM
Включите следующий код JSON, чтобы обновить exportPolicy свойство и задать значение publicNetworkAccess для состояния disabled. Дополнительные сведения о развертывании ресурсов с помощью шаблонов ARM.
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"publicNetworkAccess": "disabled",
"policies": {
"exportPolicy": {
"status": "disabled"
}
}
}
}
]
[...]
}
Azure CLI (Интерфейс командной строки для Azure)
Выполните az resource update, чтобы задать состояние exportPolicy в существующем реестре disabled. Замените имена реестра и группы ресурсов.
Как показано в этом примере, при отключении свойства `exportPolicy`, также задайте значение свойства `publicNetworkAccess` в `disabled`.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=disabled" \
--set "properties.publicNetworkAccess=disabled"
В выходных данных показано, что состояние политики экспорта отключено.
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry",
"identity": null,
"kind": null,
"location": "centralus",
"managedBy": null,
"name": "myregistry",
"plan": null,
"properties": {
[...]
"policies": {
"exportPolicy": {
"status": "disabled"
},
"quarantinePolicy": {
"status": "disabled"
},
"retentionPolicy": {
"days": 7,
"lastUpdatedTime": "2023-07-20T23:20:30.9985256+00:00",
"status": "disabled"
},
"trustPolicy": {
"status": "disabled",
"type": "Notary"
},
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"publicNetworkAccess": "Disabled",
"zoneRedundancy": "Disabled"
[...]
}
Включение политики экспорта
После отключения exportPolicy состояния в реестре его можно повторно включить в любое время с помощью шаблона ARM или az resource update команды.
Шаблон ARM
Добавьте следующий JSON, чтобы обновить статус exportPolicy на enabled. Дополнительные сведения о развертывании ресурсов с помощью шаблонов ARM
{
[...]
"resources": [
{
"type": "Microsoft.ContainerRegistry/registries",
"apiVersion": "2021-06-01-preview",
"name": "myregistry",
[...]
"properties": {
"policies": {
"exportPolicy": {
"status": "enabled"
}
}
}
}
]
[...]
}
Azure CLI (Интерфейс командной строки для Azure)
Запустите az resource update, чтобы установить статус exportPolicy в enabled. Замените имена реестра и группы ресурсов.
az resource update --resource-group myResourceGroup \
--name myregistry \
--resource-type "Microsoft.ContainerRegistry/registries" \
--api-version "2021-06-01-preview" \
--set "properties.policies.exportPolicy.status=enabled"
Дальнейшие шаги
- Общие сведения о разрешениях и ролях реестра контейнеров Azure.
- Если вы хотите предотвратить случайное удаление артефактов реестра, см. раздел "Блокировка образов контейнеров".
- Узнайте о встроенных политиках Azure для защиты реестра контейнеров Azure