【问题标题】:Update permissions for Azure DevOps group for EventSubscription through Azure CLI?通过 Azure CLI 为 EventSubscription 更新 Azure DevOps 组的权限?
【发布时间】:2020-03-21 01:34:30
【问题描述】:
我一直在通过 Azure CLI(az devops 版本 0.11.0)向自定义 Azure DevOps Services 组添加权限,并且我通常能够执行以下操作:
-
az devops security permission namespace list,查找特定命名空间的namespaceId(如EventSubscription)
- 获取项目管理员的描述符
-
az devops security permission list --id $namespaceId --subject $projectAdmin.descriptor...
- 在 ACES 字典中找到一个允许位,找到相应的令牌
-
az devops security permission update... 使用新令牌
但是当我为 EventSubscription 命名空间运行安全权限列表时,它会返回项目管理员组的空 JSON,因此我找不到令牌。我已经尝试过“$SUBSCRIPTION”,因为它看起来像 TFS 2010 用户使用的,但这不起作用。
问题:
如何在 EventSubscription 命名空间的项目管理员组中列出令牌?我试图看看 tfssecurity 是否会拉出任何东西,但没有奏效。还尝试使用 Fiddler 来查看它是否会找到令牌,但也没有。无法在 UI 中使用 Fiddler。
或者我应该使用什么令牌让 Azure DevOps 更新组的 EventSubscription 权限?
【问题讨论】:
标签:
azure-devops
azure-cli
【解决方案1】:
我用EventSubscription命名空间id和project admins group描述符作为subject参数进行了测试,得到了和你一样的结果。
$env:AZURE_DEVOPS_EXT_PAT = 'ckdhd6wuma5uw2h35dv37pgdum5eyjviqneineixxxxx'
$output = az devops security permission namespace list | ConvertTo-Json -Depth 100
#get descriptor
$output2 = az devops security group list --scope project | ConvertTo-Json -Depth 100
#eventSubscription namespaceId: 58b176e7-3411-457a-89d0-c6xxx/ Project namespaceId:52d39943-cb85-4d7f-8fa8-c6xxx
$output3 = az devops security permission list --namespace-id 58b176e7-3411-457a-89d0-c6xxxx --subject vssgp.Uy0xLTktMTU1MTM3NDI0NS00MjQ3MDQ2OTMyLTI2ODA1Nzg2MjktMjkxMzgyMjE4MC0yNDQ0MjYxxxxx | ConvertTo-Json -Depth 100
Write-Host $output3
但是当我用Project命名空间id和project admins group描述符测试时,我可以正常获取token。
所以我认为这可能是EventSubscription 命名空间和project admins group 描述符之间的关联问题。可以分享一下UI中对应的操作吗?这将有助于我进一步调查。