Почему использование @odata позволяет обойти авторизацию для Azure AD? - PullRequest
0 голосов
/ 15 октября 2019

Я использую приложение логики для обновления membershiprule группы Azure AD с помощью функции Azure, которая принимает JSON и отправляет HTTP-запрос. Сначала я попробовал следующий необработанный ввод (удаленная конфиденциальная информация <sensitive>)

{
"uri": "<myurl>",
"method": "POST",
"queries": {
    "code": "<mykey>",
    "permission": "delegated",
    "type": "PATCH",
    "url": "https://graph.microsoft.com/beta/groups/<mygroupid>"
},
"body": {
    "membershipRule": "user.userPrincipalName -in 
    <email_query>"
    }
}

, что привело к ошибке:

{
"error": {
"code": "Authorization_RequestDenied",
"message": "Insufficient privileges to complete the operation.",
"innerError": {
  "request-id": "<>",
  "date": "<>"
    }
  }
}

Когда я изменяю тело, чтобы включить тег odata

"body": {
    "@odata.membershipRule": "user.userPrincipalName -in 
    <email_query>"
    }
}

все работает, я получаю 200 OK в ответ и меняется membershiprule. Почему это?

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