Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья поможет программным способом создать подписку Клиентское соглашение Майкрософт (MCA) в клиентах Microsoft Entra. В некоторых ситуациях может потребоваться создать подписки MCA в клиентах Microsoft Entra, но связать их с одной учетной записью выставления счетов. Примерами таких ситуаций являются поставщики SaaS, желающие разделить размещенные клиентские службы от внутренних ИТ-служб или внутренних сред, которые имеют строгие требования к соответствию нормативным требованиям, таких как индустрия карт оплаты (PCI).
Процесс создания подписки MCA между арендаторами, по сути, является двухэтапным. Для этого требуется выполнение действий в исходных и целевых тенантах Microsoft Entra. В этой статье используется следующая терминология:
- Исходный идентификатор Microsoft Entra (source.onmicrosoft.com). Он представляет исходного арендатора, где существует учетная запись выставления счетов MCA.
- Идентификатор целевого облака Microsoft Entra (destination.onmicrosoft.com). Он представляет целевой клиент, в котором создаются новые подписки MCA.
Вы не можете создавать планы поддержки программным способом. Вы можете приобрести новый план поддержки или обновить его на портале Azure. Перейдите к Справка и поддержка. В верхней части страницы выберите нужный план поддержки.
Примечание.
Существует два метода для программного создания подписок MCA в клиентах Microsoft Entra. Метод, описанный в этой статье, включает двухэтапный процесс, который предоставляет исходному клиенту контроль над подписками, созданными в конечных клиентах. Этот метод может быть предпочтительнее, если вам нужен более жесткий контроль над созданием подписок в конечных арендаторах. Другой способ использования связанных клиентов — упрощенная версия, которая сводит к минимуму затраты на управление и упрощает процесс создания подписки путем передачи разрешений на создание подписок MCA полностью целевому клиенту.
Предварительные условия
У вас уже должны быть созданы следующие арендаторы:
- Исходный клиент Microsoft Entra с активной учетной записью для выставления счетов по Клиентскому соглашению Microsoft. Если у вас нет активного MCA, его можно создать. Дополнительные сведения см. в статье Azure . Регистрация
- Целевой клиент Microsoft Entra, отдельный от клиента, где находится ваш MCA. Сведения о создании нового клиента Microsoft Entra см. в разделе "Настройка клиента Microsoft Entra".
Настройка приложения
Используйте информацию в следующих разделах, чтобы установить и настроить необходимые приложения в исходных и конечных арендаторах.
Регистрация приложения в исходном клиенте
Чтобы программно создать подписку MCA, необходимо зарегистрировать приложение Microsoft Entra и предоставить соответствующее разрешение на управление доступом на основе ролей Azure (RBAC). На этом шаге убедитесь, что вы вошли в исходный клиент (source.onmicrosoft.com) с учетной записью с разрешениями на регистрацию приложений Microsoft Entra.
Выполните шаги, указанные в кратком руководстве: Регистрация приложения на платформе удостоверений Microsoft.
В целях этого процесса необходимо следовать только разделам регистрации приложения и добавления учетных данных.
Сохраните следующие сведения, чтобы протестировать и настроить среду:
- Идентификатор каталога (арендатора)
- Идентификатор приложения (клиент)
- Код объекта
- Созданное значение секрета приложения. Значение видно только в момент создания.
Создание назначения роли выставления счетов для приложения в исходном клиенте
Чтобы определить соответствующую область и роль для выставления счетов для приложения, ознакомьтесь с информацией в разделе "Административные роли в Microsoft Customer Agreement" в Azure.
После определения области и роли используйте сведения об управлении ролями выставления счетов в портале Azure, чтобы создать назначение ролей для приложения. Найдите приложение с помощью имени, используемого при регистрации приложения в предыдущем разделе.
Зарегистрируйте приложение в целевом клиенте
Чтобы принять подписку на MCA из целевого клиента (destination.onmicrosoft.com), необходимо зарегистрировать приложение Microsoft Entra и добавить его в роль администратора выставления счетов Microsoft Entra. На этом шаге убедитесь, что вы вошли в целевой клиент (destination.onmicrosoft.com) с учетной записью с разрешениями на регистрацию приложений Microsoft Entra. Он также должен иметь разрешение администратора выставления счетов.
Выполните те же действия, которые использовались ранее для регистрации приложения в исходном клиенте. Сохраните следующие сведения, чтобы протестировать и настроить среду:
- Идентификатор каталога (арендатора)
- Идентификатор приложения (клиент)
- Код объекта
- Значение секрета приложения, которое было сгенерировано. Значение видно только на момент создания.
Добавьте целевое приложение к роли администратора по выставлению счетов Microsoft Entra.
Чтобы добавить целевое приложение, созданное в предыдущем разделе, в роль администратора выставления счетов Microsoft Entra в целевом клиенте, используйте информацию из Назначение ролей администратора и неадминистратора пользователям с идентификатором Microsoft Entra.
Программное создание подписки
При настройке приложений и разрешений используйте следующие сведения для программного создания подписок.
Получите идентификатор сервисного принципала целевого приложения
При создании подписки MCA в исходном клиенте необходимо указать субъект-службу или имя участника-службы приложения в целевом клиенте в качестве владельца. Чтобы получить идентификатор, используйте один из следующих методов. В обоих методах значение, используемое для пустого GUID, — это идентификатор целевого приложения (клиента), созданного ранее.
Azure CLI
Войдите в Azure CLI и используйте команду az ad sp show :
az ad sp show --id aaaaaaaa-bbbb-cccc-1111-222222222222 --query 'id'
Azure PowerShell
Войдите в Azure PowerShell и используйте командлет Get-AzADServicePrincipal:
Get-AzADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444 | Select-Object -Property Id
Сохраните Id
значение, возвращаемое командой.
Создание подписки
Используйте следующие сведения, чтобы создать подписку в исходном клиенте.
Получение токена доступа к исходному приложению
Замените {{placeholders}}
фактическим идентификатором арендатора, идентификатором приложения (клиента) и значениями секрета приложения, которые вы сохранили при создании приложения источника ранее.
Вызовите запрос и сохраните access_token
значение из ответа для использования на следующем шаге.
POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F
Получите идентификаторы для учетных записей выставления счетов, профилей и счетов.
Используйте информацию в разделе «Найти учетные записи выставления счетов, к которым у вас есть доступ» и «Найти профили выставления счетов и разделы счетов для создания подписок», чтобы получить идентификаторы учетных записей выставления счетов, профилей и разделов счетов.
Примечание.
Мы рекомендуем использовать метод REST с маркером доступа, полученным ранее, чтобы убедиться, что назначение роли выставления счетов приложения было успешно создано в разделе "Настройка приложения".
Создание псевдонима подписки
С идентификаторами учетной записи для выставления счетов, профиля и разделов счетов, у вас есть все сведения, необходимые для создания подписки.
-
{{guid}}
: может быть допустимым ИДЕНТИФИКАТОРом GUID. -
{{access_token}}
: маркер доступа исходного клиентского приложения, полученного ранее. -
{{billing_account}}
: идентификатор ранее полученной учетной записи для выставления счетов. -
{{billing_profile}}
: идентификатор профиля выставления счетов, полученного ранее. -
{{invoice_section}}
: идентификатор раздела счета, полученного ранее. -
{{destination_tenant_id}}
: идентификатор арендатора назначения, как указано при предыдущем создании приложения арендатора назначения. -
{{destination_service_principal_id}}
: идентификатор субъекта-службы для целевого клиента, полученный из раздела "Получить идентификатор субъекта-службы назначения" ранее.
Отправьте запрос и запишите значение заголовка Location
в ответе.
PUT https://management.azure.com/providers/Microsoft.Subscription/aliases/{{guid}}?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json
{
"properties": {
"displayName": "{{subscription_name}}",
"workload": "Production",
"billingScope": "/billingAccounts/{{billing_account}}/billingProfiles/{{billing_profile}}/invoiceSections/{{invoice_section}}",
"subscriptionId": null,
"additionalProperties": {
"managementGroupId": null,
"subscriptionTenantId": "{{destination_tenant_id}}",
"subscriptionOwnerId": "{{destination_service_principal_id}}"
}
}
}
Принятие владения подпиской
Последний этап завершения процесса — принять владение подпиской.
Получите токен доступа к целевому приложению
Замените {{placeholders}}
фактическим идентификатором клиента, идентификатором приложения (клиента) и значениями секретов приложений, сохраненными при создании целевого приложения клиента ранее.
Вызовите запрос и сохраните access_token
значение из ответа на следующий шаг.
POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F
Принятие прав владения
Используйте следующую информацию, чтобы принять владение подпиской в целевом арендаторе.
-
{{subscription_id}}
: идентификатор подписки, созданной в разделе "Создание псевдонима подписки". Он находится в заголовке «Местоположение», который вы указали. -
{{access_token}}
: маркер доступа, созданный на предыдущем шаге. -
{{subscription_display_name}}
: отображаемое имя подписки в вашей среде Azure.
POST https://management.azure.com/providers/Microsoft.Subscription/subscriptions/{{subscription_id}}/acceptOwnership?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json
{
"properties": {
"displayName": "{{subscription_display_name}}",
"managementGroupId": null
}
}
Следующие шаги
- Теперь, когда вы создали подписку, вы можете предоставить эту возможность другим пользователям и субъектам-службам. Дополнительные сведения см. статье Предоставление доступа к созданию подписок Azure Enterprise (предварительная версия).
- Дополнительные сведения об управлении большим количеством подписок с помощью групп управления см. в разделе упорядочивание ресурсов с помощью групп управления Azure.
- Сведения об изменении группы управления для подписки см. в разделе Перемещение подписок.