Access Control Lists - Query
지정된 보안 네임스페이스 및 토큰에 대한 액세스 제어 목록 목록을 반환합니다. 선택적 매개 변수가 제공되지 않으면 보안 네임스페이스의 모든 ACL이 검색됩니다.
GET https://dev.azure.com/{organization}/_apis/accesscontrollists/{securityNamespaceId}?api-version=7.1-preview.1
GET https://dev.azure.com/{organization}/_apis/accesscontrollists/{securityNamespaceId}?token={token}&descriptors={descriptors}&includeExtendedInfo={includeExtendedInfo}&recurse={recurse}&api-version=7.1-preview.1
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
security
|
path | True |
string uuid |
보안 네임스페이스 식별자입니다. |
organization
|
path |
string |
Azure DevOps 조직의 이름입니다. |
|
api-version
|
query | True |
string |
사용할 API의 버전입니다. 이 버전의 api를 사용하려면 '7.1-preview.1'로 설정해야 합니다. |
descriptors
|
query |
string |
AES를 검색해야 하는 ','으로 구분된 ID 설명자 목록을 포함하는 선택적 필터 문자열입니다. 이 값이 null로 남아 있으면 전체 ACL이 반환됩니다. |
|
include
|
query |
boolean |
true이면 반환된 목록에 포함된 액세스 제어 항목에 대한 확장 정보 속성을 채웁니다. |
|
recurse
|
query |
boolean |
true이고 계층 구조 네임스페이스인 경우 지정된 토큰의 자식 ACL을 반환합니다. |
|
token
|
query |
string |
보안 토큰 |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
성공한 작업 |
보안
accessToken
개인용 액세스 토큰입니다. 사용자 이름 및 토큰에 대한 모든 값을 암호로 사용합니다.
Type:
basic
예제
All ACLs in a security namespace |
Filter by descriptors |
Filter by token |
Include child ACLs |
Include extended info properties |
All ACLs in a security namespace
Sample Request
GET https://dev.azure.com/fabrikam/_apis/accesscontrollists/5a27515b-ccd7-42c9-84f1-54c998f03866?api-version=7.1-preview.1
Sample Response
{
"count": 5,
"value": [
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
"allow": 1,
"deny": 0
}
}
},
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4\\846cd9c3-56ba-4158-b6d2-23a3a73244e5",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-1-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-1-2",
"allow": 8,
"deny": 0
}
}
},
{
"inheritPermissions": true,
"token": "28b9bb88-a513-4115-9b5c-8be39ce1f1ba",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-1",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-2",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-3": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-2294004008-329585985-2606533603-2632053178-0-0-0-0-3",
"allow": 1,
"deny": 0
}
}
},
{
"inheritPermissions": false,
"token": "token1",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
}
}
},
{
"inheritPermissions": false,
"token": "token2",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 1,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
"allow": 8,
"deny": 0
}
}
}
]
}
Filter by descriptors
Sample Request
GET https://dev.azure.com/fabrikam/_apis/accesscontrollists/5a27515b-ccd7-42c9-84f1-54c998f03866?descriptors=Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1&api-version=7.1-preview.1
Sample Response
{
"count": 5,
"value": [
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
}
}
},
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4\\846cd9c3-56ba-4158-b6d2-23a3a73244e5",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 0,
"deny": 0
}
}
},
{
"inheritPermissions": true,
"token": "28b9bb88-a513-4115-9b5c-8be39ce1f1ba",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 0,
"deny": 0
}
}
},
{
"inheritPermissions": false,
"token": "token1",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
}
}
},
{
"inheritPermissions": false,
"token": "token2",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 1,
"deny": 0
}
}
}
]
}
Filter by token
Sample Request
GET https://dev.azure.com/fabrikam/_apis/accesscontrollists/5a27515b-ccd7-42c9-84f1-54c998f03866?token=1ba198c0-7a12-46ed-a96b-f4e77554c6d4&api-version=7.1-preview.1
Sample Response
{
"count": 1,
"value": [
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
"allow": 1,
"deny": 0
}
}
}
]
}
Include child ACLs
Sample Request
GET https://dev.azure.com/fabrikam/_apis/accesscontrollists/5a27515b-ccd7-42c9-84f1-54c998f03866?token=1ba198c0-7a12-46ed-a96b-f4e77554c6d4&includeExtendedInfo=False&recurse=True&api-version=7.1-preview.1
Sample Response
{
"count": 2,
"value": [
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
"allow": 31,
"deny": 0
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
"allow": 1,
"deny": 0
}
}
},
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4\\846cd9c3-56ba-4158-b6d2-23a3a73244e5",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-1-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-1-2",
"allow": 8,
"deny": 0
}
}
}
]
}
Include extended info properties
Sample Request
GET https://dev.azure.com/fabrikam/_apis/accesscontrollists/5a27515b-ccd7-42c9-84f1-54c998f03866?token=1ba198c0-7a12-46ed-a96b-f4e77554c6d4&includeExtendedInfo=True&api-version=7.1-preview.1
Sample Response
{
"count": 1,
"value": [
{
"inheritPermissions": true,
"token": "1ba198c0-7a12-46ed-a96b-f4e77554c6d4",
"acesDictionary": {
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-1",
"allow": 31,
"deny": 0,
"extendedInfo": {
"effectiveAllow": 31
}
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-2",
"allow": 31,
"deny": 0,
"extendedInfo": {
"effectiveAllow": 31
}
},
"Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3": {
"descriptor": "Microsoft.TeamFoundation.Identity;S-1-9-1551374245-1204400969-2402986413-2179408616-0-0-0-0-3",
"allow": 1,
"deny": 0,
"extendedInfo": {
"effectiveAllow": 1
}
}
},
"includeExtendedInfo": true
}
]
}
정의
Name | Description |
---|---|
Access |
지정된 IdentityDescriptor에 대해 허용 및 거부된 권한을 캡슐화하는 클래스입니다. |
Access |
AccessControlList 클래스는 AccessControlEntries 집합을 보안 토큰 및 해당 상속 설정과 연결하기 위한 것입니다. |
Ace |
지정된 AccessControlEntry에 대한 상속된 유효 권한 정보를 보유합니다. |
Identity |
ID 설명자는 SID 또는 PUID와 같은 고유 식별자와 함께 ID 유형(Windows SID, Passport)에 대한 래퍼입니다. |
AccessControlEntry
지정된 IdentityDescriptor에 대해 허용 및 거부된 권한을 캡슐화하는 클래스입니다.
Name | 형식 | Description |
---|---|---|
allow |
integer |
연결된 설명자가 수행할 수 있는 작업을 나타내는 권한 비트 집합입니다. |
deny |
integer |
연결된 설명자가 수행할 수 없는 작업을 나타내는 권한 비트 집합입니다. |
descriptor |
이 AccessControlEntry가 적용되는 사용자의 설명자입니다. |
|
extendedInfo |
이 값을 설정하면 연결된 설명자에 대한 상속되고 효과적인 정보를 보고합니다. 이 값은 includeExtendedInfo 매개 변수가 true로 설정된 경우 QueryAccessControlList 호출에서 반환된 AccessControlEntries에서만 설정됩니다. |
AccessControlList
AccessControlList 클래스는 AccessControlEntries 집합을 보안 토큰 및 해당 상속 설정과 연결하기 위한 것입니다.
Name | 형식 | Description |
---|---|---|
acesDictionary |
<string,
Access |
사용 권한이 있는 ID에 키가 지정된 사용 권한의 스토리지입니다. |
includeExtendedInfo |
boolean |
True이면 이 ACL에 확장 정보가 있는 ACE가 있습니다. |
inheritPermissions |
boolean |
True이면 지정된 토큰이 부모로부터 사용 권한을 상속받습니다. |
token |
string |
이 AccessControlList의 토큰입니다. |
AceExtendedInformation
지정된 AccessControlEntry에 대한 상속된 유효 권한 정보를 보유합니다.
Name | 형식 | Description |
---|---|---|
effectiveAllow |
integer |
이 토큰에 대한 이 ID에 대한 모든 명시적 및 상속된 권한의 조합입니다. 지정된 사용자에게 작업을 수행할 수 있는 권한이 있는지 확인할 때 사용되는 권한입니다. |
effectiveDeny |
integer |
이 토큰에 대한 이 ID에 대한 모든 명시적 및 상속된 권한의 조합입니다. 지정된 사용자에게 작업을 수행할 수 있는 권한이 있는지 확인할 때 사용되는 권한입니다. |
inheritedAllow |
integer |
이러한 권한은 이 토큰에 대해 이 ID에 상속되는 권한입니다. 토큰이 권한을 상속하지 않으면 0이 됩니다. 이 ID에 대해 이 토큰에 명시적으로 설정된 권한 또는 이 ID가 속한 그룹은 여기에 포함되지 않습니다. |
inheritedDeny |
integer |
이러한 권한은 이 토큰에 대해 이 ID에 상속되는 권한입니다. 토큰이 권한을 상속하지 않으면 0이 됩니다. 이 ID에 대해 이 토큰에 명시적으로 설정된 권한 또는 이 ID가 속한 그룹은 여기에 포함되지 않습니다. |
IdentityDescriptor
ID 설명자는 SID 또는 PUID와 같은 고유 식별자와 함께 ID 유형(Windows SID, Passport)에 대한 래퍼입니다.
Name | 형식 | Description |
---|---|---|
identifier |
string |
256자를 초과하지 않고 유지되는 이 ID의 고유 식별자입니다. |
identityType |
string |
설명자 유형(예: Windows, Passport 등). |