У меня есть сценарий, мне нужно написать функциональные тесты для моих API. API использует Azure AD аутентификацию. В системе существует несколько ролей, и роль пользователя определяется на основе членства в различных группах AD. поэтому для функционального тестирования мне нужны разные пользователи в разных группах.
Я создал принципалов службы с правами участника в подписке, добавил их в группы и получил в соответствии с графическим разрешением API типа приложения API. - Application.Read.All - Directory.Read.All
Теперь я использовал эти apis для завершения моего варианта использования.
1- https://login.microsoftonline.com/ {tenant-Id} / oauth2 / token
для получения токена доступа для субъекта службы.
2-GET https://graph.microsoft.com/v1.0/me/memberOf
, чтобы получить список групп пользователей. но я получил следующий ответ с токеном аутентификации субъекта службы.
{
"error": {
"code": "Request_ResourceNotFound",
"message": "Resource 'xxxx471-bxxxa-45a2-b61b-18xxxxx42af88' does not exist or one of its queried reference-property objects are not present.",
"innerError": {
"request-id": "fxxxxc41-319e-xxxx-xxxx-360xxxx58077",
"date": "2020-04-13T11:41:01"
}
}
}
Я также попробовал это
3- https://graph.microsoft.com/v1.0/users/ {princialId} / memberOf
и получите следующий ответ
"error": {
"code": "Request_ResourceNotFound",
"message": "Resource 'xxxxx-xxxx-xxxx-b61b-18421142af88' does not exist or one of its queried reference-property objects are not present.",
"innerError": {
"request-id": "fxxxxc41-319e-xxxx-xxxx-360xxxx58077",
"date": "2020-04-14T05:59:03"
}
}
}
Я использовал идентификатор объекта приложения, зарегистрированного в azure AD. Когда я искал принципала службы с помощью Power Shell с помощью следующей команды, я нашел другой Object_Id, чем тот, который написан в приложении AD на azure portal
команда: get-AzureADServicePrincipal
с этим Object_Id я смог чтобы получить группы участников службы с помощью бета-служб.
https://graph.microsoft.com/beta/servicePrincipals/ {идентификатор объекта} / memberOf
любой может объяснить, почему я не смог получить группы обслуживания принципал, использующий сервис v1.0. Спасибо