Почему персональному токену доступа (PAT) требуется полный доступ для обслуживания Azure DevOps REST API? - PullRequest
0 голосов
/ 22 января 2020

При доступе к Azure DevOps через REST API через PowerShell, Персональный токен доступа (PAT) , используемый для аутентификации Полный доступ .

PAT scope setting

Когда для PAT задано значение Пользовательский доступ для доступа с каждой включенной областью, некоторые запросы не выполняются:

Invoke-RestMethod: The удаленный сервер возвратил ошибку: (401) Unauthorized.

Почему Полный доступ не равен Пользовательский доступ с каждой включенной областью и максимальными разрешениями? Разве невозможно ограничить PAT областями, действительно затронутыми запросом?

Редактировать: Соответствующий запрос REST API:

GET https://dev.azure.com/{organization}/{project}/_apis/build/latest/{definition}?api-version=5.1-preview.1

1 Ответ

0 голосов
/ 23 января 2020

Для этой проблемы я протестировал API, который вы перечислили. Я пытаюсь выбрать только Чтение доступ в Build Scope, PAT работает отлично.

enter image description here

enter image description here

Также я попытался установить Настраиваемый доступ с каждой включенной областью видимости, очевидно, это также работает нормально.

В некоторых специальных API-интерфейсах мы можем использовать только Full access, потому что не все области будут перечислены в Custom defined access. Области применения некоторых особых случаев apis не определены в Custom defined access. Например, API отслеживается из сети браузера и не задокументировано в официальной документации. Вы можете сослаться на этот case .

Используемый API-интерфейс документирован в документации , вы можете попробовать проверить его в Postman, чтобы увидеть, если тот же результат.

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