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


Программное создание подписок MCA в связанных клиентах Microsoft Entra

Эта статья поможет программным способом создать подписку Клиентское соглашение Майкрософт (MCA) для связанных клиентов выставления счетов. В некоторых ситуациях может потребоваться создать подписки 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 полностью в целевой клиент. Другой метод включает в себя двухэтапный процесс , который обеспечивает управление исходным клиентом по подпискам, созданным в конечных клиентах. Этот метод может быть предпочтительнее, если требуется более жесткий контроль над созданием подписок в конечных клиентах.

Необходимые компоненты

Для обеспечения программного создания подписок MCA в связанных клиентах выставления счетов требуется следующая среда:

Настройка приложения

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

Регистрация приложения в целевом клиенте

Чтобы программно создать подписку MCA, необходимо зарегистрировать приложение Microsoft Entra и предоставить соответствующее разрешение на управление доступом на основе ролей Azure (RBAC). На этом шаге убедитесь, что вы вошли в целевой клиент (destination.onmicrosoft.com) с учетной записью с разрешениями на регистрацию приложений Microsoft Entra. Также убедитесь, что она была назначена роль выставления счетов в исходном клиенте (source.onmicrosoft.com) в рамках предварительных требований.

Выполните действия, описанные в кратком руководстве. Регистрация приложения с помощью платформа удостоверений Майкрософт.

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

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

  • Идентификатор каталога (клиента)
  • Идентификатор приложения (клиент)
  • Код объекта
  • Созданное значение секрета приложения. Значение отображается только во время создания.

Создание назначения роли выставления счетов для приложения в целевом клиенте

Чтобы определить соответствующую область и роль выставления счетов для приложения, ознакомьтесь с информацией в статье "Общие сведения о Клиентское соглашение Майкрософт административных ролях в Azure".

Пользователь с доступом владельца может назначить роль приложению, выполнив вход в портал Azure в связанном клиенте. Доступ владельца включает:

  • Владелец учетной записи выставления счетов
  • Владелец профиля выставления счетов
  • Владелец раздела счета

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

Программное создание подписки

При настройке приложений и разрешений используйте следующие сведения для программного создания подписок.

Создание подписки

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

Получение маркера доступа к целевому приложению

Замените фактический {{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_object_id}}: идентификатор субъекта-службы целевого клиента, полученного из раздела маркера доступа к целевому приложению ранее.
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_object_id}}"
    }
  }
}

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