Microsoft Graph API - приложение в powershell - запрещенный ответ - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь выполнить вызов Microsoft Graph API с помощью powershell 5.1.Я зарегистрировал приложение.Я использую AppID и секрет, чтобы получить токен Авторизационного носителя.Затем я создаю свой запрос API.Конечная точка безопасности / событий возвращает только запрещенный ответ.

Предоставленные разрешения API

Мой скрипт для вызова выглядит следующим образом:

# Define AppId, secret and scope, your tenant name and endpoint URL
$AppId = [myAPPID]
$AppSecret = [myAPPSecret]
$Scope = "https://graph.microsoft.com/.default"
$TenantName = "[mytenant].onmicrosoft.com"

$Url = "https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token"

# Add System.Web for urlencode
Add-Type -AssemblyName System.Web

$Body = @{
        client_id = $AppId
        client_secret = $AppSecret
        scope = $Scope
        grant_type = 'client_credentials'
}

# Splat the parameters for Invoke-Restmethod for cleaner code
$PostSplat = @{
    ContentType = 'application/x-www-form-urlencoded'
    Method = 'POST'
    # Create string by joining bodylist with '&'
    Body = $Body
    Uri = $Url
}

$Request = Invoke-RestMethod @PostSplat

$Header = @{
    Authorization = "$($Request.token_type) $($Request.access_token)"
}

$Uri = "https://graph.microsoft.com/v1.0/security/events"

$SecurityAlertsRequest = Invoke-RestMethod -Uri $Uri -Headers $Header -Method Get -ContentType "application/json"

Просто смотрю, чтобы увидеть, пропустил ли я что-то очевидное,Есть ли какая-либо другая причина, по которой этот ответ будет запрещен для этой конфигурации?

1 Ответ

2 голосов
/ 21 сентября 2019

Вы предоставили делегированные разрешения для приложения.Они применяются только тогда, когда пользователь вошел в ваше приложение и вы приобрели токен доступа, чтобы действовать от его имени.

Необходимо предоставить разрешения для приложения вашему приложению в Azure AD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...