Access Control Entries - Set Access Control Entries

在 ACL 中为提供的令牌添加或更新 ACE。 请求正文包含目标令牌、ACE 列表 和可选的合并参数。 如果 ACL 中的现有 ACE 发生冲突(按标识描述符),则“合并”参数将确定行为。 如果已设置,则现有 ACE 的允许和拒绝与传入 ACE 的允许和拒绝合并。 如果未设置,现有 ACE 将流离失所。

POST https://dev.azure.com/{organization}/_apis/accesscontrolentries/{securityNamespaceId}?api-version=7.1

URI 参数

名称 必需 类型 说明
securityNamespaceId
path True

string (uuid)

安全命名空间标识符。

organization
path

string

Azure DevOps 组织的名称。

api-version
query True

string

要使用的 API 版本。 这应设置为“7.1”才能使用此版本的 API。

请求正文

名称 类型 说明
item

string (JToken)

type

string (JTokenType)

获取此 JToken 的节点类型。

响应

名称 类型 说明
200 OK

AccessControlEntry[]

成功作

安全性

oauth2

类型: oauth2
流向: accessCode
授权 URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
令牌 URL: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

作用域

名称 说明
vso.security_manage 授予读取、写入和管理安全权限的能力。

示例

Merge
Replace

Merge

示例请求

POST https://dev.azure.com/fabrikam/_apis/accesscontrolentries/5a27515b-ccd7-42c9-84f1-54c998f03866?api-version=7.1

{
  "token": "newToken",
  "merge": true,
  "accessControlEntries": [
    {
      "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
      "allow": 8,
      "deny": 0,
      "extendedinfo": {}
    }
  ]
}

示例响应

{
  "count": 1,
  "value": [
    {
      "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
      "allow": 13,
      "deny": 0,
      "extendedInfo": {}
    }
  ]
}

Replace

示例请求

POST https://dev.azure.com/fabrikam/_apis/accesscontrolentries/5a27515b-ccd7-42c9-84f1-54c998f03866?api-version=7.1

{
  "token": "newToken",
  "merge": false,
  "accessControlEntries": [
    {
      "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
      "allow": 8,
      "deny": 0,
      "extendedinfo": {}
    }
  ]
}

示例响应

{
  "count": 1,
  "value": [
    {
      "descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
      "allow": 8,
      "deny": 0,
      "extendedInfo": {}
    }
  ]
}

定义

名称 说明
AccessControlEntry

用于封装给定 IdentityDescriptor 的允许和拒绝权限的类。

AceExtendedInformation

保存给定 AccessControlEntry 的继承且有效的权限信息。

IdentityDescriptor

标识描述符是标识类型的包装器(Windows SID、Passport),以及唯一标识符,例如 SID 或 PUID。

JObject

表示 JSON 对象。

AccessControlEntry

用于封装给定 IdentityDescriptor 的允许和拒绝权限的类。

名称 类型 说明
allow

integer (int32)

表示允许关联的描述符执行的作的权限位集。

deny

integer (int32)

表示不允许关联的描述符执行的作的权限位集。

descriptor

IdentityDescriptor

此 AccessControlEntry 适用于的用户的描述符。

extendedInfo

AceExtendedInformation

如果设置此值,则报告关联描述符的继承和有效信息。 仅在 QueryAccessControlList(s) 调用返回的 AccessControlEntries 上设置此值,其 includeExtendedInfo 参数设置为 true。

AceExtendedInformation

保存给定 AccessControlEntry 的继承且有效的权限信息。

名称 类型 说明
effectiveAllow

integer (int32)

这是此令牌上此标识的所有显式和继承权限的组合。 这些是确定给定用户是否有权执行作时使用的权限。

effectiveDeny

integer (int32)

这是此令牌上此标识的所有显式和继承权限的组合。 这些是确定给定用户是否有权执行作时使用的权限。

inheritedAllow

integer (int32)

这些是此令牌上此标识继承的权限。 如果令牌未继承权限,则为 0。 请注意,在此标识的此令牌上显式设置的任何权限或此标识所属的任何组都不包括在此处。

inheritedDeny

integer (int32)

这些是此令牌上此标识继承的权限。 如果令牌未继承权限,则为 0。 请注意,在此标识的此令牌上显式设置的任何权限或此标识所属的任何组都不包括在此处。

IdentityDescriptor

标识描述符是标识类型的包装器(Windows SID、Passport),以及唯一标识符,例如 SID 或 PUID。

名称 类型 说明
identifier

string

此标识的唯一标识符,不超过 256 个字符,这将持久保存。

identityType

string

描述符的类型(例如 Windows、Passport 等)。

JObject

表示 JSON 对象。

名称 类型 说明
item

string (JToken)

type

string (JTokenType)

获取此 JToken 的节点类型。