Повышение прав доступа для управления всеми подписками Azure и группами управления
Статья
Как глобальный администратор в идентификаторе Microsoft Entra, у вас может не быть доступа ко всем подпискам и группам управления в вашем клиенте. В этой статье описываются способы, с помощью которых вы можете повысить права доступа для всех подписок и групп управления.
Если вы являетесь глобальным администратором, иногда могут возникать ситуации, требующие выполнения следующих действий:
восстановление доступа к подписке Azure или группе управления, если пользователь потерял доступ;
чтобы предоставить другому пользователю или самому себе доступ к подписке или группе управления Azure;
просмотр всех подписок Azure или групп управления в организации;
предоставление приложению автоматизации (например, приложению для выставления счетов или аудита) доступа ко всем подпискам Azure или группам управления.
Как работает повышение прав доступа
Microsoft Entra ID и ресурсы Azure защищены независимо друг от друга. То есть назначения ролей Microsoft Entra не предоставляют доступ к ресурсам Azure, а назначения ролей Azure не предоставляют доступ к Microsoft Entra ID. Однако если вы являетесь глобальным администратором в идентификаторе Microsoft Entra, вы можете назначить себе доступ ко всем подпискам Azure и группам управления в клиенте. Эту возможность следует использовать, если у вас нет доступа к ресурсам в подписке Azure, например к виртуальным машинам или учетным записям хранения, и вы хотите использовать свои привилегии глобального администратора для получения доступа к этим ресурсам.
При повышении доступа вы назначаете роль администратора доступа пользователей в Azure в корневой области (/). Это позволяет просматривать все ресурсы и назначать доступ в любой подписке или группе управления в клиенте. Назначения роли администратора доступа пользователей можно удалить с помощью Azure PowerShell, Azure CLI или REST API.
После внесения изменений, которые необходимо выполнить на уровне корня, следует удалить этот повышенный уровень доступа.
Перейдите к свойству управления свойствами> идентификатора Microsoft Entra ID.>
В разделе Управление доступом для ресурсов Azure установите значение Да.
Когда вы переводите этот переключатель в положение Да, вам назначается роль администратора доступа пользователей в Azure RBAC с корнем каталога (/) в качестве области действия. Это предоставляет разрешение на назначение ролей во всех подписках и группах управления Azure, связанных с данным клиентом Microsoft Entra. Этот переключатель доступен только пользователям, которым назначена роль глобального администратора в Microsoft Entra ID.
Если для переключателя задать значение Нет, роль администратора доступа пользователей в Azure RBAC будет удалена из вашей учетной записи. Вы больше не сможете назначать роли во всех подписках и группах управления Azure, связанных с данным клиентом Microsoft Entra. Вы сможете просматривать (и управлять ими) только подписки и группы управления Azure, к которым вам был предоставлен доступ.
Примечание.
Если вы используете Privileged Identity Management, деактивация назначения ролей не приводит к перемещению переключателя Управление доступом для ресурсов Azure в положение Нет. Чтобы поддерживать минимально необходимый уровень привилегий, установите этот переключатель в положение Нет перед отключением назначения роли.
Нажмите Сохранить, чтобы сохранить настройки.
Этот параметр не является глобальным свойством и применяется только к текущему выполнившему вход пользователю. Вы не можете повысить права доступа для всех членов роли глобального администратора.
Выйдите из системы и войдите снова, чтобы обновить доступ.
Теперь у вас есть доступ ко всем подпискам и группам управления в своем клиенте. Теперь на странице управления доступом (IAM) вы увидите, что вам назначена роль администратора доступа пользователей в корневой области.
Выполните изменения, для которых требуются повышенные права доступа.
Выполните действия, описанные в следующем разделе, чтобы удалить доступ с повышенными правами.
Шаг 2. Удаление повышенного доступа
Чтобы удалить назначение роли администратора доступа пользователей в корневой области (/), выполните следующие шаги.
Войдите в систему от имени пользователя, которого вы использовали для повышения уровня доступа.
Перейдите к свойству управления свойствами> идентификатора Microsoft Entra ID.>
Переведите переключатель Управление доступом для ресурсов Azure в положение Нет. Так как это параметр для отдельного пользователя, необходимо войти как тот же пользователь, который использовался для повышения доступа.
Если вы попытаетесь удалить назначение роли администратора доступа пользователей на странице управления доступом (IAM), отобразится следующее сообщение. Чтобы удалить это назначение роли, необходимо перевести переключатель в положение Нет или воспользоваться Azure PowerShell, Azure CLI или REST API.
Выполните выход пользователя с правами глобального администратора.
Если вы используете Privileged Identity Management, отключите назначение роли глобального администратора.
Примечание.
Если вы используете Privileged Identity Management, деактивация назначения ролей не приводит к перемещению переключателя Управление доступом для ресурсов Azure в положение Нет. Чтобы поддерживать минимально необходимый уровень привилегий, установите этот переключатель в положение Нет перед отключением назначения роли.
Шаг 1. Повышение доступа для глобального администратора
Используйте портал Azure или REST API для повышения доступа для глобального администратора.
Шаг 2. Перечисление назначения ролей в корневой области (/)
Получив повышенный доступ, чтобы получить список назначения роли администратора доступа пользователей для пользователя в корневой области (/), используйте команду Get-AzRoleAssignment .
Чтобы удалить назначение роли администратора доступа пользователей в корневой области (/) у себя или у другого пользователя, выполните следующие действия.
Войдите в систему как пользователь, который может удалить повышенный уровень доступа. Это может быть тот же пользователь, который использовался для повышения прав доступа, или любой другой глобальный администратор с повышенными правами доступа в корневой области.
Чтобы удалить назначение роли администратора доступа пользователей, воспользуйтесь командой Remove-AzRoleAssignment.
Шаг 1. Повышение доступа для глобального администратора
Чтобы повысить права доступа глобального администратора с помощью Azure CLI, выполните приведенные ниже основные действия.
Используйте команду az rest, чтобы вызвать конечную точку elevateAccess, которая предоставляет роль администратора доступа пользователей в корневой области (/).
az rest --method post --url "/providers/Microsoft.Authorization/elevateAccess?api-version=2016-07-01"
Выполните изменения, для которых требуются повышенные права доступа.
Выполните действия, описанные в разделе ниже, чтобы удалить доступ с повышенными правами.
Шаг 2. Перечисление назначения ролей в корневой области (/)
Получив повышенный доступ, чтобы вывести список назначения роли администратора доступа пользователей для пользователя в корневой области (/), используйте команду az role assignment list .
az role assignment list --role "User Access Administrator" --scope "/"
Чтобы удалить назначение роли администратора доступа пользователей в корневой области (/) у себя или у другого пользователя, выполните следующие действия.
Войдите в систему как пользователь, который может удалить повышенный уровень доступа. Это может быть тот же пользователь, который использовался для повышения прав доступа, или любой другой глобальный администратор с повышенными правами доступа в корневой области.
Чтобы удалить назначение роли администратора доступа пользователей, воспользуйтесь командой az role assignment delete.
az role assignment delete --assignee username@example.com --role "User Access Administrator" --scope "/"
Необходимые компоненты
Необходимо использовать следующие версии:
2015-07-01 или более поздней версии для перечисления и удаления назначений ролей
2016-07-01 или более поздней версии для повышения доступа
2018-07-01-preview или более поздней версии для перечисления отклонений назначений
Выполните действия, описанные в разделе ниже, чтобы удалить доступ с повышенными правами.
Шаг 2. Вывод списка назначений ролей в корневой области (/)
Получив повышенный доступ, вы можете перечислить все назначения ролей для пользователя в корневой области (/).
Вызов назначений ролей — список для области , где {objectIdOfUser} находится идентификатор объекта пользователя, назначения ролей которого требуется получить.
GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId+eq+'{objectIdOfUser}'
Шаг 3. Вывод списка запрещенных назначений в корневой области (/)
Получив повышенный доступ, вы можете перечислить все назначения запрета для пользователя в корневой области (/).
Назначение запрета вызова — список для области , где {objectIdOfUser} находится идентификатор объекта пользователя, чьи назначения запрета требуется извлечь.
GET https://management.azure.com/providers/Microsoft.Authorization/denyAssignments?api-version=2022-04-01&$filter=gdprExportPrincipalId+eq+'{objectIdOfUser}'
Шаг 4. Удаление повышенного доступа
При вызове elevateAccess для вас создается назначение роли, а для отзыва этих привилегий необходимо удалить назначение роли администратора доступа пользователей в корневой области (/).
Определения ролей вызова— получениеroleName, где равен администратору доступа пользователей, чтобы определить идентификатор имени роли администратора доступа пользователей.
GET https://management.azure.com/providers/Microsoft.Authorization/roleDefinitions?api-version=2022-04-01&$filter=roleName+eq+'User Access Administrator'
Сохраните ИД из параметра name. В этом случае — 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9.
Кроме того, необходимо указать назначение ролей для администратора клиента в области клиента. Выведите список всех назначений в области клиента для principalId администратора клиента, совершившего вызов на повышение прав доступа. При этом будут перечислены все назначения в клиенте для objectid.
GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=principalId+eq+'{objectid}'
Примечание.
Администратор клиента не должен иметь много назначений. Если предыдущий запрос возвращает слишком много назначений, можно также запросить все назначения только в области клиента, а затем отфильтровать результаты: GET https://management.azure.com/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()
Предыдущие вызовы возвращают список назначения ролей. Найдите назначение роли, у которого задана область "/" и roleDefinitionId заканчивается значением ИД имени роли, найденным на шаге 1, а principalId совпадает со значением objectId администратора клиента.
Если у вас есть пользователи с повышенными привилегиями, баннеры отображаются в нескольких расположениях портал Azure. В этом разделе описывается, как определить, имеются ли у вас пользователи с повышенными правами доступа в клиенте. Эта возможность развертывается на этапах, поэтому она может быть недоступна в клиенте.
Вариант 1
В портал Azure перейдите к свойству управления свойствами> идентификатора>Записи Майкрософт.
В разделе "Управление доступом для ресурсов Azure" найдите следующий баннер.
You have X users with elevated access. Microsoft Security recommends deleting access for users who have unnecessary elevated access. Manage elevated access users
Выберите ссылку "Управление пользователями с повышенными привилегиями" , чтобы просмотреть список пользователей с повышенными привилегиями.
Вариант 2
В портал Azure перейдите к подписке.
Выберите Управление доступом (IAM).
В верхней части страницы найдите следующий баннер.
Action required: X users have elevated access in your tenant. You should take immediate action and remove all role assignments with elevated access. View role assignments
Выберите ссылку "Просмотр назначений ролей" , чтобы просмотреть список пользователей с повышенными привилегиями доступа.
Удаление повышенного доступа для пользователей
Если у вас есть пользователи с повышенными привилегиями, необходимо немедленно выполнить действия и удалить этот доступ. Чтобы удалить эти назначения ролей, необходимо также иметь повышенный доступ. В этом разделе описывается, как удалить повышенный доступ для пользователей в клиенте с помощью портал Azure. Эта возможность развертывается на этапах, поэтому она может быть недоступна в клиенте.
Выберите ссылку "Управление пользователями с повышенными привилегиями ".
Откроется панель "Пользователи с повышенными привилегиями" со списком пользователей с повышенным уровнем доступа в клиенте.
Чтобы удалить повышенный доступ для пользователей, добавьте флажок рядом с пользователем и нажмите кнопку "Удалить".
Просмотр записей журнала повышения прав доступа
При повышении или удалении доступа запись добавляется в журналы. Администратор в идентификаторе Microsoft Entra может потребоваться проверить, когда доступ был повышен и кто это сделал.
Записи журнала повышения прав доступа отображаются как в журналах аудита каталога Microsoft Entra, так и в журналах действий Azure. Записи журнала с повышенными правами доступа для журналов аудита каталогов и журналов действий включают аналогичные сведения. Однако журналы аудита каталога проще фильтровать и экспортировать. Кроме того, возможность экспорта позволяет передавать события доступа к потоку, которые можно использовать для решений оповещения и обнаружения, таких как Microsoft Sentinel или другие системы. Сведения о том, как отправлять журналы в разные места назначения, см. в разделе "Настройка параметров диагностики Microsoft Entra" для журналов действий.
В этом разделе описаны различные способы просмотра записей журнала повышенного доступа.
Повышение уровня записей журнала доступа в журналах аудита каталога Microsoft Entra в настоящее время находится в предварительной версии.
Эта предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для использования рабочей среде. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены.
Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Используйте команду az rest, чтобы выполнить следующий вызов, где необходимо отфильтровать по дате, как показано в примере метки времени и указать имя файла, в котором должны храниться журналы.
Вызывает url API для получения журналов в Microsoft.Insights. Выходные данные будут сохранены в файле.
az rest --url "https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '2021-09-10T20:00:00Z'" > output.txt
В выходном файле выполните поиск elevateAccess.
Журнал будет выглядеть следующим образом, где можно увидеть метку времени, когда произошло действие и кто его вызвал.
az role assignment create --assignee "{groupId}" --role "Reader" --scope "/providers/Microsoft.Insights"
Добавьте пользователя, который будет считывать журналы в ранее созданную группу.
Пользователь в группе теперь может периодически запускать команду az rest , чтобы просмотреть записи журнала повышенных прав доступа.
az rest --url "https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '2021-09-10T20:00:00Z'" > output.txt