Что такое Azure Blueprint?What is Azure Blueprints?

Так же, как чертеж позволяет инженеру или архитектору набросать конструктивные параметры для проекта, схемы Azure Blueprint позволяют облачным архитекторам и центральным ИТ-группам определять воспроизводимый набор ресурсов Azure, который реализует стандарты, шаблоны и требования организации и соблюдает их.Just as a blueprint allows an engineer or an architect to sketch a project's design parameters, Azure Blueprints enables cloud architects and central information technology groups to define a repeatable set of Azure resources that implements and adheres to an organization's standards, patterns, and requirements. С помощью Azure Blueprints группы разработчиков могут быстро создавать и настраивать новые среды, зная, что они создаются в соответствии с требованиями организации с рядом встроенных возможностей, таких как сетевое взаимодействие, для ускорения разработки и поставки.Azure Blueprints makes it possible for development teams to rapidly build and stand up new environments with trust they're building within organizational compliance with a set of built-in components, such as networking, to speed up development and delivery.

Схемы — это декларативный способ оркестрации развертывания различных шаблонов ресурсов и других артефактов, таких как:Blueprints are a declarative way to orchestrate the deployment of various resource templates and other artifacts such as:

  • Назначения ролейRole Assignments
  • Назначения политикPolicy Assignments
  • Шаблоны Azure Resource ManagerAzure Resource Manager templates
  • Группы ресурсовResource Groups

Служба Azure Blueprint поддерживает глобально распределенную базу данных Azure Cosmos DB.The Azure Blueprints service is backed by the globally distributed Azure Cosmos DB. Объекты схемы реплицируются в нескольких регионах Azure.Blueprint objects are replicated to multiple Azure regions. Такая репликация обеспечивает низкую задержку, высокий уровень доступности и постоянный доступ к объектам схемы, независимо от того, в каком регионе служба Azure Blueprints развернула ресурсы.This replication provides low latency, high availability, and consistent access to your blueprint objects, regardless of which region Azure Blueprints deploys your resources to.

В чем отличие от шаблонов Resource ManagerHow it's different from Resource Manager templates

Служба предназначена для помощи с настройкой среды.The service is designed to help with environment setup. Эта настройка часто состоит из набора групп ресурсов, политик, назначений ролей и развертываний шаблона Resource Manager.This setup often consists of a set of resource groups, policies, role assignments, and Resource Manager template deployments. Схема — это пакет, который объединяет все эти артефакты. Вы можете компоновать такие пакеты и создавать их версии, в том числе через конвейер CI/CD.A blueprint is a package to bring each of these artifact types together and allow you to compose and version that package, including through a CI/CD pipeline. В конечном счете каждый из них назначается подписке за одну операцию, которую можно контролировать и отслеживать.Ultimately, each is assigned to a subscription in a single operation that can be audited and tracked.

Почти все, что вам захочется включить в схемы для развертывания в Azure Blueprints, можно выполнить с помощью шаблона Resource Manager.Nearly everything that you want to include for deployment in Azure Blueprints can be accomplished with a Resource Manager template. Однако шаблон Resource Manager является документом, который не существует в исходном виде в Azure — каждый из них хранится локально или в системе управления версиями.However, a Resource Manager template is a document that doesn't exist natively in Azure – each is stored either locally or in source control. Шаблон используется для развертывания одного или нескольких ресурсов Azure, но после развертывания этих ресурсов нет ни активного подключения с используемым шаблоном, ни отношения к нему.The template gets used for deployments of one or more Azure resources, but once those resources deploy there's no active connection or relationship to the template.

В Azure Blueprints связь между определением схемы (тем, что должно быть развернуто) и назначением схемы (тем, что было развернуто) сохраняется.With Azure Blueprints, the relationship between the blueprint definition (what should be deployed) and the blueprint assignment (what was deployed) is preserved. Это подключение поддерживает улучшенные отслеживание и аудит развертываний.This connection supports improved tracking and auditing of deployments. Azure Blueprints также поддерживает одновременное обновление нескольких подписок, управляемых одной схемой.Azure Blueprints can also upgrade several subscriptions at once that are governed by the same blueprint.

Нет необходимости выбирать между схемой и шаблоном Resource Manager.There's no need to choose between a Resource Manager template and a blueprint. В каждой схеме может быть от нуля до нескольких артефактов шаблона Resource Manager.Each blueprint can consist of zero or more Resource Manager template artifacts. Эта поддержка означает, что предыдущие действия по разработке и поддержке библиотеки шаблонов Resource Manager не пропадут зря, так как все это можно использовать в Azure Blueprints.This support means that previous efforts to develop and maintain a library of Resource Manager templates are reusable in Azure Blueprints.

В чем отличие от Политики AzureHow it's different from Azure Policy

Схема — это пакет или контейнер для составления специальных наборов стандартов, шаблонов и требований к реализации облачных служб Azure, безопасности и разработке, которые можно использовать многократно для поддержания согласованности и соответствия требованиям.A blueprint is a package or container for composing focus-specific sets of standards, patterns, and requirements related to the implementation of Azure cloud services, security, and design that can be reused to maintain consistency and compliance.

Политика — это система разрешений по умолчанию и явных запретов, ориентированная на свойства ресурсов во время развертывания и предназначенная для уже существующих ресурсов.A policy is a default allow and explicit deny system focused on resource properties during deployment and for already existing resources. Она поддерживает облачное управление, проверяя соответствие ресурсов в подписке требованиям и стандартам.It supports cloud governance by validating that resources within a subscription adhere to requirements and standards.

Включение политики в схему позволяет создавать правильный шаблон или проект во время назначения схемы.Including a policy in a blueprint enables the creation of the right pattern or design during assignment of the blueprint. Применение политики также гарантирует, что в среду могут вноситься только утвержденные или планируемые изменения. Это обеспечивает постоянное соответствие целям схемы.The policy inclusion makes sure that only approved or expected changes can be made to the environment to protect ongoing compliance to the intent of the blueprint.

Политику можно включать в определение схем в качестве одного из многих артефактов.A policy can be included as one of many artifacts in a blueprint definition. Схемы также поддерживают использование параметров с политиками и инициативами.Blueprints also support using parameters with policies and initiatives.

Определение схемыBlueprint definition

Схема состоит из артефактов.A blueprint is made up of artifacts. Сейчас Azure Blueprints поддерживает следующие ресурсы в качестве артефактов:Azure Blueprints currently supports the following resources as artifacts:

РесурсResource Параметры иерархииHierarchy options ОписаниеDescription
Группы ресурсовResource Groups ПодпискаSubscription Создайте новую группу ресурсов для использования другими артефактами в схеме.Create a new resource group for use by other artifacts within the blueprint. Эти группы ресурсов-заполнителей позволяют упорядочивать ресурсы в точном соответствии с требуемой структурой и предоставляют механизм ограничения области для включенных артефактов назначения политик и ролей и шаблонов Azure Resource Manager.These placeholder resource groups enable you to organize resources exactly the way you want them structured and provides a scope limiter for included policy and role assignment artifacts and Azure Resource Manager templates.
Шаблон Azure Resource ManagerAzure Resource Manager template Подписка, группа ресурсовSubscription, Resource Group Шаблоны, включая вложенные и связанные, используются для создания сложных сред.Templates, including nested and linked templates, are used to compose complex environments. Примеры сред: ферма SharePoint, платформа настройки состояния службы автоматизации Azure или рабочая область Log Analytics.Example environments: a SharePoint farm, Azure Automation State Configuration, or a Log Analytics workspace.
Назначение политикиPolicy Assignment Подписка, группа ресурсовSubscription, Resource Group Позволяет назначать политику или инициативу подписке, которой назначена схема.Allows assignment of a policy or initiative to the subscription the blueprint is assigned to. Эта политика или инициатива должна быть в области расположения определения схемы.The policy or initiative must be within the scope of the blueprint definition location. Если политика или инициатива имеет параметры, эти параметры назначаются при создании схемы или во время назначения схемы.If the policy or initiative has parameters, these parameters are assigned at creation of the blueprint or during blueprint assignment.
Назначение ролейRole Assignment Подписка, группа ресурсовSubscription, Resource Group Добавьте существующего пользователя или группу во встроенную роль, чтобы соответствующие пользователи всегда имели соответствующий доступ к ресурсам.Add an existing user or group to a built-in role to make sure the right people always have the right access to your resources. Назначения ролей можно определить для всей подписки или в определенной группе ресурсов, включенной в схему.Role assignments can be defined for the entire subscription or nested to a specific resource group included in the blueprint.

Расположения определений схемыBlueprint definition locations

При создании определения схемы вы указываете место сохранения схемы.When creating a blueprint definition, you'll define where the blueprint is saved. Схемы можно сохранять только в группах управления или подписках, к которым у вас есть доступ участника.Blueprints can be saved to a management group or subscription that you have Contributor access to. Если расположение представляет собой группу управления, схему можно назначать любой дочерней подписке этой группы управления.If the location is a management group, the blueprint is available to assign to any child subscription of that management group.

Параметры схемыBlueprint parameters

Схемы могут передавать параметры в политику/инициативу или в шаблон Azure Resource Manager.Blueprints can pass parameters to either a policy/initiative or an Azure Resource Manager template. При добавлении в схему какого-либо артефакта автор выбирает, предоставить ли определенное значение каждому назначению схемы или разрешить предоставлять значение каждому назначению схемы во время назначения.When adding either artifact to a blueprint, the author decides to provide a defined value for each blueprint assignment or to allow each blueprint assignment to provide a value at assignment time. Такая гибкость позволяет задать предопределенное значение для всех видов использования схемы или разрешить принимать это решение во время назначения.This flexibility provides the option to define a pre-determined value for all uses of the blueprint or to enable that decision to be made at the time of assignment.

Примечание

Схема может иметь собственные параметры, но в настоящее время их можно создать только в том случае, если схема была создана из REST API, а не на портале.A blueprint can have its own parameters, but these can currently only be created if a blueprint is generated from REST API instead of through the Portal.

Дополнительные сведения см. в описании параметров схемы.For more information, see blueprint parameters.

Публикация схемыBlueprint publishing

Изначально, когда схема создается, она находится в режиме черновика.When a blueprint is first created, it's considered to be in Draft mode. Когда она будет готова к назначению, ее следует опубликовать.When it's ready to be assigned, it needs to be Published. Для публикации необходимо задать строку версия (буквы, цифры и дефисы, не более 20 символов) и при желании указать необязательные сведения об изменениях.Publishing requires defining a Version string (letters, numbers, and hyphens with a max length of 20 characters) along with optional Change notes. Каждый вариант этой схемы, полученный в результате будущих изменений, имеет свою версию, и можно назначать любую версию этой схемы.The Version differentiates it from future changes to the same blueprint and allows each version to be assigned. Кроме того, можно также назначать разные версии одной и той же схемы одной подписке.This versioning also means different Versions of the same blueprint can be assigned to the same subscription. Когда в схему вносятся дополнительные изменения, опубликованная версия продолжает существовать как версия с неопубликованными изменениями.When additional changes are made to the blueprint, the Published Version still exists, as do the Unpublished changes. После завершения изменений обновленная схема публикуется с новой и уникальной версией, и с этого момента ее также можно назначать.Once the changes are complete, the updated blueprint is Published with a new and unique Version and can now also be assigned.

Назначение схемыBlueprint assignment

Каждую опубликованную версию схемы (с именем максимальной длины в 90 символов) можно назначить существующей подписке.Each Published Version of a blueprint can be assigned (with a max name length of 90 characters) to an existing subscription. На портале схеме по умолчанию назначается версия, соответствующая версии последней опубликованной схемы.In the portal, the blueprint defaults the Version to the one Published most recently. Если имеются параметры артефакта (или параметры схемы), они будут задаваться в процессе назначения.If there are artifact parameters (or blueprint parameters), then the parameters are defined during the assignment process.

Разрешения в Azure BlueprintPermissions in Azure Blueprints

Чтобы использовать схемы, вам должны быть предоставлены разрешения с помощью управления доступом на основе ролей (RBAC).To use blueprints, you must be granted permissions through Role-based access control (RBAC). Для создания схем ваша учетная запись должна иметь следующие разрешения:To create blueprints, your account needs the following permissions:

  • Microsoft.Blueprint/blueprints/write — создание определения схемыMicrosoft.Blueprint/blueprints/write - Create a blueprint definition
  • Microsoft.Blueprint/blueprints/artifacts/write — создание артефактов в определении схемыMicrosoft.Blueprint/blueprints/artifacts/write - Create artifacts on a blueprint definition
  • Microsoft.Blueprint/blueprints/versions/write — публикация схемыMicrosoft.Blueprint/blueprints/versions/write - Publish a blueprint

Для удаления схем ваша учетная запись должна иметь следующие разрешения:To delete blueprints, your account needs the following permissions:

  • Microsoft.Blueprint/blueprints/delete
  • Microsoft.Blueprint/blueprints/artifacts/delete
  • Microsoft.Blueprint/blueprints/versions/delete

Примечание

Разрешения на определение схем должны быть предоставлены или унаследованы в области группе управления или подписке, где они хранятся.The blueprint definition permissions must be granted or inherited on the management group or subscription scope where it is saved.

Для назначения или отмены назначения схем ваша учетная запись должна иметь следующие разрешения:To assign or unassign a blueprint, your account needs the following permissions:

  • Microsoft.Blueprint/blueprintAssignments/write — назначение схемыMicrosoft.Blueprint/blueprintAssignments/write - Assign a blueprint
  • Microsoft.Blueprint/blueprintAssignments/delete — отмена назначения схемыMicrosoft.Blueprint/blueprintAssignments/delete - Unassign a blueprint

Примечание

Так как назначения схем создаются в подписке, разрешения на назначение и отмену назначения схем должны быть предоставлены в области подписки или унаследованы в области подписки.As blueprint assignments are created on a subscription, the blueprint assign and unassign permissions must be granted on a subscription scope or be inherited onto a subscription scope.

Доступны следующие встроенные роли:The following built-in roles are available:

Роль RBACRBAC Role ОписаниеDescription
ВладелецOwner Наряду с другими разрешениями включает все разрешения, связанные с Azure Blueprint.In addition to other permissions, includes all Azure Blueprint related permissions.
УчастникContributor Наряду с другими разрешениями позволяет создавать и удалять определения схем, но не назначать схемы.In addition to other permissions, can create and delete blueprint definitions, but doesn't have blueprint assignment permissions.
Участник схемыBlueprint Contributor Позволяет управлять определениями схем, но не назначать их.Can manage blueprint definitions, but not assign them.
Оператор схемыBlueprint Operator Позволяет назначать существующие опубликованные схемы, но не создавать новые определения схем.Can assign existing published blueprints, but can't create new blueprint definitions. Назначение схемы нужно выполнять только с использованием управляемого удостоверения, назначаемого пользователем.Blueprint assignment only works if the assignment is done with a user-assigned managed identity.

Если эти встроенные роли не соответствуют вашим требованиям безопасности, можно создать настраиваемую роль.If these built-in roles don't fit your security needs, consider creating a custom role.

Примечание

При использовании управляемого удостоверения, назначенного системой, субъекту-службе для Azure Blueprints требуется роль владельца в назначенной подписке, чтобы включить развертывание.If using a system-assigned managed identity, the service principal for Azure Blueprints requires the Owner role on the assigned subscription in order to enable deployment. При использовании портала эта роль автоматически предоставляется для развертывания и отменяется после завершения развертывания.If using the portal, this role is automatically granted and revoked for the deployment. При использовании REST API эту роль необходимо предоставлять вручную, но она тоже автоматически отменяется после завершения развертывания.If using the REST API, this role must be manually granted, but is still automatically revoked after the deployment completes. При использовании управляемого удостоверения, назначенного пользователем, разрешение Microsoft.Blueprint/blueprintAssignments/write нужно только пользователю, создающему назначение схемы. Это разрешение предоставляется с ролью Владелец и Оператор схемы.If using a user-assigned managed identity, only the user creating the blueprint assignment needs the Microsoft.Blueprint/blueprintAssignments/write permission, which is included in both the Owner and Blueprint Operator built-in roles.

Ограничения именNaming limits

Для некоторых полей применяются следующие ограничения:The following limitations exist for certain fields:

ОбъектObject ПолеField Допустимые символыAllowed Characters Макс.Max. ДлинаLength
СхемаBlueprint ИмяName буквы, цифры, дефисы и точкиletters, numbers, hyphens, and periods 4848
СхемаBlueprint ВерсияVersion буквы, цифры, дефисы и точкиletters, numbers, hyphens, and periods 2020
Назначение схемыBlueprint assignment ИмяName буквы, цифры, дефисы и точкиletters, numbers, hyphens, and periods 9090
Артефакт схемыBlueprint artifact ИмяName буквы, цифры, дефисы и точкиletters, numbers, hyphens, and periods 4848

ВидеообзорVideo overview

Обзор Azure Blueprint из цикла видеоматериалов "Пятницы с Azure".The following overview of Azure Blueprints is from Azure Fridays. См. видеообзор Azure Blueprint из цикла видеоматериалов "Пятницы с Azure" на канале Channel 9.For video download, visit Azure Fridays - An overview of Azure Blueprints on Channel 9.

Дальнейшие действияNext steps