Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как клиент Azure с соглашением Enterprise (EA), вы можете предоставить другому пользователю или субъекту службы разрешение на создание подписок, выставляемых через вашу учетную запись. В этой статье рассказывается об использовании управления доступом на основе ролей Azure (Azure RBAC) для совместного создания подписок и их аудита. Необходима роль владельца для учетной записи, к которой вы хотите предоставить общий доступ.
Примечание.
- Этот API работает только с устаревшими API для создания подписки.
- Если у вас нет особой необходимости использовать устаревшие API, вам следует использовать информацию для последней версии GA о последней версии API. В статье Назначение ролей учетной записи регистрации – предоставление описано, как предоставить разрешение на создание подписок EA с помощью последней версии API.
- Если вы переходите на новые версии API, вы должны снова предоставить разрешения владельца с помощью 2019-10-01-preview. Предыдущая конфигурация, в которой используются описанные ниже интерфейсы API, не преобразуется автоматически для использования новых версий API.
Примечание.
Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Чтобы начать работу, см. статью Установка Azure PowerShell. Чтобы узнать, как перейти на модуль Az PowerShell, см. статью Перенос Azure PowerShell с AzureRM на Az.
Предоставление доступа
Чтобы создавать подписки в рамках учетной записи регистрации, пользователи должны иметь роль владельца в Azure RBAC для этой учетной записи. Вы можете предоставить пользователю или группе пользователей роль владельца RBAC Azure для учетной записи регистрации, выполнив следующие действия:
Получите идентификатор объекта учетной записи регистрации, к которой вы хотите предоставить доступ.
Чтобы предоставить другим пользователям роль владельца Azure RBAC для учетной записи подписки, вы должны быть владельцем учетной записи или владельцем Azure RBAC для этой учетной записи.
Запросите список всех учетных записей, к которым у вас есть доступ.
GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview
Платформа Azure выводит список всех учетных записей регистрации, к которым у вас есть доступ.
{ "value": [ { "id": "/providers/Microsoft.Billing/enrollmentAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "name": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "type": "Microsoft.Billing/enrollmentAccounts", "properties": { "principalName": "[email protected]" } }, { "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "type": "Microsoft.Billing/enrollmentAccounts", "properties": { "principalName": "[email protected]" } } ] }
Используйте свойство
principalName
, чтобы определить учетную запись, которой вы хотите предоставить доступ владельца RBAC Azure. Скопируйте идентификаторname
этой учетной записи. Например, если вы хотите предоставить доступ на уровне владельца RBAC к учетной записи регистрации [email protected], скопируйтеaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Это идентификатор объекта учетной записи регистрации. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге в качествеenrollmentAccountObjectId
.Используйте свойство
principalName
, чтобы указать учетную запись, для которой хотите назначить владельца RBAC Azure. Скопируйте значениеname
этой учетной записи. Например, если вы хотите предоставить доступ с правами владельца Azure RBAC к учетной записи регистрации [email protected], вам нужно скопироватьaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Это идентификатор объекта учетной записи регистрации. Вставьте это значение в любое место, чтобы его можно было использовать на следующем шаге в качествеenrollmentAccountObjectId
.Получение идентификатора объекта для пользователя или группы, которым вы предоставляете роль владельца RBAC Azure
- На портале Azure выполните поиск по Microsoft Entra ID.
- Если вы хотите предоставить доступ пользователю, в меню слева выберите Пользователи. Чтобы предоставить доступ группе, выберите Группы.
- Выберите пользователя или группу, которым хотите назначить роль владельца RBAC Azure.
- Если вы выбрали пользователя, идентификатор объекта можно найти на странице профиля. Если вы выбрали группу, идентификатор объекта будет отображаться на странице "Обзор". Скопируйте идентификатор ObjectID, щелкнув значок справа от текстового поля. Вставьте его в любое место, чтобы его можно было использовать на следующем шаге в качестве
userObjectId
.
Назначьте пользователю или группе роль владельца RBAC Azure для учетной записи регистрации
Используя значения, собранные на первых двух этапах, предоставьте пользователю или группе роль владельца RBAC Azure для учетной записи регистрации.
Воспользуйтесь следующей командой, заменив
<enrollmentAccountObjectId>
на значениеname
, которое вы скопировали на первом шаге (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
). Замените<userObjectId>
идентификатором объекта, скопированным на втором шаге.PUT https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleAssignments/<roleAssignmentGuid>?api-version=2015-07-01 { "properties": { "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "principalId": "<userObjectId>" } }
После успешного назначения роли владельца на уровне учетной записи регистрации платформа Azure возвращает сведения о назначении роли.
{ "properties": { "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "principalId": "<userObjectId>", "scope": "/providers/Microsoft.Billing/enrollmentAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "createdOn": "2018-03-05T08:36:26.4014813Z", "updatedOn": "2018-03-05T08:36:26.4014813Z", "createdBy": "<assignerObjectId>", "updatedBy": "<assignerObjectId>" }, "id": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "type": "Microsoft.Authorization/roleAssignments", "name": "<roleAssignmentGuid>" }
Аудит пользователей, создающих подписки, с помощью журналов действий
Для отслеживания подписок, создаваемых с помощью данного API, используйте API журнала действий клиента. В настоящее время для отслеживания создания подписки невозможно использовать PowerShell, интерфейс командной строки или портал Azure.
В качестве администратора клиента Microsoft Entra, повысьте уровень доступа, а затем назначьте пользователю аудита роль Читателя по области
/providers/microsoft.insights/eventtypes/management
. Такой доступ предоставляется для роли Читатель, Участник мониторинга или пользовательской роли.В качестве пользователя-аудитора вызовите API журнала действий клиента для просмотра действий создания подписок. Пример:
GET "/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '{greaterThanTimeStamp}' and eventTimestamp le '{lessThanTimestamp}' and eventChannels eq 'Operation' and resourceProvider eq 'Microsoft.Subscription'"
Для удобного вызова API из командной строки попробуйте использовать ARMClient.
Связанный контент
- Теперь, когда пользователь или служебная учётная запись имеют разрешение на создание подписки, можно использовать этот идентификатор для программного создания подписок Azure Enterprise.
- Создание подписок с помощью .NET: пример кода на сайте GitHub.
- Дополнительные сведения о Azure Resource Manager и его интерфейсах API см. в статье Обзор Azure Resource Manager.
- Чтобы узнать больше о управлении большим количеством подписок с помощью групп управления, см. Упорядочивание ваших ресурсов с помощью групп управления Azure.
- Полное руководство по лучшим методикам управления подписками для крупных организаций приведено в разделе Корпоративный каркас Azure: рекомендуемая система управления подписками.