Настройка проверки подлинности для API управления конфигурацией клиента

Узнайте, как пройти проверку подлинности в API управления конфигурацией клиента (TCM) и настроить субъект-службу TCM для организации.

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

При работе с API TCM требуются два уровня проверки подлинности:

  1. Выполните проверку подлинности в Microsoft Graph с помощью субъекта, имеющего право на управление мониторами и выполнение моментальных снимков.
  2. Настройте проверку подлинности для мониторов, чтобы определить, какой метод проверки подлинности используется мониторами для олицетворения вызовов к различным конечным точкам рабочей нагрузки или выполнения задания snapshot.

Проверка подлинности в Microsoft Graph

Чтобы управлять мониторами или инициировать задание snapshot, необходимо сначала получить маркер доступа к Microsoft Graph, выполнив проверку подлинности с помощью учетных данных пользователя (делегированный пользователем поток) или субъекта-службы. В следующей таблице перечислены необходимые разрешения.

Сценарий Делегировано пользователем Субъект-служба
Управление мониторингом Любая привилегированная роль* ConfigurationMonitoring.Read.All или ConfigurationMonitoring.ReadWrite.All
снимки; Любая привилегированная роль* ConfigurationMonitoring.ReadWrite.All

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

Проверка подлинности для запуска монитора

При выполнении монитора он олицетворяет субъект, заданный TCM. Решение TCM предоставляет официальный субъект-службу с именем Управление конфигурацией клиента со следующим идентификатором приложения:

03b07b79-c5bc-4b5e-9bfa-13acf4a99998

Примечание.

Клиенты должны убедиться, что субъект-служба M365 Администратор Services с appId6b91db1b-f05b-405a-a0b2-e3f60b28d645 также подготовлен в их клиенте. Если он не существует, его можно подготовить вручную.

Настройка субъекта-службы TCM

Во время общедоступной предварительной версии организации должны добавить субъект-службу TCM в свой клиент и предоставить ему необходимые разрешения.

Добавление субъекта-службы TCM в клиент

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

Вариант 1. Использование PowerShell

  1. Установите необходимые модули:

    Install-Module Microsoft.Graph.Authentication
    Install-Module Microsoft.Graph.Applications
    
  2. Подключение к Microsoft Graph:

    Connect-MgGraph -Scopes @('Application.ReadWrite.All', 'AppRoleAssignment.ReadWrite.All')
    
  3. Создайте субъект-службу:

    New-MgServicePrincipal -AppId '03b07b79-c5bc-4b5e-9bfa-13acf4a99998'
    

Вариант 2. Использование microsoft API Graph

Выполните следующий запрос, чтобы создать субъект-службу:

POST https://graph.microsoft.com/v1.0/servicePrincipals
Content-Type: application/json

{
  "appId": "03b07b79-c5bc-4b5e-9bfa-13acf4a99998"
}

Предоставление разрешений субъекту-службе TCM

После добавления субъекта-службы TCM в клиент необходимо предоставить ему необходимые разрешения для доступа к конечным точкам рабочей нагрузки.

Вариант 1. Использование PowerShell

Следующий пример скрипта User.ReadWrite.All предоставляет разрешения и Policy.Read.All субъекту-службе TCM:

$permissions = @('User.ReadWrite.All', 'Policy.Read.All')
$Graph = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"
$TCM = Get-MgServicePrincipal -Filter "AppId eq '03b07b79-c5bc-4b5e-9bfa-13acf4a99998'"

foreach ($requestedPermission in $permissions) {
    $AppRole = $Graph.AppRoles | Where-Object { $_.Value -eq $requestedPermission }
    $body = @{
        AppRoleId = $AppRole.Id
        ResourceId = $Graph.Id
        PrincipalId = $TCM.Id
    }
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $TCM.Id -BodyParameter $body
}

Разрешения Exchange Online см. в разделе Политики доступа к приложениям в Exchange Online.

Вариант 2. Использование Microsoft API Graph

Назначьте роли приложения субъекту-службе TCM:

POST https://graph.microsoft.com/v1.0/servicePrincipals(appId='03b07b79-c5bc-4b5e-9bfa-13acf4a99998')/appRoleAssignedTo
Content-Type: application/json

{
  "appRoleId": "246dd0d5-5bd0-4def-940b-0421030a5b68",
  "resourceId": "<Microsoft Graph service principal ID>",
  "principalId": "<TCM service principal ID>"
}

Замените значения заполнителей:

  • <Microsoft Graph service principal ID>: идентификатор объекта субъекта-службы Microsoft Graph в клиенте.
  • <TCM service principal ID>: идентификатор объекта субъекта-службы TCM в клиенте.