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

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

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

Примечание.

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

Внимание

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

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

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

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

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

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

  2. Выберите Все службы. В текстовом поле "Службы фильтрации" введите группы управления и выберите его из списка.

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

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

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

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

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

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

  7. Выберите Сохранить.

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

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

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

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

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

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

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

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

  • В группе управления нет дочерних групп управления или подписок. Чтобы переместить подписку или группу управления в другую группу управления, см . статью "Перемещение групп управления и подписок " далее в этой статье.

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

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

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

  2. Выберите Все службы. В текстовом поле "Службы фильтрации" введите группы управления и выберите его из списка.

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

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

  5. Выберите команду Удалить.

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

    Совет

    Если кнопка "Удалить" недоступна, наведите указатель мыши на эту кнопку.

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

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

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

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

Чтобы удалить группу управления, используйте Remove-AzManagementGroup команду в Azure PowerShell:

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. Чтобы просмотреть сведения о группе управления, перейдите по ссылке (подробности) рядом с заголовком группы управления. Если ссылка недоступна, у вас нет разрешения на просмотр этой группы управления.

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

Просмотр групп управления в Azure 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

Команда используется list для получения всех групп:

az account management-group list

Для сведений о одной группе управления используйте show команду:

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. Выберите Сохранить.

Перемещение подписки в Azure 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

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

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

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

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. Выберите Сохранить.

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

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

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

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

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

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

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

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

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

Если вы хотите запросить группы управления за пределами портал Azure, целевая область для групп управления выглядит следующим образом"/providers/Microsoft.Management/managementGroups/{yourMgID}".

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

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

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

Пример использования этого пути — при назначении новой роли группе управления в Azure 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

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