Service Principal Entitlements - Update Service Principal Entitlements
編輯一或多個服務主體 (授權、延伸模組、專案、Teams 等) 權利。
PATCH https://vsaex.dev.azure.com/{organization}/_apis/serviceprincipalentitlements?api-version=7.1-preview.1
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
organization
|
path | True |
string |
Azure DevOps 組織的名稱。 |
api-version
|
query | True |
string |
要使用的 API 版本。 這應該設定為 '7.1-preview.1' 以使用此版本的 API。 |
要求本文
Media Types: "application/json-patch+json"
名稱 | 類型 | Description |
---|---|---|
from |
string |
要從中複製移動/複製作業的路徑。 |
op |
修補作業 |
|
path |
string |
作業的路徑。 在陣列的情況下,您可以使用以零起始的索引來指定陣列中的位置 (例如 /) /) 。 您可以使用 「-」 字元來取代索引,以在陣列結尾插入 (例如 /texts/-) 。 |
value |
object |
作業的值。 這是基本類型或 JToken。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
成功作業 |
安全性
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token 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
Scopes
名稱 | Description |
---|---|
vso.memberentitlementmanagement_write | 授與管理使用者、其授權以及他們可以存取的專案和延伸模組的能力 |
範例
Sample Request
PATCH https://vsaex.dev.azure.com/{organization}/_apis/serviceprincipalentitlements?api-version=7.1-preview.1
[
{
"from": "",
"op": "replace",
"path": "/ed82811a-0890-6f7f-813e-69dd9ebd5ba3/accessLevel",
"value": {
"accountLicenseType": "express",
"licensingSource": "account"
}
},
{
"from": "",
"op": "remove",
"path": "/ed82811a-0890-6f7f-813e-69dd9ebd5ba3/projectEntitlements/fca61097-56a1-464f-85ba-1b126cf02cd1",
"value": ""
},
{
"from": "",
"op": "add",
"path": "/ed82811a-0890-6f7f-813e-69dd9ebd5ba3/projectEntitlements/6fa35aad-6755-4dd7-8c69-e13f702af0f9",
"value": {
"group": {
"groupType": "projectAdministrator"
},
"projectRef": {
"id": "6fa35aad-6755-4dd7-8c69-e13f702af0f9"
}
}
},
{
"from": "",
"op": "add",
"path": "",
"value": {
"accessLevel": {
"accountLicenseType": "stakeholder"
},
"projectEntitlements": [
{
"group": {
"groupType": "projectAdministrator"
},
"projectRef": {
"id": "fca61097-56a1-464f-85ba-1b126cf02cd1"
}
}
],
"servicePrincipal": {
"origin": "aad",
"originId": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"subjectKind": "servicePrincipal"
}
}
}
]
Sample Response
{
"id": "cba1141f-6471-437e-8c6c-79a08813f247",
"status": "succeeded",
"haveResultsSucceeded": true,
"completed": true,
"results": [
{
"servicePrincipalId": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"isSuccess": true,
"errors": [],
"result": {
"servicePrincipal": {
"subjectKind": "servicePrincipal",
"applicationId": "d1a24244-f6cc-488b-bca7-42eb10f13c5b",
"metaType": "application",
"directoryAlias": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"domain": "faab4a73-0db3-4a5e-8e8a-02188f1d3f4b",
"principalName": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"mailAddress": null,
"origin": "aad",
"originId": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"displayName": "Service principal",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/Memberships/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/MembershipStates/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/StorageKeys/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz",
"descriptor": "aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"id": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "earlyAdopter",
"msdnLicenseType": "none",
"licenseDisplayName": "Early Adopter",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T00:00:00",
"dateCreated": "0001-01-01T00:00:00",
"projectEntitlements": null,
"groupAssignments": null
}
},
{
"servicePrincipalId": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"isSuccess": true,
"errors": [],
"result": null
},
{
"servicePrincipalId": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"isSuccess": true,
"errors": [],
"result": null
},
{
"servicePrincipalId": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"isSuccess": true,
"errors": [],
"result": {
"servicePrincipal": {
"subjectKind": "servicePrincipal",
"applicationId": "d1a24244-f6cc-488b-bca7-42eb10f13c5b",
"metaType": "application",
"directoryAlias": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"domain": "faab4a73-0db3-4a5e-8e8a-02188f1d3f4b",
"principalName": "d1a24244-f6cc-488b-bca7-42eb10f13c5b",
"mailAddress": null,
"origin": "aad",
"originId": "00ed1ce5-4257-4bbd-946e-1b57718e203e",
"displayName": "Service principal",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/Memberships/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/MembershipStates/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/StorageKeys/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"avatar": {
"href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz",
"descriptor": "aadsp.ZWQ4MjgxMWEtMDg5MC03ZjdmLTgxM2UtNjlkZDllYmQ1YmEz"
},
"id": "ed82811a-0890-6f7f-813e-69dd9ebd5ba3",
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "earlyAdopter",
"msdnLicenseType": "none",
"licenseDisplayName": "Early Adopter",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T00:00:00Z",
"dateCreated": "2023-02-08T12:30:21.5692042Z",
"projectEntitlements": [],
"groupAssignments": []
}
}
]
}
定義
名稱 | Description |
---|---|
Json |
JSON 修補作業的 JSON 模型 |
Operation |
修補作業 |
Operation |
作業的目前狀態。 |
Service |
|
Service |
JsonPatchDocument
JSON 修補作業的 JSON 模型
名稱 | 類型 | Description |
---|---|---|
from |
string |
要從中複製移動/複製作業的路徑。 |
op |
修補作業 |
|
path |
string |
作業的路徑。 在陣列的情況下,您可以使用以零起始的索引來指定陣列中的位置 (例如 /) /) 。 您可以使用 「-」 字元來取代索引,以在陣列結尾插入 (例如 /texts/-) 。 |
value |
object |
作業的值。 這是基本類型或 JToken。 |
Operation
修補作業
名稱 | 類型 | Description |
---|---|---|
add |
string |
|
copy |
string |
|
move |
string |
|
remove |
string |
|
replace |
string |
|
test |
string |
OperationStatus
作業的目前狀態。
名稱 | 類型 | Description |
---|---|---|
cancelled |
string |
使用者已取消作業。 |
failed |
string |
作業已完成,失敗。 |
inProgress |
string |
作業正在進行中。 |
notSet |
string |
作業沒有狀態集。 |
queued |
string |
作業已排入佇列。 |
succeeded |
string |
作業已成功完成。 |
ServicePrincipalEntitlementOperationReference
名稱 | 類型 | Description |
---|---|---|
completed |
boolean |
作業已完成,且成功或失敗。 |
haveResultsSucceeded |
boolean |
如果所有作業都成功,則為 True。 |
id |
string |
作業的唯一識別碼。 |
pluginId |
string |
外掛程式的唯一識別碼。 |
results |
每個作業的結果清單。 |
|
status |
作業的目前狀態。 |
|
url |
string |
取得完整工作物件的 URL。 |
ServicePrincipalEntitlementOperationResult
名稱 | 類型 | Description |
---|---|---|
errors |
object[] |
與對應錯誤訊息配對的錯誤碼清單。 |
isSuccess |
boolean |
作業的成功狀態。 |
result |
string |
產生的權利屬性。 如需特定實作,請參閱: |
servicePrincipalId |
string |
正在採取行動之 ServicePrincipal 的識別碼。 |