0Pricing
Azure Fundamentals · Урок

Azure Blueprints и соответствие требованиям

Объединяйте политики, назначения ролей и шаблоны ARM в повторно используемый Azure Blueprint, чтобы быстро создавать среды, соответствующие требованиям, для новых проектов.

«Azure Blueprints и соответствие требованиям» — бесплатный урок Azure Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Azure Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Azure Fundamentals содержит 4 уроков всего.

Что такое Azure Blueprints

Azure Blueprints — это Service, позволяющий определить повторяемый набор артефактов управления Azure — назначений ролей, назначений политик, ARM-шаблонов и групп ресурсов — и объединить их в один объект с версионированием. Затем Blueprint можно назначить подписке, чтобы за считанные минуты создать полностью настроенную среду, соответствующую требованиям. Blueprints предназначены для предприятий, которым необходимо создавать стандартизированные среды для новых проектов, команд или нормативных требований.

Артефакты Blueprint

Blueprint состоит из артефактов — строительных блоков создаваемой им среды. Поддерживаются следующие типы артефактов: группы ресурсов (создают группы ресурсов в определённых расположениях как контейнеры для других артефактов), ARM-шаблоны (разворачивают любую инфраструктуру Azure), назначения Azure Policy (применяют политики с параметрами) и назначения ролей RBAC (предоставляют доступ определённым пользователям или группам). Артефакты могут зависеть друг от друга и разворачиваются в правильном порядке.

// Blueprint structure example:
// Blueprint: 'ISO27001-LandingZone'
//   Artefact 1: Resource Group 'networking-rg'
//   Artefact 2: ARM Template (deploy VNet into networking-rg)
//   Artefact 3: ARM Template (deploy Log Analytics workspace)
//   Artefact 4: Policy Assignment 'ISO 27001' initiative
//   Artefact 5: Role Assignment (NetworkAdmins group = Network Contributor)
//   Artefact 6: Role Assignment (SecurityTeam = Security Reader)

Версионирование Blueprint

Blueprints поддерживают версионирование, позволяя одновременно хранить несколько опубликованных версий. При изменении Blueprint Вы редактируете черновик. Когда черновик готов, его публикуют как новую версию (например, v1.0, v1.1 или v2.0) с примечаниями к выпуску. Существующие назначения Blueprint сохраняют версию, с которой они были развёрнуты; при необходимости назначение можно явно обновить до более новой версии. Это обеспечивает контролируемое распространение изменений управления по подпискам.

# Create a blueprint definition
az blueprint create \
  --name 'ISO27001LandingZone' \
  --management-group mg-company \
  --description 'ISO 27001 compliant landing zone for new projects'

# Publish a version
az blueprint publish \
  --blueprint-name 'ISO27001LandingZone' \
  --management-group mg-company \
  --version '1.0' \
  --change-notes 'Initial release with networking, logging, and ISO policies'

Параметры Blueprint

Blueprints поддерживают параметры, благодаря которым одно и то же определение Blueprint можно настроить во время назначения, не создавая отдельный Blueprint для каждого варианта. Параметры можно определить на уровне Blueprint и передать отдельным артефактам либо определить непосредственно для каждого артефакта. Например, параметр allowedLocations можно передать артефакту политики, чтобы назначающий мог указать разрешённые регионы Azure для каждой подписки, не изменяя само определение Blueprint.

// Blueprint parameter defined at blueprint level:
{
  'parameters': {
    'allowedLocations': {
      'type': 'array',
      'metadata': {
        'displayName': 'Allowed Azure Regions',
        'description': 'Locations where resources can be deployed'
      }
    }
  }
}

Назначение Blueprint

Назначение Blueprint применяет опубликованную версию Blueprint к определённой подписке. Во время назначения Вы указываете значения параметров Blueprint, выбираете управляемое удостоверение с назначением системой или пользователем, которое Blueprint будет использовать для развёртывания артефактов (ему требуются достаточные разрешения RBAC), и решаете, нужно ли заблокировать артефакты Blueprint после развёртывания, чтобы пользователи подписки не могли их изменять.

# Assign a blueprint to a subscription
az blueprint assignment create \
  --name 'prod-subscription-baseline' \
  --blueprint-version '/providers/Microsoft.Management/managementGroups/mg-company/providers/Microsoft.Blueprint/blueprints/ISO27001LandingZone/versions/1.0' \
  --location eastus \
  --identity-type SystemAssigned \
  --resource-group-value artifact_name=networking-rg name=networking-rg location=eastus \
  --lock-mode AllResourcesReadOnly

Блокировки Blueprint

Назначения Blueprint могут блокировать развёрнутые артефакты, чтобы подписчики не могли изменять или удалять их. Существуют три режима блокировки: None (без блокировок), AllResourcesReadOnly (блокировка ReadOnly для всех развёрнутых ресурсов) и AllResourcesDoNotDelete (блокировка CanNotDelete для всех развёрнутых ресурсов). Блокировки Blueprint являются особенными: пока назначение Blueprint существует, их не могут удалить даже владельцы подписки, что обеспечивает более надёжную защиту, чем стандартные блокировки ресурсов.

Соответствие нормативным требованиям

Azure предоставляет Blueprints для соответствия нормативным требованиям в демонстрационной галерее Azure Blueprints для таких стандартов, как ISO 27001, NIST SP 800-53, PCI DSS, DoD IL4/IL5, FedRAMP, HIPAA/HITRUST и UK OFFICIAL. Эти демонстрационные Blueprints объединяют политики, назначения ролей и конфигурации инфраструктуры, необходимые для подтверждения соответствия каждому стандарту. Организации используют их как отправную точку, настраивая их и добавляя артефакты, специфичные для своей среды.

Blueprints и ARM-шаблоны

ARM-шаблоны и Blueprints предназначены для разных задач. ARM-шаблон разворачивает инфраструктуру в одной группе ресурсов или подписке, не поддерживая дальнейшую связь с развёрнутыми ресурсами. Назначение Blueprint сохраняет действующую связь между определением Blueprint и развёрнутой средой: можно отслеживать состояние развёртывания, обновляться до новой версии и защищать развёрнутые артефакты с помощью блокировок Blueprint, которые сохраняются даже при наличии RBAC на уровне Owner. Blueprints расширяют возможности ARM-шаблонов функциями, ориентированными на управление.

Blueprint и Azure Landing Zones

Современный ускоритель Azure Landing Zone от Microsoft (часть Cloud Adoption Framework) использует сочетание ARM-шаблонов, Bicep, Terraform и Azure Policy, а не Blueprints. Хотя Blueprints по-прежнему доступны, Microsoft уделяет больше внимания подходам на основе политик и IaC для крупномасштабных сред. Для сложных корпоративных развёртываний теперь предпочтителен подход CAF Landing Zone; Blueprints по-прежнему подходят для небольших автономных шаблонов сред.

Мониторинг соответствия Blueprint

В разделе Azure Blueprints каждое назначение Blueprint показывает состояние развёртывания (Succeeded, Failed, Locking) и состояние соответствия каждого артефакта. Если развёртывание артефакта завершается с ошибкой, можно просмотреть ошибку развёртывания ARM и повторить назначение. Артефакты политик внутри Blueprint сообщают о соответствии через стандартную панель мониторинга соответствия Azure Policy, поэтому Вы получаете единое представление как об успешности развёртывания, так и о текущем соответствии ресурсов.

# List blueprint assignments and their status
az blueprint assignment list \
  --subscription <sub-id> \
  --output table

# Get the status of a specific assignment
az blueprint assignment show \
  --name 'prod-subscription-baseline' \
  --subscription <sub-id>

Удаление назначений Blueprint

Чтобы вывести из эксплуатации среду, управляемую Blueprint, сначала необходимо удалить назначение Blueprint. Это снимает блокировки Blueprint со всех развёрнутых артефактов и разрывает связь между определением Blueprint и развёрнутыми ресурсами, но не удаляет сами развёрнутые ресурсы. Затем ARM-ресурсы очищаются отдельно в соответствии с процессом управления изменениями. Для удаления определения Blueprint сначала необходимо удалить все назначения.

# Delete a blueprint assignment (removes locks but not deployed resources)
az blueprint assignment delete \
  --name 'prod-subscription-baseline' \
  --subscription <sub-id>

Быстрая проверка

Проверьте своё понимание концепций Microsoft Azure Fundamentals (AZ-900), рассмотренных в этом уроке.

Итоги урока

В этом уроке Вы узнали, что Azure Blueprints объединяет назначения политик, назначения ролей, ARM-шаблоны и группы ресурсов в версионируемый повторно используемый объект управления, блокировки Blueprint защищают развёрнутые артефакты от изменений даже со стороны владельцев подписки, а Blueprints для соответствия нормативным требованиям из демонстрационной галереи ускоряют соответствие таким стандартам, как ISO 27001 и PCI DSS. Теперь Вы завершили курс по управлению Azure — далее мы рассмотрим Azure Resource Manager и инфраструктуру как код.

Часто задаваемые вопросы

Урок «Azure Blueprints и соответствие требованиям» бесплатный?

Да — полный текст урока «Azure Blueprints и соответствие требованиям» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Azure Fundamentals, подпишись на CoddyKit PRO. Курс Azure Fundamentals содержит 4 уроков всего.

Чему я научусь в уроке «Azure Blueprints и соответствие требованиям»?

Объединяйте политики, назначения ролей и шаблоны ARM в повторно используемый Azure Blueprint, чтобы быстро создавать среды, соответствующие требованиям, для новых проектов. Ты практикуешь Azure Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Azure Fundamentals?

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

Сколько времени занимает урок «Azure Blueprints и соответствие требованиям»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Azure Fundamentals?

Да. Каждый урок Azure Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Группы управления и подписки
  2. Azure Policy
  3. Теги и блокировки ресурсов
  4. Azure Blueprints и соответствие требованиям
← Назад к Azure Fundamentals