我试图拒绝主题来自 develop 分支的“编辑策略”权限。我觉得该命令可以工作:
$ az devops security permission update --allow-bit 2048 --subject foo@bar.com --namespace-id ***** --token repoV2/<project id>/<git repo id>/refs^heads^develop/
尽管有回应
[
{
"acesDictionary": {
"Microsoft.IdentityModel.Claims.ClaimsIdentity;****\\foo@bar.com": {
"allow": 2048,
"deny": 0,
"descriptor": "Microsoft.IdentityModel.Claims.ClaimsIdentity;****\\foo@bar.com",
"extendedInfo": {
"effectiveAllow": 20342
},
"resolvedPermissions": [
{
"bit": 2048,
"displayName": "Edit policies",
"effectivePermission": "Allow",
"name": "EditPolicies"
}
]
}
},
"includeExtendedInfo": true,
"inheritPermissions": true,
"token": "repoV2/***/***/refs^heads^develop"
}
]
权限保持不变。
我认为令牌ID和名称空间ID是正确的,因为该命令在使用令牌repoV2/***/***/
时有效。
答案 0 :(得分:0)
以下是az devops security permission update
的格式:
az devops security permission update --id
--subject
--token
[--allow-bit]
[--deny-bit]
[--org]
从您的azure cli命令中,问题的原因应该是参数。
您可以在Browser F12 Network Tool中获得这些参数。
以下是步骤:
第1步:导航到分支权限,然后按F12键打开NetWork工具。 然后,您可以选择“网络”标签。
第二步:尝试更改权限。
第3步:您可以检查网络记录并获取这些参数。
以下是有关蔚蓝cli的示例:
az devops security permission update --id 2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87 --subject xxx@xxx.com --token repoV2/92c1c5e8-d842-4698-b3f5-45d69e25624c/34439f96-646e-4aa0-a3e5-a55742a9813e/refs/heads/310032003400/ --allow-bit 0 --deny-bit 2048 --org https://dev.azure.com/orgname
注意:令牌中的branch parameter
必须为十六进制的id
(例如refs / heads / 310032003400 /)。
根据我的测试,如果使用分支名称,它不会更改权限。
这是一张有关convert branch name to hex id的票。