Как с помощью «Powershell» подключиться-AzureAD с помощью токена?

#powershell

Вопрос:

Я попробовал ниже, я могу открыть сеанс, но любую команду, которую я хочу запустить там после. Я получаю «Недостаточные привилегии для завершения операции».

Где или какие привилегии я должен добавить в свое приложение или мой код написан правильно.

         $clientId = "appid"  
        $clientSecret = "secter"  
        $tenantName = "companydomain/tenant"  
        $tokenBody = @{  
           Grant_Type    = "client_credentials"  
           Scope         = "https://graph.windows.net/.default"  
           Client_Id     = $clientId  
           Client_Secret = $clientSecret  
        
        }   
        $AADTokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$tenantName/oauth2/v2.0/token" -Method POST -Body $tokenBody -ContentType "application/x-www-form-urlencoded"
    
    $tokenBody = @{  
       Grant_Type    = "client_credentials"  
       Scope         = "https://graph.microsoft.com/.default"  
       Client_Id     = $clientId  
       Client_Secret = $clientSecret  
    
    }   
    $graphTokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$tenantName/oauth2/v2.0/token" -Method POST -Body $tokenBody -ContentType "application/x-www-form-urlencoded"

Connect-AzureAD -TenantId 'tenantid' -AadAccessToken $AADTokenResponse.access_token -MsAccessToken $graphTokenResponse.access_token -AccountId "userid"

Get-AzureADTenantDetail
Get-AzureADTenantDetail : Error occurred while executing GetTenantDetails 
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
RequestId: 3f0689b8-220b-4c13-869a-0b34530435fe
DateTimeStamp: Sun, 22 Aug 2021 11:48:44 GMT
HttpStatusCode: Forbidden
HttpStatusDescription: Forbidden
HttpResponseStatus: Completed
At line:1 char:1
  Get-AzureADTenantDetail
  ~~~~~~~~~~~~~~~~~~~~~~~
      CategoryInfo          : NotSpecified: (:) [Get-AzureADTenantDetail], ApiException
      FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.GetTenantDetails
 

Комментарии:

1. Вы предоставили своему приложению разрешение api на подключение в качестве приложения от имени организации ? … У меня достаточно другой сценарий, поэтому я не буду публиковать его в качестве ответа по этой причине, когда я подключаюсь как сам (пользователь) или субъект-служба и оттуда создаю токен AAD. Я использую исключительно https://graph.windows.net вместе с -AadAccessToken ними . Я никогда не пробовал работать с клиентом / секретом приложения, но я вообще не использую эту -MsAccessToken часть.

2. Спасибо за повтор да, я добавил права : «Пользователь.Читать. Все»,»Каталог. Чтение и запись. Все»,»Пользователь.ReadWrite. Все»,»Отчеты.Читайте. Все», «Записи вызовов.Прочитайте. Все», «Звонки. Доступ к средствам массовой информации. Все»,»Домен. Чтение и запись. Все»,»application_access»,»application_access_custom_sba_appliance»,»Каталог приложений. Чтение и запись. Все»»Группа. ReadWrite.Все». При использовании этой команды я получаю ту же проблему : «Connect-AzureAD-AccountId «user@company.com» -AadAccessToken $ADTokenResponse.access_token»