VSTS: Uso de System.AccessToken para crear un punto final de servicio

Actualmente, usamos un nombre de usuario específico y PAT para realizar llamadas a la API REST de Azure DevOps, pero esta no es una buena solución desde el punto de vista del mantenimiento y la fragilidad. En su lugar, nos gustaría usar el token OAuth.

Un caso en el que nos encontramos con problemas es tratar de generar puntos finales de servicio a partir de nuestra cartera. Puedo verificar si el punto final existe bien de nuestro script Powershell usando:

Invoke-RestMethod -Uri https://xxx.visualstudio.com/projectname/_apis/serviceendpoint/endpoints?api-version=5.0-preview.2 -Method Get -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -Verbose -Debug

Desafortunadamente, cuando trato de usar lo siguiente para crear el punto final si no existe, obtengo un 403 (Prohibido). Esta es la llamada:

Invoke-RestMethod -Uri https://xxx.visualstudio.com/projectname/_apis/serviceendpoint/endpoints?api-version=5.0-preview.2 -Method Post -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} -Body $RequestBody -Verbose -Debug

Parece que el usuario que invoca esto no tiene permisos para crear recursos (o al menos puntos finales de servicio). Soy el que ejecuta el lanzamiento, pero no creo que sea mi acceso porque soy el administrador de toda la organización y puedo hacer casi cualquier cosa. También modifiqué el acceso incorporado del usuario del Servicio de compilación de proyectos de la colección en el canal de lanzamiento para tener acceso completo y aún así obtener el problema. ¿No es posible lo que estoy tratando de lograr?

Respuestas a la pregunta(1)

Su respuesta a la pregunta