Compartir a través de


Service Principal Entitlements - Update Service Principal Entitlements

Edite los derechos (Licencia, Extensiones, Proyectos, Teams, etc.) para una o varias entidades de servicio.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
organization
path True

string

El nombre de la organización de Azure DevOps.

api-version
query True

string

Versión de la API que se va a usar. Debe establecerse en "7.1-preview.1" para usar esta versión de la API.

Cuerpo de la solicitud

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

Nombre Tipo Description
from

string

Ruta de acceso desde la que se va a copiar para la operación mover o copiar.

op

Operation

La operación de revisión

path

string

Ruta de acceso de la operación. En el caso de una matriz, se puede usar un índice de base cero para especificar la posición de la matriz (por ejemplo, /biscuits/0/name). El carácter "-" se puede usar en lugar de un índice para insertar al final de la matriz (por ejemplo, /biscuits/-).

value

object

Valor de la operación. Se trata de un primitivo o un JToken.

Respuestas

Nombre Tipo Description
200 OK

ServicePrincipalEntitlementOperationReference

operación correcta

Seguridad

oauth2

Tipo: oauth2
Flujo: accessCode
Dirección URL de autorización: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Dirección URL del token: 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

Ámbitos

Nombre Description
vso.memberentitlementmanagement_write Concede la capacidad de administrar usuarios, sus licencias, así como proyectos y extensiones a los que pueden acceder

Ejemplos

Solicitud de ejemplo

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

Respuesta de muestra

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

Definiciones

Nombre Description
JsonPatchDocument

El modelo JSON para las operaciones de revisión de JSON

Operation

La operación de revisión

OperationStatus

Estado actual de la operación.

ServicePrincipalEntitlementOperationReference
ServicePrincipalEntitlementOperationResult

JsonPatchDocument

El modelo JSON para las operaciones de revisión de JSON

Nombre Tipo Description
from

string

Ruta de acceso desde la que se va a copiar para la operación mover o copiar.

op

Operation

La operación de revisión

path

string

Ruta de acceso de la operación. En el caso de una matriz, se puede usar un índice de base cero para especificar la posición de la matriz (por ejemplo, /biscuits/0/name). El carácter "-" se puede usar en lugar de un índice para insertar al final de la matriz (por ejemplo, /biscuits/-).

value

object

Valor de la operación. Se trata de un primitivo o un JToken.

Operation

La operación de revisión

Valor Description
add
copy
move
remove
replace
test

OperationStatus

Estado actual de la operación.

Valor Description
cancelled

El usuario canceló la operación.

failed

La operación se completó con un error.

inProgress

La operación está en curso.

notSet

La operación no tiene un estado establecido.

queued

La operación se ha puesto en cola.

succeeded

La operación se ha completado correctamente.

ServicePrincipalEntitlementOperationReference

Nombre Tipo Description
completed

boolean

Operación completada con éxito o error.

haveResultsSucceeded

boolean

True si todas las operaciones se realizaron correctamente.

id

string

Identificador único de la operación.

pluginId

string

Identificador único del complemento.

results

ServicePrincipalEntitlementOperationResult[]

Lista de resultados para cada operación.

status

OperationStatus

Estado actual de la operación.

url

string

Dirección URL para obtener el objeto de operación completo.

ServicePrincipalEntitlementOperationResult

Nombre Tipo Description
errors

object[]

Lista de códigos de error emparejados con sus mensajes de error correspondientes.

isSuccess

boolean

Estado correcto de la operación.

result

string

Propiedad de derechos resultante. Para ver implementaciones específicas, consulte también:

servicePrincipalId

string

Identificador del ServicePrincipal en el que se actúa.