Управление подписками Azure в большом масштабе с помощью групп управления

Если в вашей организации оформлено много подписок, возможно, потребуется повысить эффективность управления доступом, политиками и соответствием требованиям для этих подписок. Группы управления Azure обеспечивают высокий уровень охвата подписок. Подписки упорядочиваются в контейнеры, которые называются группами управления. К ним применяются условия системы управления. Все подписки в группе управления автоматически наследуют условия, применяемые к группе управления.

Группы управления обеспечивают корпоративное управление в больших масштабах независимо от типа подписки. Дополнительные сведения о группах управления см. в статье Упорядочение ресурсов с помощью групп управления Azure.

Примечание

В этой статье приведены пошаговые инструкции по удалению персональных данных с устройства или из службы. Эти сведения можно использовать для соблюдения обязательств согласно Общему регламенту по защите данных (GDPR). Общие сведения о GDPR см. в разделе, посвященном GDPR, в Центре управления безопасностью Майкрософт и на портале Service Trust Portal.

Важно!

Токены пользователей и кэш группы управления в Azure Resource Manager сохраняются в течение 30 минут, а затем принудительно обновляются. После выполнения любых действий, таких как перемещение группы управления или подписки, изменения могут отобразиться только через 30 минут. Чтобы увидеть их раньше, вам нужно принудительно обновить токен. Для этого обновите страницу в браузере, выйдите из системы и снова войдите, или запросите новый токен.

Важно!

Командлеты Az PowerShell, связанные с AzManagementGroup, упоминают, что параметр -GroupId является псевдонимом параметра -GroupName, поэтому мы можем использовать любой из них, чтобы предоставить идентификатор группы управления в виде строкового значения.

Изменение имени группы управления

Имя группы управления можно изменить с помощью портала, PowerShell или Azure CLI.

Изменение имени на портале

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Выберите группу управления, которую требуется переименовать.

  4. Щелкните Сведения.

  5. Выберите параметр Переименовать группу в верхней части страницы.

    Снимок экрана: панель действий и кнопка

  6. Когда откроется меню, введите новое имя.

    Снимок экрана: окно

  7. Щелкните Сохранить.

Изменение имени в PowerShell

Чтобы обновить отображаемое имя, выполните команду Update-AzManagementGroup. Например, чтобы изменить отображаемое имя группы управления с Contoso IT на Contoso Group, выполните следующую команду.

Update-AzManagementGroup -GroupId 'ContosoIt' -DisplayName 'Contoso Group'

Изменение имени в Azure CLI

Для Azure CLI используется команда обновления.

az account management-group update --name 'Contoso' --display-name 'Contoso Group'

Удаление группы управления

Чтобы удалить группу управления, необходимо выполнить следующие требования:

  1. В группе управления нет дочерних групп управления или подписок. См. сведения в разделе Перемещение групп управления и подписок.

  2. Вам потребуются разрешения на запись для группы управления (роль "Владелец", "Участник" или "Участник группы управления"). Чтобы получить сведения об имеющихся разрешениях, выберите группу управления, а затем выберите IAM. Дополнительные сведения о ролях Azure см. в статье Управление доступом на основе ролей в Azure (Azure RBAC).

Удаление на портале

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Выберите группу управления, которую требуется удалить.

  4. Щелкните Сведения.

  5. Выберите Удалить.

    Снимок экрана: страница группы управления с выделенной кнопкой

    Совет

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

  6. Откроется окно, в котором нужно подтвердить удаление группы управления.

    Снимок экрана: диалоговое окно подтверждения

  7. Выберите Да.

Удаление в PowerShell

В PowerShell для удаления группы управления выполните команду Remove-AzManagementGroup.

Remove-AzManagementGroup -GroupId 'Contoso'

Удаление в Azure CLI

В Azure CLI используется команда az account management-group delete.

az account management-group delete --name 'Contoso'

Просмотр групп управления

Вы можете просматривать все группы управления, в которых у вас есть прямые или наследуемые роли Azure.

Просмотр на портале

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Загрузится страница иерархического дерева группы управления. На этой странице вы можете изучить все группы управления и подписки, к которым у вас есть доступ. При выборе имени группы открывается нижний уровень в иерархии. Навигация работает так же, как и в обозревателе файлов.

  4. Чтобы просмотреть сведения о группе управления, перейдите по ссылке (подробности) рядом с заголовком группы управления. Если ссылка недоступна, у вас нет разрешения на просмотр этой группы управления.

    Снимок экрана: страница

Просмотр в PowerShell

Для получения всех групп выполните команду Get-AzManagementGroup. Полный список команд GET для группы управления в PowerShell см. в документации по модулям Az.Resources.

Get-AzManagementGroup

Для получения сведений об определенной группе управления используйте параметр -GroupId

Get-AzManagementGroup -GroupId 'Contoso'

Чтобы получить определенную группу управления и все ее вложенные элементы, используйте параметры -Expand и -Recurse.

PS C:\> $response = Get-AzManagementGroup -GroupId TestGroupParent -Expand -Recurse
PS C:\> $response

Id                : /providers/Microsoft.Management/managementGroups/TestGroupParent
Type              : /providers/Microsoft.Management/managementGroups
Name              : TestGroupParent
TenantId          : 00000000-0000-0000-0000-000000000000
DisplayName       : TestGroupParent
UpdatedTime       : 2/1/2018 11:15:46 AM
UpdatedBy         : 00000000-0000-0000-0000-000000000000
ParentId          : /providers/Microsoft.Management/managementGroups/00000000-0000-0000-0000-000000000000
ParentName        : 00000000-0000-0000-0000-000000000000
ParentDisplayName : 00000000-0000-0000-0000-000000000000
Children          : {TestGroup1DisplayName, TestGroup2DisplayName}

PS C:\> $response.Children[0]

Type        : /managementGroup
Id          : /providers/Microsoft.Management/managementGroups/TestGroup1
Name        : TestGroup1
DisplayName : TestGroup1DisplayName
Children    : {TestRecurseChild}

PS C:\> $response.Children[0].Children[0]

Type        : /managementGroup
Id          : /providers/Microsoft.Management/managementGroups/TestRecurseChild
Name        : TestRecurseChild
DisplayName : TestRecurseChild
Children    :

Просмотр в Azure CLI

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

az account management-group list

Для получения сведений об одной группе управления используется команда отображения.

az account management-group show --name 'Contoso'

Чтобы получить определенную группу управления и все ее вложенные элементы, используйте параметры -Expand и -Recurse.

az account management-group show --name 'Contoso' -e -r

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

Одна из причин для создания группы управления — объединение подписок. Дочерним элементом группы управления могут быть только подписки и группы управления. При перемещении в группу управления подписка наследует все права доступа и политики пользователя из родительской группы управления.

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

Если вы выполняете действие перемещения, вам потребуется разрешение на каждом из следующих уровней:

  • Дочерняя подписка или группа управления
    • Microsoft.management/managementgroups/write
    • Microsoft.management/managementgroups/subscriptions/write (только для подписок)
    • Microsoft.Authorization/roleAssignments/write
    • Microsoft.Authorization/roleAssignments/delete
    • Microsoft.Management/register/action
  • Целевая родительская группа управления
    • Microsoft.management/managementgroups/write
  • Текущая родительская группа управления
    • Microsoft.management/managementgroups/write

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

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

Чтобы получить на портале Azure сведения о существующих разрешениях, выберите группу управления и щелкните IAM. Дополнительные сведения о ролях Azure см. в статье Управление доступом на основе ролей в Azure (Azure RBAC).

Перемещение подписок

Добавление существующей подписки в группу управления с помощью портала

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Выберите группу управления, которую вы планируете сделать родительской.

  4. В верхней части страницы выберите пункт Добавить подписку.

  5. Выберите подписку в списке с правильным идентификатором.

    Снимок экрана: параметры добавления подписки для выбора существующей подписки, добавляемой в группу управления.

  6. Щелкните "Сохранить".

Удаление подписки из группы управления с помощью портала

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Выберите группу управления, которая является родительской.

  4. Выберите многоточие в конце строки подписки в списке, которую требуется переместить.

    Снимок экрана: альтернативное меню подписки для выбора параметра

  5. Выберите Переместить.

  6. В открывшемся меню выберите родительскую группу управления.

    Снимок экрана: окно

  7. Щелкните Сохранить.

Перемещение подписок в PowerShell

Чтобы переместить подписку с помощью PowerShell, выполните команду New-AzManagementGroupSubscription.

New-AzManagementGroupSubscription -GroupId 'Contoso' -SubscriptionId '12345678-1234-1234-1234-123456789012'

Чтобы удалить связь между подпиской и группой управления, используйте команду Remove-AzManagementGroupSubscription.

Remove-AzManagementGroupSubscription -GroupId 'Contoso' -SubscriptionId '12345678-1234-1234-1234-123456789012'

Перемещение подписок в Azure CLI

Чтобы переместить подписку в CLI, используйте команду добавления.

az account management-group subscription add --name 'Contoso' --subscription '12345678-1234-1234-1234-123456789012'

Чтобы удалить подписку из группы управления, используйте команду удаления.

az account management-group subscription remove --name 'Contoso' --subscription '12345678-1234-1234-1234-123456789012'

Перемещение подписок в шаблоне ARM

Чтобы переместить подписку в шаблоне Azure Resource Manager (шаблон ARM), разверните следующий шаблон на уровне арендатора.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "targetMgId": {
            "type": "string",
            "metadata": {
                "description": "Provide the ID of the management group that you want to move the subscription to."
            }
        },
        "subscriptionId": {
            "type": "string",
            "metadata": {
                "description": "Provide the ID of the existing subscription to move."
            }
        }
    },
    "resources": [
        {
            "scope": "/",
            "type": "Microsoft.Management/managementGroups/subscriptions",
            "apiVersion": "2020-05-01",
            "name": "[concat(parameters('targetMgId'), '/', parameters('subscriptionId'))]",
            "properties": {
            }
        }
    ],
    "outputs": {}
}

Кроме того, можно использовать следующий файл Bicep.

targetScope = 'managementGroup'

@description('Provide the ID of the management group that you want to move the subscription to.')
param targetMgId string

@description('Provide the ID of the existing subscription to move.')
param subscriptionId string

resource subToMG 'Microsoft.Management/managementGroups/subscriptions@2020-05-01' = {
  scope: tenant()
  name: '${targetMgId}/${subscriptionId}'
}

Перемещение групп управления

Перемещение групп управления на портале

  1. Войдите на портал Azure.

  2. Выберите Все службы>Группы управления.

  3. Выберите группу управления, которую вы планируете сделать родительской.

  4. В верхней части страницы выберите пункт Добавить группу управления.

  5. В открывшемся меню выберите создать новую или использовать существующую группу управления.

    • Если вы выберете новую, то создадите новую группу управления.
    • Если вы выберете существующую, то сможете выбрать доступную группу управления из раскрывающегося списка.

    Снимок экрана: окно

  6. Щелкните Сохранить.

Перемещение групп управления в PowerShell

Чтобы переместить группу управления в другую группу с помощью PowerShell, выполните команду Update-AzManagementGroup.

$parentGroup = Get-AzManagementGroup -GroupId ContosoIT
Update-AzManagementGroup -GroupId 'Contoso' -ParentId $parentGroup.id

Перемещение групп управления в Azure CLI

Чтобы переместить группу управления с помощью Azure CLI, используйте команду обновления.

az account management-group update --name 'Contoso' --parent ContosoIT

Аудит групп управления с помощью журналов действий

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

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

Если нужно создать запрос к группам управления вне портала Azure, целевая область для групп управления будет такой: "/providers/Microsoft.Management/managementGroups/{идентификатор_вашей_группы_управления}" .

Ссылки на группы управления из других поставщиков ресурсов

При использовании ссылок на группы управления из действий другого поставщика ресурсов используйте в качестве области следующий путь. Этот путь используется при работе с PowerShell, Azure CLI и REST API.

/providers/Microsoft.Management/managementGroups/{yourMgID}

Вот пример использования этого пути при назначении новой роли для группы управления с помощью PowerShell.

New-AzRoleAssignment -Scope "/providers/Microsoft.Management/managementGroups/Contoso"

При извлечении определения политики в группе управления используется тот же путь к области.

GET https://management.azure.com/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming?api-version=2019-09-01

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

Дополнительные сведения о группах управления: