Управление разрешениями для запуска конвейеров Azure Devops и разрешениями для прагматического изменения групп переменных. - PullRequest
0 голосов
/ 14 октября 2019

Я читаю эту документацию - https://docs.microsoft.com/en-us/rest/api/azure/devops, Я не вижу четкого ответа о том, как можно управлять разрешениями на запуск конвейеров и разрешениями на редактирование групп переменных через Rest API.

1 Ответ

1 голос
/ 15 октября 2019

Для управления безопасностью с помощью API REST вы можете обратиться к Безопасность для получения подробной информации. Некоторые из API-интерфейсов REST не документированы, однако мы можем отследить их с помощью инструментов разработки (самый простой способ - нажать F12 в вашем браузере).

В вашем сценарии вы пытаетесь управлять разрешением конвейеров вконкретный проект. Если это так, мы можем перейти к узлу Pipeline -> Управление безопасностью -> Выберите конкретную группу / пользователя, чтобы установить соответствующие разрешения (просто отслеживайте API, когда выполняете действия).

Для запуска конвейеров нам как минимум нужны разрешения View build pipeline, View builds, Queue builds. При необходимости вы также можете установить другие разрешения.

Например, просто Запретить разрешение Queue builds для группы Участники :

POST https://dev.azure.com/{organization}/{Project}/_api/_security/ManagePermissions?api-version=5.1

Sample Request Body:
{"updatePackage":"{\"IsRemovingIdentity\":false,\"TeamFoundationId\":\"24cb2a78-4d79-49d6-b96c-bf0ac65d7032\",\"DescriptorIdentityType\":\"Microsoft.TeamFoundation.Identity\",\"DescriptorIdentifier\":\"S-1-9-1551374245-3809964236-1275365961-2582801090-4223875273-1-492339072-1927234371-3142690236-612141869\",\"PermissionSetId\":\"33344d9c-fc72-4d6f-aba5-fa317101a7e9\",\"PermissionSetToken\":\"cc7017e3-044c-498a-99f2-6ac2fbc338c9\",\"RefreshIdentities\":false,\"Updates\":[{\"PermissionId\":2,\"PermissionBit\":128,\"NamespaceId\":\"33344d9c-fc72-4d6f-aba5-fa317101a7e9\",\"Token\":\"cc7017e3-044c-498a-99f2-6ac2fbc338c9\"}],\"TokenDisplayName\":null}"}

Выполните те же действия, чтобы отслеживать API для управления группами переменных.

Кроме того, вы также можете использовать интерфейс командной строки Azure для управления разрешениями, подробнее см. az devops security .

enter image description here

...