Compartilhar via


Service Principal Entitlements - Update Service Principal Entitlements

Edite os direitos (Licença, Extensões, Projetos, Teams etc.) para uma ou mais entidades de serviço.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
organization
path True

string

O nome da organização do Azure DevOps.

api-version
query True

string

Versão da API a ser usada. Isso deve ser definido como '7.1-preview.1' para usar essa versão da API.

Corpo da solicitação

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

Nome Tipo Description
from

string

O caminho do qual copiar para a operação Mover/Copiar.

op

Operation

A operação de patch

path

string

O caminho para a operação. No caso de uma matriz, um índice baseado em zero pode ser usado para especificar a posição na matriz (por exemplo, /biscuits/0/name). O caractere "-" pode ser usado em vez de um índice para inserir no final da matriz (por exemplo, /biscuits/-).

value

object

O valor da operação. Este é um primitivo ou um JToken.

Respostas

Nome Tipo Description
200 OK

ServicePrincipalEntitlementOperationReference

operação bem-sucedida

Segurança

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

Nome Description
vso.memberentitlementmanagement_write Concede a capacidade de gerenciar usuários, suas licenças, bem como projetos e extensões que eles podem acessar

Exemplos

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

Definições

Nome Description
JsonPatchDocument

O modelo JSON para operações de patch JSON

Operation

A operação de patch

OperationStatus

O status atual da operação.

ServicePrincipalEntitlementOperationReference
ServicePrincipalEntitlementOperationResult

JsonPatchDocument

O modelo JSON para operações de patch JSON

Nome Tipo Description
from

string

O caminho do qual copiar para a operação Mover/Copiar.

op

Operation

A operação de patch

path

string

O caminho para a operação. No caso de uma matriz, um índice baseado em zero pode ser usado para especificar a posição na matriz (por exemplo, /biscuits/0/name). O caractere "-" pode ser usado em vez de um índice para inserir no final da matriz (por exemplo, /biscuits/-).

value

object

O valor da operação. Este é um primitivo ou um JToken.

Operation

A operação de patch

Nome Tipo Description
add

string

copy

string

move

string

remove

string

replace

string

test

string

OperationStatus

O status atual da operação.

Nome Tipo Description
cancelled

string

A operação foi cancelada pelo usuário.

failed

string

A operação foi concluída com uma falha.

inProgress

string

A operação está em andamento.

notSet

string

A operação não tem um conjunto de status.

queued

string

A operação foi enfileirada.

succeeded

string

A operação foi concluída com sucesso.

ServicePrincipalEntitlementOperationReference

Nome Tipo Description
completed

boolean

Operação concluída com êxito ou falha.

haveResultsSucceeded

boolean

True se todas as operações foram bem-sucedidas.

id

string

Identificador exclusivo para a operação.

pluginId

string

Identificador exclusivo para o plug-in.

results

ServicePrincipalEntitlementOperationResult[]

Lista de resultados para cada operação.

status

OperationStatus

O status atual da operação.

url

string

URL para obter o objeto de operação completo.

ServicePrincipalEntitlementOperationResult

Nome Tipo Description
errors

object[]

Lista de códigos de erro emparelhados com suas mensagens de erro correspondentes.

isSuccess

boolean

Status de êxito da operação.

result

string

Propriedade de direito resultante. Para implementações específicas, consulte também:

servicePrincipalId

string

Identificador do ServicePrincipal que está sendo tratado.