Поделиться через


Назначьте роли корпоративного соглашения служебным субъектам.

Вы можете управлять записью вашего Корпоративного соглашения (EA) в портале Azure. Вы можете создавать различные роли для управления организацией, просматривать затраты и создавать подписки. В этой статье показано, как автоматизировать некоторые из этих задач с помощью Azure PowerShell и REST API с принципалами службы Microsoft Entra ID.

Примечание.

Если у вас несколько учетных записей выставления счетов EA в организации, необходимо предоставлять роли EA служебным принципалам в Microsoft Entra ID по отдельности в каждой учетной записи выставления счетов EA.

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

Вам нужен способ вызова REST API. Ниже приведены некоторые популярные способы запроса API:

Создайте и аутентифицируйте вашего служебного пользователя

Чтобы автоматизировать действия EA с помощью учетной записи службы, необходимо создать удостоверение приложения Microsoft Entra, которое затем может автоматически аутентифицироваться.

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

Ниже приведен пример страницы регистрации приложения.

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

Найдите идентификаторы основной службы и арендатора

Вам нужны идентификатор объекта служебного принципала и идентификатор арендатора. Эти сведения понадобятся для операций назначения разрешений далее в этой статье. Все приложения регистрируются в Microsoft Entra ID у арендатора. При завершении регистрации приложения создаются два типа объектов:

  • Объект приложения — идентификатор приложения — это то, что отображается в разделе "Корпоративные приложения". Не используйте ID для предоставления ролей EA.
  • Объект главного служб - Объект главного служб — это то, что вы видите в окне регистрации предприятия в Microsoft Entra ID. Идентификатор объекта используется для предоставления ролей EA служебному принципалу.
  1. Откройте идентификатор Microsoft Entra и выберите корпоративные приложения.

  2. Найдите приложение в списке.

    Снимок экрана, показывающий пример корпоративного приложения.

  3. Выберите приложение, чтобы узнать его идентификатор и идентификатор объекта.

    Снимок экрана, показывающий идентификатор приложения и идентификатор объекта для корпоративного приложения.

  4. Перейдите на страницу Обзор Microsoft Entra ID, чтобы найти идентификатор клиента.

    Снимок экрана с идентификатором клиента.

Примечание.

Значение идентификатора клиента Microsoft Entra выглядит как GUID со следующим форматом: aaaabbbb-0000-cccc-1111-dddd2222eeee.

Разрешения, которые могут быть назначены служебному участнику

В дальнейшем в этой статье вы предоставите приложению Microsoft Entra разрешение на выполнение действий с помощью роли EA. Вы можете назначить служебному принципалу только следующие роли, и вам нужен идентификатор определения роли, точно как показано.

Роль Разрешенные действия Идентификатор определения роли
ЭнроллментРидер Просмотр данных на уровнях зачисления, отдела и учетной записи. Данные содержат плату за все подписки в рамках охвата, в том числе между арендаторами. Может просматривать предоплату Azure (ранее называемую денежным обязательством), связанную с регистрацией. 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
Покупатель соглашения EA Закупка заказов на резервирование и просмотр транзакций резервирования. У него есть все разрешения EnrollmentReader, который, в свою очередь, обладает всеми разрешениями DepartmentReader. Может просматривать сведения об использовании и платежах во всех учетных записях и подписках. Может просматривать предоплату Azure (ранее называемую денежным обязательством), связанную с регистрацией. da6647fb-7651-49ee-be91-c43c4877f0c4
DepartmentReader Загрузите сведения об использовании для отдела, который они администрируют. Может просматривать сведения об использовании и расходах, связанных с их отделом. db609904-a47f-4794-9be8-9bd86fbffd8a
Создатель подписок Создание новых подписок в заданной области учетной записи. a0bcee42-bf30-4d1b-926a-48d21664ef71
Читатель администраторов партнеров Просмотрите данные для всех регистраций в партнерской организации. Эта роль доступна только для следующих API:
- Балансы
- Экспортирует версию 2 (только api-версия 2025-03-01)
- Создание отчета сведений о затратах
- Торговые площадки
- Лист цен на потребление
- Скачивание листа цен на управление затратами
- Создание отчета сведений о резервировании
- Сводки резервирования
- Рекомендации по резервированию
- Транзакции резервирования
4f6144c0-a809-4c55-b3c8-7f9b7b15a1bf

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

  • EnrollmentReader: пользователь, которому назначена роль, должен иметь роль автора регистрации.
  • DepartmentReader: назначение пользователя должен иметь роль автора регистрации или автора отдела.
  • SubscriptionCreator: пользователь, назначающий подписку, должен быть владельцем учетной записи для регистрации (администратором EA).
  • Покупатель EA: пользователь, проводящий назначение, должен иметь роль регистрирующего записывающего.
  • Читатель роли администратора партнеров: пользователь, назначающий, должен иметь роль администратора партнера.

Все эти роли создаются программными средствами, не отображаются на портале Azure и предназначены только для программного использования.

При предоставлении роли EA сервисному принципалу необходимо использовать обязательное свойство billingRoleAssignmentName. Этот параметр является уникальным идентификатором GUID, который вы должны предоставить. Вы можете создать глобально уникальный идентификатор (GUID) с помощью команды PowerShell New-Guid. Можно также использовать веб-сайт генератора GUID/UUID для создания уникального идентификатора GUID.

Служебный принципал может иметь только одну роль.

Назначение роли субъекту-службе

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

  1. Используйте соответствующие назначения ролей, поместите REST API и нажмите кнопку "Попробовать". Найдите правильный API для использования в таблице ниже. Снимок экрана, показывающий пункт

  2. Войдите в арендатора с необходимым доступом.

  3. Укажите следующие параметры в запросе API:

    • billingAccountName: идентификатор счета. Для роли читателя администратора партнера используйте формат pcn.{PCN} (где {PCN} находится номер клиента партнера). Для всех остальных ролей используйте стандартный идентификатор учетной записи выставления счетов на портале Azure.

    Скриншот, показывающий идентификатор учетной записи для выставления счетов.

    • billingRoleAssignmentName: уникальный GUID, который вы создаете (см. New-Guid).
    • api-version: используется 2019-10-01-preview , если не указано иное.
    • Параметры текста запроса:
      • properties.principalId: идентификатор объекта субъекта-службы.
      • properties.principalTenantId: идентификатор клиента.
      • properties.roleDefinitionId: используйте значение из приведенной ниже таблицы.
Роль Требуемая роль пользователя для назначения Идентификатор определения роли Справочник по API Примечания.
ЭнроллментРидер Писатель заявок на зачисление 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e Назначения ролей — put
Покупатель соглашения EA Писатель заявок на зачисление da6647fb-7651-49ee-be91-c43c4877f0c4 Назначения ролей — put
DepartmentReader Сотрудник по зачислению или сотрудник отдела db609904-a47f-4794-9be8-9bd86fbffd8a Назначения ролей отдела регистрации — Put Используйте параметр departmentName.
Создатель подписок Владелец учетной записи регистрации (администратор EA) a0bcee42-bf30-4d1b-926a-48d21664ef71 Назначения ролей для учетной записи регистрации — добавление Используйте параметр enrollmentAccountName.
Читатель администраторов партнеров Администратор партнеров 4f6144c0-a809-4c55-b3c8-7f9b7b15a1bf Назначения ролей — put Используйте pcn.{PCN} для billingAccountName.
  1. Выберите "Выполнить" , чтобы выполнить команду.

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

  1. 200 OK Ответ означает, что субъект-служба успешно назначена роли.

Проверка назначений ролей сервисного принципала

Назначения ролей служебной учетной записи не отображаются в портале Azure. Вы можете просмотреть назначения ролей учетной записи на регистрацию, включая роль создателя подписки, с использованием API назначения ролей в выставлении счетов — список по учетной записи на регистрацию — REST API (выставление счетов Azure). Используйте API, чтобы убедиться, что назначение роли выполнено успешно.

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

Вы должны определить и использовать ID объекта приложения Enterprise, где вы предоставили роль EA. Если вы используете идентификатор объекта из другого приложения, вызовы API завершаются сбоем. Убедитесь, что вы используете правильный идентификатор объекта приложения Enterprise.

Если при вызове API возникает следующая ошибка, возможно, вы неправильно используете значение идентификатора объекта субъекта-службы, расположенного в регистрациях приложений. Чтобы устранить эту ошибку, убедитесь, что вы используете идентификатор учетной записи службы из "Enterprise Applications", а не в разделе "Регистрация приложений".

The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid

Следующие шаги

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