Упорядочивание ресурсов с помощью групп управления AzureOrganize your resources with Azure management groups

Если в вашей организации оформлено много подписок, возможно, потребуется повысить эффективность управления доступом, политиками и соответствием требованиям для этих подписок.If your organization has many subscriptions, you may need a way to efficiently manage access, policies, and compliance for those subscriptions. Группы управления Azure обеспечивают высокий уровень охвата подписок.Azure management groups provide a level of scope above subscriptions. Подписки упорядочиваются в контейнеры, которые называются группами управления. К ним применяются условия системы управления.You organize subscriptions into containers called "management groups" and apply your governance conditions to the management groups. Все подписки в группе управления автоматически наследуют условия, применяемые к группе управления.All subscriptions within a management group automatically inherit the conditions applied to the management group. Группы управления обеспечивают корпоративное управление в больших масштабах независимо от типа подписки.Management groups give you enterprise-grade management at a large scale no matter what type of subscriptions you might have. Все подписки в одной группе управления должны доверять одному и тому же клиенту Azure Active Directory.All subscriptions within a single management group must trust the same Azure Active Directory tenant.

Например, вы можете применить политики к группе управления, которая ограничивает регионы, где можно создать виртуальную машину.For example, you can apply policies to a management group that limits the regions available for virtual machine (VM) creation. Эта политика будет применяться ко всем группам управления, подпискам и ресурсам в этой группе управления, разрешая создавать виртуальные машины только в этом регионе.This policy would be applied to all management groups, subscriptions, and resources under that management group by only allowing VMs to be created in that region.

Иерархия групп управления и подписокHierarchy of management groups and subscriptions

Вы можете создать гибкую структуру групп управления и подписок для упорядочивания своих ресурсов в иерархию для унифицированного управления политикой и доступом.You can build a flexible structure of management groups and subscriptions to organize your resources into a hierarchy for unified policy and access management. На следующей схеме показано, как создать иерархию управления с использованием групп управления.The following diagram shows an example of creating a hierarchy for governance using management groups.

Пример иерархического дерева группы управления

Вы можете создать иерархию, чтобы применить политику, например разрешить группе управления "Рабочая среда" создавать виртуальные машины только в регионе "Западная часть США".You can create a hierarchy that applies a policy, for example, which limits VM locations to the US West Region in the group called "Production". Эта политика будет наследоваться во всех подписках на основе Соглашения Enterprise (EA), которые наследуются от этой группы управления, и применяться ко всем виртуальным машинам в этих подписках.This policy will inherit onto all the Enterprise Agreement (EA) subscriptions that are descendants of that management group and will apply to all VMs under those subscriptions. Владелец ресурса или подписки не может изменить эту политику, что улучшает функции управления.This security policy cannot be altered by the resource or subscription owner allowing for improved governance.

Еще один сценарий, в котором можно использовать группы управления, — предоставление пользователю доступа к нескольким подпискам.Another scenario where you would use management groups is to provide user access to multiple subscriptions. Перемещая несколько подписок в пределах одной группы управления, вы можете создать одно назначение RBAC (управление доступом на основе ролей) в этой группе управления, которая унаследует доступ ко всем нужным подпискам.By moving multiple subscriptions under that management group, you can create one role-based access control (RBAC) assignment on the management group, which will inherit that access to all the subscriptions. Не нужно создавать скрипты назначений RBAC для разных подписок. Вместо этого вы можете разрешить пользователям доступ к необходимым ресурсам с помощью одного назначения в группе управления.One assignment on the management group can enable users to have access to everything they need instead of scripting RBAC over different subscriptions.

Важные сведения о группах управленияImportant facts about management groups

  • Один каталог может поддерживать 10 000 групп управления.10,000 management groups can be supported in a single directory.
  • Дерево группы управления может поддерживать до шести уровней глубины.A management group tree can support up to six levels of depth.
    • Это ограничение не включает уровень корня или подписки.This limit doesn't include the Root level or the subscription level.
  • Каждая группа управления и подписка может поддерживать только одну родительскую группу.Each management group and subscription can only support one parent.
  • Каждая группа управления может содержать несколько дочерних групп.Each management group can have many children.
  • Все группы управления и подписки включены в иерархию в каждом каталоге.All subscriptions and management groups are within a single hierarchy in each directory. См. важные сведения о корневой группе управления.See Important facts about the Root management group.

Корневая группа управления для каждого каталогаRoot management group for each directory

Каждому каталогу присваивается одна группа управления верхнего уровня, которая называется корневой группой управления.Each directory is given a single top-level management group called the "Root" management group. Эта группа встроена в иерархию, чтобы в нее входили все группы управления и подписки.This root management group is built into the hierarchy to have all management groups and subscriptions fold up to it. Она позволяет применять глобальные политики и назначения ролей RBAC на уровне каталогов.This root management group allows for global policies and RBAC assignments to be applied at the directory level. Глобальному администратору Azure AD нужно повысить привилегии до роли администратора доступа пользователей, чтобы он изначально был владельцем этой корневой группы управления.The Azure AD Global Administrator needs to elevate themselves to the User Access Administrator role of this root group initially. После повышения привилегий администратор сможет назначить любую роль RBAC другим пользователям или группам в каталоге для управления иерархией.After elevating access, the administrator can assign any RBAC role to other directory users or groups to manage the hierarchy. Как администратор вы можете назначить собственную учетную запись от имени владельца корневой группы управления.As administrator, you can assign your own account as owner of the root management group.

Важные сведения о корневой группе управленияImportant facts about the Root management group

  • По умолчанию отображаемое имя корневой группы управления — это имя корневой группы клиента.By default, the root management group's display name is Tenant root group. В качестве идентификатора используется идентификатор Azure Active Directory.The ID is the Azure Active Directory ID.
  • Чтобы изменить отображаемое имя, учетной записи необходимо назначить роль владельца или участника в корневой группе управления.To change the display name, your account must be assigned the Owner or Contributor role on the root management group. Инструкции по изменению имени группы управления представлены здесь.See Change the name of a management group to update the name of a management group.
  • Корневую группу управления нельзя переместить или удалить, в отличие от других групп управления.The root management group can't be moved or deleted, unlike other management groups.
  • Все группы управления и подписки добавляются в единую корневую группу управления в каталоге.All subscriptions and management groups fold up to the one root management group within the directory.
    • Все ресурсы в каталоге добавляются в корневую группу управления для глобального управления.All resources in the directory fold up to the root management group for global management.
    • Новые подписки автоматически попадают в корневую группу управления при создании.New subscriptions are automatically defaulted to the root management group when created.
  • Все клиенты Azure могут видеть корневую группу управления, но не у всех клиентов есть доступ к управлению этой корневой группой управления.All Azure customers can see the root management group, but not all customers have access to manage that root management group.
    • Все, кто имеет доступ к подписке, могут видеть контекст расположения подписки в иерархии.Everyone who has access to a subscription can see the context of where that subscription is in the hierarchy.
    • Никто не получает доступ к корневой группе управления по умолчанию.No one is given default access to the root management group. Только глобальные администраторы Azure AD могут повысить свои права для получения доступа.Azure AD Global Administrators are the only users that can elevate themselves to gain access. Получив доступ к корневой группе управления, глобальные администраторы могут назначить любую роль RBAC другим пользователям дляOnce they have access to the root management group, the global administrators can assign any RBAC role to other users to manage
      управления.it.
  • В пакете SDK корневая группа управления ("корень клиента") действует как группа управления.In SDK, the root management group, or 'Tenant Root', operates as a management group.

Важно!

Любое назначение доступа или политики в корневой группе управления применяется ко всем ресурсам в каталоге.Any assignment of user access or policy assignment on the root management group applies to all resources within the directory. Поэтому все клиенты должны оценивать необходимость определения элементов в этой области.Because of this, all customers should evaluate the need to have items defined on this scope. Доступ для пользователей или назначения политики должны быть обязательными только в этойUser access and policy assignments should be "Must Have" only at this
области.scope.

Начальная настройка групп управленияInitial setup of management groups

Когда любой пользователь начинает использовать группы управления, выполняется начальная настройка.When any user starts using management groups, there's an initial setup process that happens. Сначала в каталоге создается корневая группа управления.The first step is the root management group is created in the directory. После создания этой группы все существующие подписки из каталога становятся дочерними элементами корневой группы управления.Once this group is created, all existing subscriptions that exist in the directory are made children of the root management group. Это делается для того, чтобы в каталоге существовала только одна иерархия групп управления.The reason for this process is to make sure there's only one management group hierarchy within a directory. Одна иерархия в каталоге позволяет административным клиентам применять глобальный доступ и политики, которые другие клиенты в каталоге не могут обойти.The single hierarchy within the directory allows administrative customers to apply global access and policies that other customers within the directory can't bypass. Все назначенные в корневой группе элементы будут распространяться на всю иерархию, включая все группы управления, подписки, группы ресурсов и ресурсы в арендаторе Azure AD.Anything assigned on the root will apply to the entire hierarchy, which includes all management groups, subscriptions, resource groups, and resources within that Azure AD Tenant.

Проблемы с отображением всех подписокTrouble seeing all subscriptions

В некоторых каталогах, для которых группы управления использовались на раннем этапе предварительной версии до 25 июня 2018 г., может возникнуть проблема, когда не все подписки входят в иерархию.A few directories that started using management groups early in the preview before June 25 2018 could see an issue where not all the subscriptions were within the hierarchy. Это связано с тем, что все подписки были перемещены в иерархию после назначения роли или политики в корневой группе управления в каталоге.The process to have all subscriptions in the hierarchy was put in place after a role or policy assignment was done on the root management group in the directory.

Способы устранения проблемыHow to resolve the issue

Устранить эту проблему можно двумя способами.There are two options you can do to resolve this issue.

  • Удалить все назначения ролей и политик из корневой группы управления.Remove all Role and Policy assignments from the root management group
    • Если удалить все назначения политик и ролей из корневой группы управления, служба снова заполнит все подписки в иерархии в следующем цикле.By removing any policy and role assignments from the root management group, the service will backfill all subscriptions into the hierarchy the next overnight cycle. Это позволяет проверить, не был ли случайно предоставлен доступ ко всем подпискам клиентов или назначена политика всем подпискам клиентов.This process is so there's no accidental access given or policy assignment to all of the tenants subscriptions.
    • Чтобы выполнить эту проверку без влияния на работу служб, лучше всего применить назначения ролей или политик на один уровень ниже корневой группы управления.The best way to do this process without impacting your services is to apply the role or policy assignments one level below the Root management group. После этого можно удалить все назначения из корневой области.Then you can remove all assignments from the root scope.
  • Вызвать API напрямую, чтобы начать процесс обратного заполнения.Call the API directly to start the backfill process
    • Любой клиент в каталоге может вызвать API TenantBackfillStatusRequest или StartTenantBackfillRequest.Any customer in the directory can call the TenantBackfillStatusRequest or StartTenantBackfillRequest APIs. Если вызвать API StartTenantBackfillRequest, запустится процесс начальной настройки для перемещения всех подписок в иерархию.When the StartTenantBackfillRequest API is called, it kicks off the initial setup process of moving all the subscriptions into the hierarchy. В рамках этого процесса также все новые подписки принудительно назначаются в качестве дочерних для корневой группы управления.This process also starts the enforcement of all new subscription to be a child of the root management group. Это можно сделать, не изменяя назначения на корневом уровне.This process can be done without changing any assignments on the root level. Вызывая API, вы соглашаетесь с тем, что любое назначение политики или доступа будет применяться ко всем подпискам.By calling the API, you're saying it's okay that any policy or access assignment on the root can be applied to all subscriptions.

Если у вас есть вопросы о процессе обратного заполнения, свяжитесь с нами: managementgroups@microsoft.comIf you have questions on this backfill process, contact: managementgroups@microsoft.com

Доступ к группе управленияManagement group access

Группы управления Azure поддерживают управление доступом на основе ролей в Azure (RBAC) для любого доступа к ресурсам и определения ролей.Azure management groups support Azure Role-Based Access Control (RBAC) for all resource accesses and role definitions. Эти разрешения наследуются дочерними ресурсами, которые есть в иерархии.These permissions are inherited to child resources that exist in the hierarchy. Любую роль RBAC можно назначить группе управления, и она будет наследоваться ресурсами вниз по иерархии.Any RBAC role can be assigned to a management group that will inherit down the hierarchy to the resources. Например, группе управления можно назначить роль RBAC участника виртуальной машины.For example, the RBAC role VM contributor can be assigned to a management group. Эта роль не имеет действий в группе управления, но будет наследоваться для всех виртуальных машин в этой группе управления.This role has no action on the management group, but will inherit to all VMs under that management group.

В следующей таблице приводится список ролей и доступных действий в группах управления.The following chart shows the list of roles and the supported actions on management groups.

Роль RBACRBAC Role Name СозданиеCreate ПереименоватьRename Перемещение**Move** DELETEDelete Назначение доступаAssign Access Назначение политикиAssign Policy ЧтениеRead
ВладелецOwner XX XX XX XX XX XX XX
УчастникContributor XX XX XX XX XX
Участник группы управления*MG Contributor* XX XX XX XX XX
ЧитательReader XX
Читатель группы управления*MG Reader* XX
Участник политики ресурсовResource Policy Contributor XX
Администратор доступа пользователейUser Access Administrator XX XX

*: Роли участника и читателя группы управления позволяют выполнять указанные выше действия только в области действия группы управления.*: MG Contributor and MG Reader only allow users to do those actions on the management group scope.
**: Чтобы переместить подписку или группу управления в корневую группу управления или из нее, в корневой группе не требуется назначать роли.**: Role Assignments on the Root management group aren't required to move a subscription or management group to and from it. Сведения о перемещении элементов в пределах иерархии см. в статье Manage your resources with management groups (Управление ресурсами с помощью групп управления).See Manage your resources with management groups for details on moving items within the hierarchy.

Определение и назначение настраиваемой роли RBACCustom RBAC role definition and assignment

Настраиваемая роль RBAC для групп управления сейчас доступна в предварительной версии с некоторыми ограничениями.Custom RBAC role support for management groups is currently in preview with some limitations. Область группы управления можно определить в назначаемой области определения роли.You can define the management group scope in the Role Definition's assignable scope. Настраиваемая роль RBAC будет доступна для назначения в этой группе управления и любой группе управления, подписке, группе ресурсов или ресурсу ниже по уровню иерархии.That custom RBAC Role will then be available for assignment on that management group and any management group, subscription, resource group, or resource under it. Наследование настраиваемой роли выполняется вниз по иерархии так же, как и для любой встроенной роли.This custom role will inherit down the hierarchy like any built-in role.

Пример определенияExample definition

Определение и создание настраиваемой роли не изменяется при добавлении групп управления.Defining and creating a custom role does not change with the inclusion of management groups. Чтобы определить группу управления, используйте полный путь /providers/Microsoft.Management/managementgroups/{идентификатор_группы} .Use the full path to define the management group /providers/Microsoft.Management/managementgroups/{groupId}.

Используйте для группы управления идентификатор, но не отображаемое имя.Use the management group's ID and not the management group's display name. Эта типичная ошибка связана с тем, что оба эти поля настраиваются пользователем при создании группы управления.This common error happens since both are custom-defined fields when creating a management group.

...
{
  "Name": "MG Test Custom Role",
  "Id": "id", 
  "IsCustom": true,
  "Description": "This role provides members understand custom roles.",
  "Actions": [
    "Microsoft.Management/managementgroups/delete",
    "Microsoft.Management/managementgroups/read",
    "Microsoft.Management/managementgroup/write",
    "Microsoft.Management/managementgroup/subscriptions/delete",
    "Microsoft.Management/managementgroup/subscriptions/write",
    "Microsoft.resources/subscriptions/read",
    "Microsoft.Authorization/policyAssignments/*",
    "Microsoft.Authorization/policyDefinitions/*",
    "Microsoft.Authorization/policySetDefinitions/*",
    "Microsoft.PolicyInsights/*",
    "Microsoft.Authorization/roleAssignments/*",
    "Microsoft.Authorization/roledefinitions/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
        "/providers/microsoft.management/managementGroups/ContosoCorporate"
  ]
}
...

Проблемы с нарушением иерархии наследования для определения и назначения ролиIssues with breaking the role definition and assignment hierarchy path

Определения ролей можно назначать в любом месте иерархии групп управления.Role definitions are assignable scope anywhere within the management group hierarchy. Вы можете определить роль в родительской группе управления, а фактическое назначение этой роли создать уже для дочерней подписки.A role definition can be defined on a parent management group while the actual role assignment exists on the child subscription. Так как между этими двумя элементами существует связь, при попытке отделения назначения роли от ее определения возникнет ошибка.Since there's a relationship between the two items, you'll receive an error when trying to separate the assignment from its definition.

Например, давайте рассмотрим небольшой фрагмент иерархии для визуального элемента.For example, let's look at a small section of a hierarchy for a visual.

поддерево

Предположим, что в группе управления Marketing определена настраиваемая роль.Let's say there's a custom role defined on the Marketing management group. Эта настраиваемая роль назначена двум бесплатным пробным подпискам.That custom role is then assigned on the two free trial subscriptions.

Если мы попытаемся переместить одну из этих подписок в группу управления Production, такое перемещение приведет к нарушению пути между назначением роли в подписке и определением этой роли в группе управления Marketing.If we try to move one of those subscriptions to be a child of the Production management group, this move would break the path from subscription role assignment to the Marketing management group role definition. В этом случае вы получите ошибку с сообщением о том, что перемещение не допускается из-за нарушения связи.In this scenario, you'll receive an error saying the move isn't allowed since it will break this relationship.

Существует несколько вариантов, позволяющих исправить ситуацию.There are a couple different options to fix this scenario:

  • Удалите назначение роли из подписки перед ее перемещением в другую родительскую группу управления.Remove the role assignment from the subscription before moving the subscription to a new parent MG.
  • Добавьте подписку в назначаемую область определения роли.Add the subscription to the Role Definition's assignable scope.
  • Измените назначаемую область в определении роли.Change the assignable scope within the role definition. В приведенном выше примере вы можете указать в качестве назначаемой области корневую группу управления, чтобы определение стало доступно в обеих ветвях иерархии.In the above example, you can update the assignable scopes from Marketing to Root Management Group so that the definition can be reached by both branches of the hierarchy.
  • Создайте дополнительную настраиваемую роль, определив ее в другой ветви.Create an additional Custom Role that will be defined in the other branch. Также потребуется изменить назначение роли в подписке, чтобы оно указывало на эту новую роль.This new role will require the role assignment to be changed on the subscription also.

ОграниченияLimitations

Существуют некоторые ограничения на использование настраиваемых ролей в группах управления.There are limitations that exist when using custom roles on management groups.

  • В назначаемых областях новой роли можно определить только одну группу управления.You can only define one management group in the assignable scopes of a new role. Это ограничение позволяет сократить количество ситуаций, в которых определения и назначения ролей теряют связь.This limitation is in place to reduce the number of situations where role definitions and role assignments are disconnected. Эта ситуация возникает, когда подписка или группа управления с назначением роли перемещается в другой родительский элемент, который не имеет определения этой роли.This situation happens when a subscription or management group with a role assignment is moved to a different parent that doesn't have the role definition.
  • Действия в плоскости данных RBAC невозможно определить в пользовательских ролях для группы управления.RBAC Data Plane actions can't be defined in management group custom roles. Это ограничение связано с тем, что существует задержка при выполнении действий RBAC, обновляющих поставщики ресурсов в плоскости данных.This restriction is in place as there's a latency issue with RBAC actions updating the data plane resource providers. Мы работаем над устранением этой проблемы с задержкой, но пока для снижения рисков эти действия не поддерживаются в определениях ролей.This latency issue is being worked on and these actions will be disabled from the role definition to reduce any risks.
  • Azure Resource Manager не проверяет существование группы управления, указанной в назначаемой области определения роли.The Azure Resource Manager doesn't validate the management group's existence in the role definition's assignable scope. Если вы допустите опечатку или примените неверный идентификатор группы управления, создание определения роли все равно пройдет успешно.If there's a typo or an incorrect management group ID listed, the role definition will still be created.

Перемещение групп управления и подписокMoving management groups and subscriptions

Чтобы переместить группу управления или подписку таким образом, чтобы она считалась дочерней по отношению к другой группе управления, должны выполнятся три условия.To move a management group or subscription to be a child of another management group, three rules need to be evaluated as true.

Чтобы выполнить перемещение, вам потребуется следующее:If you're doing the move action, you need:

  • Разрешения на запись сведений о группе управления и назначении роли в дочерней подписке или группе управления.Management group write and Role Assignment write permissions on the child subscription or management group.
    • Пример встроенной роли: Владелец.Built-on role example Owner
  • Разрешения на запись сведений о группе управления в целевой родительской группе управления.Management group write access on the target parent management group.
    • Пример встроенной роли: Владелец, Участник, Участник группы управления.Built-in role example: Owner, Contributor, Management Group Contributor
  • Разрешения на запись сведений о группе управления в нынешней родительской группе управления.Management group write access on the existing parent management group.
    • Пример встроенной роли: Владелец, Участник, Участник группы управления.Built-in role example: Owner, Contributor, Management Group Contributor

Исключение. Если целевой или нынешней родительской группой управления является корневая группа управления, требования к разрешениям не применяются.Exception: If the target or the existing parent management group is the Root management group, the permissions requirements don't apply. Так как корневая группа управления по умолчанию считается родительской для всех новых групп управления и подписок, перемещение элементов в нее не требует дополнительных разрешений.Since the Root management group is the default landing spot for all new management groups and subscriptions, you don't need permissions on it to move an item.

Если роль владельца подписки наследуется из нынешней родительской группы управления, выбор целевых объектов для перемещения будет ограничен.If the Owner role on the subscription is inherited from the current management group, your move targets are limited. Вы можете переместить подписку только в другую группу управления, для которой у вас есть роль владельца.You can only move the subscription to another management group where you have the Owner role. Вы не сможете переместить ее в группу управления, для которой являетесь участником, так как при этом потеряете роль владельца для подписки.You can't move it to a management group where you're a contributor because you would lose ownership of the subscription. Если роль владельца для подписки назначена вам напрямую (а не наследуется от группы управления), вы можете переместить подписку в любую группу управления, для которой являетесь участником.If you're directly assigned to the Owner role for the subscription (not inherited from the management group), you can move it to any management group where you're a contributor.

Аудит групп управления с помощью журналов действийAudit management groups using activity logs

Журнал действий Azure поддерживает группы управления.Management groups are supported within Azure Activity Log. Сведения обо всех событиях, происходящих в группе управления, можно найти в том же централизованном расположении, что и другие ресурсы Azure.You can search all events that happen to a management group in the same central location as other Azure resources. Например, вы можете просмотреть сведения обо всех изменениях в назначениях ролей или назначении политик, внесенные в пределах определенной группы управления.For example, you can see all Role Assignments or Policy Assignment changes made to a particular management group.

Журналы действий для групп управления

Если нужно создать запрос к группам управления вне портала Azure, целевая область для групп управления будет такой: "/providers/Microsoft.Management/managementGroups/{идентификатор_вашей_группы_управления}" .When looking to query on Management Groups outside of the Azure portal, the target scope for management groups looks like "/providers/Microsoft.Management/managementGroups/{yourMgID}".

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

Дополнительные сведения о группах управления:To learn more about management groups, see: