Freigeben über


Service Principal Entitlements - Update Service Principal Entitlements

Bearbeiten Sie die Berechtigungen (Lizenz, Erweiterungen, Projekte, Teams usw.) für einen oder mehrere Dienstprinzipale.

PATCH https://vsaex.dev.azure.com/{organization}/_apis/serviceprincipalentitlements?api-version=7.1-preview.1

URI-Parameter

Name In Erforderlich Typ Beschreibung
organization
path True

string

Der Name der Azure DevOps-Organisation.

api-version
query True

string

Version der zu verwendenden API. Dies sollte auf "7.1-preview.1" festgelegt werden, um diese Version der API zu verwenden.

Anforderungstext

Media Types: "application/json-patch+json"

Name Typ Beschreibung
from

string

Der Pfad, aus dem für den Vorgang "Verschieben/Kopieren" kopiert werden soll.

op

Operation

Der Patchvorgang

path

string

Der Pfad für den Vorgang. Bei einem Array kann ein nullbasierter Index verwendet werden, um die Position im Array anzugeben (z. B. /kekse/0/name). Das Zeichen "-" kann anstelle eines Indexes zum Einfügen am Ende des Arrays (z. B. /keks/-) verwendet werden.

value

object

Der Wert für den Vorgang. Dies ist entweder ein Primitiver oder ein JToken.

Antworten

Name Typ Beschreibung
200 OK

ServicePrincipalEntitlementOperationReference

Erfolgreicher Vorgang

Sicherheit

oauth2

Typ: oauth2
Ablauf: accessCode
Autorisierungs-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

Bereiche

Name Beschreibung
vso.memberentitlementmanagement_write Ermöglicht die Verwaltung von Benutzern, deren Lizenzen sowie Projekten und Erweiterungen, auf die sie zugreifen können.

Beispiele

Beispielanforderung

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"
      }
    }
  }
]

Beispiel für eine Antwort

{
  "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": []
      }
    }
  ]
}

Definitionen

Name Beschreibung
JsonPatchDocument

Das JSON-Modell für JSON-Patchvorgänge

Operation

Der Patchvorgang

OperationStatus

Der aktuelle Status des Vorgangs.

ServicePrincipalEntitlementOperationReference
ServicePrincipalEntitlementOperationResult

JsonPatchDocument

Das JSON-Modell für JSON-Patchvorgänge

Name Typ Beschreibung
from

string

Der Pfad, aus dem für den Vorgang "Verschieben/Kopieren" kopiert werden soll.

op

Operation

Der Patchvorgang

path

string

Der Pfad für den Vorgang. Bei einem Array kann ein nullbasierter Index verwendet werden, um die Position im Array anzugeben (z. B. /kekse/0/name). Das Zeichen "-" kann anstelle eines Indexes zum Einfügen am Ende des Arrays (z. B. /keks/-) verwendet werden.

value

object

Der Wert für den Vorgang. Dies ist entweder ein Primitiver oder ein JToken.

Operation

Der Patchvorgang

Wert Beschreibung
add
copy
move
remove
replace
test

OperationStatus

Der aktuelle Status des Vorgangs.

Wert Beschreibung
cancelled

Der Vorgang wurde vom Benutzer abgebrochen.

failed

Der Vorgang wurde mit einem Fehler abgeschlossen.

inProgress

Der Vorgang wird ausgeführt.

notSet

Für den Vorgang ist kein Status festgelegt.

queued

Der Vorgang wurde in eine Warteschlange gestellt.

succeeded

Der Vorgang wurde erfolgreich abgeschlossen.

ServicePrincipalEntitlementOperationReference

Name Typ Beschreibung
completed

boolean

Vorgang wurde mit Erfolg oder Fehler abgeschlossen.

haveResultsSucceeded

boolean

True, wenn alle Vorgänge erfolgreich waren.

id

string

Eindeutiger Bezeichner für den Vorgang.

pluginId

string

Eindeutiger Bezeichner für das Plug-In.

results

ServicePrincipalEntitlementOperationResult[]

Liste der Ergebnisse für jeden Vorgang.

status

OperationStatus

Der aktuelle Status des Vorgangs.

url

string

URL zum Abrufen des vollständigen Vorgangsobjekts.

ServicePrincipalEntitlementOperationResult

Name Typ Beschreibung
errors

object[]

Liste der Fehlercodes, die mit den entsprechenden Fehlermeldungen gekoppelt sind.

isSuccess

boolean

Erfolgsstatus des Vorgangs.

result

string

Resultierende Berechtigungseigenschaft. Spezifische Implementierungen finden Sie unter:

servicePrincipalId

string

Bezeichner des ServicePrincipal, auf den reagiert wird.