首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Azure DevOps服务中,在哪里可以配置用户对某些环境的“管理权限”访问?

在Azure DevOps服务中,在哪里可以配置用户对某些环境的“管理权限”访问?
EN

Stack Overflow用户
提问于 2022-11-22 15:34:24
回答 1查看 39关注 0票数 0

当我试图将项目管理员的访问权限从Reader更改为Administrator时,我得到

代码语言:javascript
复制
Access Denied: e...4 needs the following permission(s) on the resource Environments/f...6/7 to perform this action: Administer Permissions

其中e...4对应于Azure DevOps服务中我的用户的id。

(我是项目管理员)

谁能授予这些管理权限?是某种组织管理员吗?它的屏幕在哪里?文件?Rest?

我什么也找不到。

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 11:11:26

如果UI接口操作不当,即使PCA (Project Collection Administrators)或Organization Owner也将被困在这里的UI接口中( PCA/ORG所有者也可能在Env权限设置的UI接口中失去对Env的所有操作权限)。但是REST可以摆脱这种情况。

这里有一个REST文档,但是没有一个特定的文档。

角色分配

您可以使用f12来捕获详细请求(UI也基于上面的REST )。

我编写了一个python演示来实现您的需求。

代码语言:javascript
复制
import requests
import json

url = "https://dev.azure.com/<Organization Name>/_apis/securityroles/scopes/distributedtask.environmentreferencerole/roleassignments/resources/<Project ID>_<Env ID>?api-version=5.0-preview.1"

payload = json.dumps([
  {
    "userId": "<User ID>",
    "roleName": "Administrator"
  }
])
headers = {
  'Authorization': 'Basic <Your Personal Access Token>',
  'Content-Type': 'application/json'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

使用列表项目REST获取项目id。

使用列表用户REST获取用户ID。

从Env页面url获取Env ID。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74535217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档