Рекомендации по построителю образов виртуальных машин Azure

Применимо к: ✔️ виртуальные машины Linux ✔️ виртуальные машины Windows ✔️ гибкие наборы масштабирования ✔️ унифицированные наборы масштабирования

В этой статье описаны рекомендации по использованию построителя образов виртуальных машин Azure.

Использование блокировок ресурсов для шаблонов изображений

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

Настройка шаблонов изображений для аварийного восстановления

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

Настройка триггеров

Настройте триггеры построителя образов виртуальных машин для автоматического пересборки образов и их обновления.

Включение оптимизации загрузки виртуальной машины

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

Использование собственных подсетей

Укажите собственные подсети виртуальной машины сборки (subnetId) и подсети экземпляров контейнеров Azure (containerInstanceSubnetId) для более жесткого контроля над развертыванием сетевых ресурсов с помощью построителя образов виртуальных машин в подписке. Указание этих подсетей также приводит к более быстрым и надежным сборкам образов.

Дополнительные сведения об этой топологии сети см. в разделе "Сборки изолированных образов".

Следуйте принципу наименьших привилегий

Следуйте принципу наименьших привилегий для ресурсов построителя образов виртуальных машин.

Шаблон изображения

Субъект, имеющий доступ к образу шаблона, может запускать, удалять или вносить изменения в него. Затем этот доступ позволяет субъекту изменить изображения, созданные шаблоном образа.

Убедитесь, что только необходимые субъекты могут получить доступ к шаблонам изображений.

Группа ресурсов для тестирования

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

  • Так как процесс настройки образа происходит в этой группе ресурсов, субъект, имеющий доступ к группе ресурсов, может скомпрометировать процесс создания образа. Например, такой субъект может внедрить вредоносные программы в образ.

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

  • Построитель образов виртуальных машин хранит реплику ваших объектов настройки в этой группе ресурсов. Субъект, имеющий доступ к группе ресурсов, может проверить эти копии.

Идентификация шаблона

Субъект, имеющий доступ к идентификатору шаблона, может получить доступ ко всем ресурсам, для которых у идентификатора есть разрешения. Этот набор ресурсов включает ваши пользовательские настройки (например, скрипты оболочки и PowerShell), целевые объекты развертывания (например, версию образа из Галереи вычислений Azure) и виртуальную сеть.

Необходимо этому удостоверению предоставить только минимальные необходимые привилегии.

Создание удостоверения виртуальной машины

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

Необходимо этому удостоверению предоставить только минимальные необходимые привилегии.

Credentials

Не помещайте учетные данные в шаблон изображения или в файлы, используемые для Shell, PowerShell, а также в настройки и валидаторы файлов. Рассмотрим пример.

  • При указании встроенных команд для настройщиков и проверяющих не указывайте пароль или другие учетные данные для входа. Вместо этого такие учетные данные должны храниться в Azure Key Vault, а затем к ним можно получить доступ из виртуальной машины сборки с помощью ее удостоверения.
  • Предоставляя файлы в кастомайзерах и валидаторах, не указывайте учетные данные в файлах. Вместо этого такие учетные данные должны храниться в Azure Key Vault, а затем к ним можно получить доступ из виртуальной машины сборки с помощью ее удостоверения.
  • При указании URI скриптов или источников для кастомизаторов и валидаторов в шаблоне образа не указывайте SAS URI или URI с учетными данными (например, личные маркеры доступа). Вместо этого сохраняйте такие файлы в учетной записи Azure Storage и используйте шаблонную идентичность для доступа к ним.

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

Если вы распределяете в Галерее вычислений Azure, обязательно следуйте лучшим практикам для ресурсов Галереи вычислений Azure.