User Entitlements - List
获取与筛选条件匹配的分页用户权利集。 如果未传递筛选器,则返回来自所有帐户用户的一个页面。
GET https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=4.1-preview.1
GET https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?top={top}&skip={skip}&filter={filter}&select={select}&api-version=4.1-preview.1
URI 参数
名称 | 在 | 必需 | 类型 | 说明 |
---|---|---|---|---|
organization
|
path | True |
string |
Azure DevOps 组织的名称。 |
api-version
|
query | True |
string |
要使用的 API 版本。 这应设置为“4.1-preview.1”才能使用此版本的 API。 |
filter
|
query |
string |
逗号 (“,”) 分隔的属性列表及其要筛选的值。 目前,API 仅支持按 ExtensionId 进行筛选。 示例参数为 filter=extensionId eq search。 |
|
select
|
query |
string |
逗号 (“,”) 分隔的属性列表,以在结果权利中选择。 属性的名称为 -“Projects”、“Extensions”和“Grouprules”。 |
|
skip
|
query |
integer int32 |
偏移量:要跳过的记录数。 默认值为 0 |
|
top
|
query |
integer int32 |
要返回的用户权利的最大数目。 最大值为 10000。 默认值为 100 |
响应
名称 | 类型 | 说明 |
---|---|---|
200 OK |
成功的操作 |
安全性
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.memberEntitlementManagement | 授予读取用户、其许可证以及他们可以访问的项目和扩展的能力 |
示例
示例请求
GET https://vsaex.dev.azure.com/fabrikam/_apis/userentitlements?top=100&skip=0&api-version=4.1-preview.1
示例响应
{
"count": 2,
"value": [
{
"id": "fe2f1bdb-9779-491a-a6f6-c6e9322cfb00",
"user": {
"subjectKind": "user",
"metaType": "member",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "user1@fabrikam.com",
"mailAddress": "user1@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "User 1",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY",
"descriptor": "aad.wUGM3IDZ1UTZzczNtkTZmJWLiRzY30yNyE2MtcDNmFTOzMjY"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "stakeholder",
"msdnLicenseType": "none",
"licenseDisplayName": "Stakeholder",
"status": "active",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T00:00:00Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
},
{
"id": "f3157dda-522a-45c5-9bbd-f7da438b4660",
"user": {
"subjectKind": "user",
"metaType": "member",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "user2@fabrikam.com",
"mailAddress": "user2@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "User 2",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN",
"descriptor": "aad.4QTZxY2YllTZ0YWNtETZmFWLlFjN30SOjRmNtY2M1QzN4MmN"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express",
"msdnLicenseType": "none",
"licenseDisplayName": "Basic",
"status": "active",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "2017-10-02T16:34:16.86Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
}
]
}
定义
名称 | 说明 |
---|---|
Access |
|
Account |
帐户许可证 (类型,例如 Express、利益干系人等) |
Account |
帐户中的用户状态 |
Assignment |
许可证 (的分配源,例如组、未知等。 |
Extension | |
Graph |
图形组实体 |
Graph |
Graph 用户实体 |
Group | |
Group |
|
Group |
组规则的状态。 |
Group |
组类型 |
Licensing |
许可源 (例如帐户MSDN 等) |
Msdn |
MSDN 许可证 (的类型,例如Visual Studio Professional、Visual Studio Enterprise等) |
Project |
|
Project |
|
Reference |
表示 REST 引用链接集合的类。 |
Team |
|
User |
AccessLevel
名称 | 类型 | 说明 |
---|---|---|
accountLicenseType |
帐户许可证 (类型,例如 Express、利益干系人等) |
|
assignmentSource |
许可证 (的分配源,例如组、未知等。 |
|
licenseDisplayName |
string |
许可证的显示名称 |
licensingSource |
许可源 (例如帐户MSDN 等) |
|
msdnLicenseType |
MSDN 许可证 (的类型,例如Visual Studio Professional、Visual Studio Enterprise等) |
|
status |
帐户中的用户状态 |
|
statusMessage |
string |
状态消息。 |
AccountLicenseType
帐户许可证 (类型,例如 Express、利益干系人等)
值 | 说明 |
---|---|
advanced | |
earlyAdopter | |
express | |
none | |
professional | |
stakeholder |
AccountUserStatus
帐户中的用户状态
值 | 说明 |
---|---|
active |
用户至少登录到 VSTS 帐户一次 |
deleted |
VSTS 帐户管理员从 VSTS 帐户中删除用户 |
disabled |
用户无法登录;主要由管理员用于临时删除因缺少或重新分配许可证而删除用户 |
expired |
用户可以登录;主要在许可证处于过期状态并且我们给予宽限期时使用 |
none | |
pending |
VSTS 帐户管理员邀请用户加入 VSTS 帐户,但尚未注册/登录 |
pendingDisabled |
用户已禁用;如果重新启用,则它们仍将处于挂起状态 |
AssignmentSource
许可证 (的分配源,例如组、未知等。
值 | 说明 |
---|---|
groupRule | |
none | |
unknown |
Extension
名称 | 类型 | 说明 |
---|---|---|
assignmentSource |
此扩展的分配源。 即显式分配或从组规则。 |
|
id |
string |
扩展的库 ID。 |
name |
string |
此扩展的友好名称。 |
source |
此扩展分配的源。 例如:msdn、account、none 等。 |
GraphGroup
图形组实体
名称 | 类型 | 说明 |
---|---|---|
_links |
此字段包含零个或多个有关图形主题的有趣链接。 可以调用这些链接来获取有关此图主题的其他关系或更详细的信息。 |
|
cuid |
string |
主题的一致唯一标识符 |
description |
string |
帮助人类读者消除具有相似名称的群体的简短短语 |
descriptor |
string |
描述符是在系统运行时引用图形主题的主要方法。 此字段将唯一标识帐户和组织中的同一图形主题。 |
displayName |
string |
这是图形主题的非唯一显示名称。 若要更改此字段,必须在源提供程序中更改其值。 |
domain |
string |
这表示图形成员的源容器的名称。 (对于 MSA,这是“Windows Live ID”,对于 AD,这是域的名称,对于 AAD,为目录的 tenantID,对于 VSTS 组,则为 ScopeId,等等) |
legacyDescriptor |
string |
[仅限内部使用]如果需要使用标识描述符访问旧版 IMS,则可以使用旧版描述符。 |
mailAddress |
string |
给定图形成员的记录的电子邮件地址。 这可能不同于主体名称。 |
origin |
string |
源标识符的源提供程序的类型 (例如:AD、AAD、MSA) |
originId |
string |
源系统中的唯一标识符。 通常为 sid、对象 ID 或 Guid。 链接和取消链接操作可能会导致用户的此值发生更改,因为该用户不受其他提供程序的支持,并且新提供程序中具有不同的唯一 ID。 |
principalName |
string |
这是源提供程序中此图形成员的 PrincipalName。 源提供程序可能会随时间推移更改此字段,并且 VSTS 不能保证在图形成员的生命周期内是不可变的。 |
subjectKind |
string |
此字段标识图形主题 (类型,例如:组、作用域、用户) 。 |
url |
string |
此 URL 是指向此图主题的源资源的完整路由。 |
GraphUser
Graph 用户实体
名称 | 类型 | 说明 |
---|---|---|
_links |
此字段包含零个或多个有关图形主题的有趣链接。 可以调用这些链接来获取有关此图主题的其他关系或更详细的信息。 |
|
cuid |
string |
主题的一致唯一标识符 |
descriptor |
string |
描述符是在系统运行时引用图形主题的主要方法。 此字段将唯一标识帐户和组织中的同一图形主题。 |
displayName |
string |
这是图形主题的非唯一显示名称。 若要更改此字段,必须在源提供程序中更改其值。 |
domain |
string |
这表示图形成员的源容器的名称。 (对于 MSA,这是“Windows Live ID”,对于 AD,这是域的名称,对于 AAD,为目录的 tenantID,对于 VSTS 组,则为 ScopeId,等等) |
legacyDescriptor |
string |
[仅限内部使用]如果需要使用标识描述符访问旧版 IMS,则可以使用旧版描述符。 |
mailAddress |
string |
给定图形成员的记录的电子邮件地址。 这可能不同于主体名称。 |
metaType |
string |
源中用户的元类型,例如“member”、“guest”等。有关一组可能的值,请参阅 UserMetaType。 |
origin |
string |
源标识符的源提供程序的类型 (例如:AD、AAD、MSA) |
originId |
string |
源系统中的唯一标识符。 通常为 sid、对象 ID 或 Guid。 链接和取消链接操作可能会导致用户的此值发生更改,因为该用户不受其他提供程序的支持,并且新提供程序中具有不同的唯一 ID。 |
principalName |
string |
这是源提供程序中此图形成员的 PrincipalName。 源提供程序可能会随时间推移更改此字段,并且 VSTS 不能保证在图形成员的生命周期内是不可变的。 |
subjectKind |
string |
此字段标识图形主题 (类型,例如:组、作用域、用户) 。 |
url |
string |
此 URL 是指向此图主题的源资源的完整路由。 |
Group
名称 | 类型 | 说明 |
---|---|---|
displayName |
string |
组的显示名称 |
groupType |
组类型 |
GroupEntitlement
名称 | 类型 | 说明 |
---|---|---|
extensionRules |
扩展规则。 |
|
group |
成员引用。 |
|
id |
string |
与 GraphMember 的 ID 匹配的唯一标识符。 |
lastExecuted |
string |
[Readonly]上一次执行组许可规则的时间 (,无论是否) 进行了任何更改。 |
licenseRule |
许可证规则。 |
|
members |
组成员。 仅在创建新组时使用。 |
|
projectEntitlements |
项目与成员在该项目中的有效权限之间的关系。 |
|
status |
组规则的状态。 |
GroupLicensingRuleStatus
组规则的状态。
值 | 说明 |
---|---|
applied |
应用规则 |
applyPending |
规则已创建或更新,但应用挂起 |
incompatible |
组规则不兼容 |
unableToApply |
规则无法意外应用,应重试 |
GroupType
组类型
值 | 说明 |
---|---|
custom | |
projectAdministrator | |
projectContributor | |
projectReader | |
projectStakeholder |
LicensingSource
许可源 (例如帐户MSDN 等)
值 | 说明 |
---|---|
account | |
auto | |
msdn | |
none | |
profile | |
trial |
MsdnLicenseType
MSDN 许可证 (的类型,例如Visual Studio Professional、Visual Studio Enterprise等)
值 | 说明 |
---|---|
eligible | |
enterprise | |
none | |
platforms | |
premium | |
professional | |
testProfessional | |
ultimate |
ProjectEntitlement
名称 | 类型 | 说明 |
---|---|---|
assignmentSource |
分配源 (,例如组或未知) 。 |
|
group |
项目组 (例如参与者、读者等) |
|
isProjectPermissionInherited |
boolean |
用户是通过 VSTS 还是 AAD 组成员身份继承对项目的权限。 |
projectRef |
Project Ref |
|
teamRefs |
Team |
团队参考 |
ProjectRef
名称 | 类型 | 说明 |
---|---|---|
id |
string |
项目 ID。 |
name |
string |
项目名称。 |
ReferenceLinks
表示 REST 引用链接集合的类。
名称 | 类型 | 说明 |
---|---|---|
links |
object |
链接的只读视图。 由于引用链接是只读的,因此我们只想将其公开为只读。 |
TeamRef
名称 | 类型 | 说明 |
---|---|---|
id |
string |
团队 ID |
name |
string |
团队名称 |
UserEntitlement
名称 | 类型 | 说明 |
---|---|---|
accessLevel |
许可证表示的用户访问级别。 |
|
extensions |
用户的扩展。 |
|
groupAssignments |
[Readonly]此用户所属的 GroupEntitlements。 |
|
id |
string |
与 GraphMember 关联的标识的 ID 匹配的唯一标识符。 |
lastAccessedDate |
string |
[Readonly]用户上次访问集合的日期。 |
projectEntitlements |
项目与用户在该项目中的有效权限之间的关系。 |
|
user |
用户引用。 |