Service Principal Entitlements - Get

Obtenir l’autorisation de principal de service pour un principal de service.

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

Paramètres URI

Nom Dans Obligatoire Type Description
organization
path True

string

Nom de l’organisation Azure DevOps.

servicePrincipalId
path True

string

uuid

ID du principal de service.

api-version
query True

string

Version de l’API à utiliser. Cette valeur doit être définie sur « 7.1-preview.1 » pour utiliser cette version de l’API.

Réponses

Nom Type Description
200 OK

ServicePrincipalEntitlement

opération réussie

Sécurité

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

Nom Description
vso.memberentitlementmanagement Accorde la possibilité de lire les utilisateurs, leurs licences ainsi que les projets et extensions auxquels ils peuvent accéder

Exemples

Sample Request

GET https://vsaex.dev.azure.com/fabrikam/_apis/serviceprincipalentitlements/593F6716-627C-6CCB-833E-77A7F9CA422F?api-version=7.1-preview.1

Sample Response

{
  "servicePrincipal": {
    "subjectKind": "servicePrincipal",
    "applicationId": "d1a24244-f6cc-488b-bca7-42eb10f13c5b",
    "metaType": "application",
    "directoryAlias": "16ba55b6-4d49-4712-9da8-1de280da5c0a",
    "domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
    "principalName": "16ba55b6-4d49-4712-9da8-1de280da5c0a",
    "mailAddress": null,
    "origin": "aad",
    "originId": "16ba55b6-4d49-4712-9da8-1de280da5c0a",
    "displayName": "Service principal",
    "_links": {
      "self": {
        "href": "https://vsaex.dev.azure.com/fabrikam/_apis/Graph/Serviceprincipals/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
      },
      "memberships": {
        "href": "https://vsaex.dev.azure.com/fabrikam/_apis/Graph/Memberships/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
      },
      "membershipState": {
        "href": "https://vsaex.dev.azure.com/fabrikam/_apis/Graph/MembershipStates/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
      },
      "storageKey": {
        "href": "https://vsaex.dev.azure.com/fabrikam/_apis/Graph/StorageKeys/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
      },
      "avatar": {
        "href": "https://dev.azure.com/fabrikam/_apis/GraphProfile/MemberAvatars/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
      }
    },
    "url": "https://vsaex.dev.azure.com/fabrikam/_apis/Graph/Serviceprincipals/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3",
    "descriptor": "aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
  },
  "id": "593F6716-627C-6CCB-833E-77A7F9CA422F",
  "accessLevel": {
    "licensingSource": "account",
    "accountLicenseType": "stakeholder",
    "msdnLicenseType": "none",
    "licenseDisplayName": "Stakeholder",
    "status": "pending",
    "statusMessage": "",
    "assignmentSource": "unknown"
  },
  "lastAccessedDate": "0001-01-01T08:00:00Z",
  "dateCreated": "0001-01-01T08:00:00Z",
  "projectEntitlements": [
    {
      "projectRef": {
        "id": "c944c983-e90b-4499-938a-5897ea954ace",
        "name": "TestProject"
      },
      "group": {
        "groupType": "projectAdministrator",
        "displayName": "Project Administrators"
      },
      "projectPermissionInherited": "notInherited",
      "teamRefs": [],
      "assignmentSource": "unknown"
    }
  ],
  "extensions": [],
  "groupAssignments": []
}

Définitions

Nom Description
AccessLevel

Licence affectée à un utilisateur

AccountLicenseType

Type de licence de compte (par exemple, Express, Stakeholder, etc.). Pour utiliser AccountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la requête.

AccountUserStatus

Utilisateur status dans le compte

AssignmentSource

Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc.

GraphGroup

Entité de groupe Graph

GraphServicePrincipal
GraphUser
Group

Groupe de projets (par exemple, Contributeur, Lecteur, etc.)

GroupEntitlement

Entité de groupe avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet

GroupLicensingRuleStatus

Status de la règle de groupe.

GroupType

Type de groupe

LicensingSource

Source de licence (par exemple, Compte. MSDN, etc.)

MsdnLicenseType

Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la requête.

ProjectEntitlement

Relation entre un projet et les autorisations effectives de l’utilisateur dans ce projet.

ProjectPermissionInherited

Indique si l’utilisateur hérite des autorisations d’accès à un projet par le biais d’une appartenance à un groupe Azure DevOps ou AAD.

ProjectRef

Référence à un projet

ReferenceLinks

Classe pour représenter une collection de liens de référence REST.

ServicePrincipalEntitlement
TeamRef

Référence à une équipe

UserEntitlement

Entité utilisateur avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet

AccessLevel

Licence affectée à un utilisateur

Nom Type Description
accountLicenseType

AccountLicenseType

Type de licence de compte (par exemple, Express, Stakeholder, etc.). Pour utiliser AccountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la requête.

assignmentSource

AssignmentSource

Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc.

licenseDisplayName

string

Nom d’affichage de la licence

licensingSource

LicensingSource

Source de licence (par exemple, Compte. MSDN, etc.)

msdnLicenseType

MsdnLicenseType

Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la requête.

status

AccountUserStatus

Utilisateur status dans le compte

statusMessage

string

Message d’état.

AccountLicenseType

Type de licence de compte (par exemple, Express, Stakeholder, etc.). Pour utiliser AccountLicenseType, LicensingSource doit être défini comme « account » dans le corps de la requête.

Nom Type Description
advanced

string

earlyAdopter

string

express

string

none

string

professional

string

stakeholder

string

AccountUserStatus

Utilisateur status dans le compte

Nom Type Description
active

string

L’utilisateur s’est connecté au moins une fois au compte VSTS

deleted

string

L’utilisateur est supprimé du compte VSTS par l’administrateur du compte VSTS

disabled

string

L’utilisateur ne peut pas se connecter ; principalement utilisé par l’administrateur pour supprimer temporairement un utilisateur en raison d’une absence ou d’une réallocation de licence

expired

string

L’utilisateur peut se connecter ; principalement utilisé lorsque la licence est à l’état expiré et que nous accordons une période de grâce

none

string

pending

string

L’utilisateur est invité à rejoindre le compte VSTS par l’administrateur du compte VSTS, mais ne s’est pas encore inscrit/connecté

pendingDisabled

string

L’utilisateur est désactivé ; s’ils sont réactivés, ils seront toujours à l’état En attente

AssignmentSource

Source d’affectation de la licence (par exemple, Groupe, Inconnu, etc.

Nom Type Description
groupRule

string

none

string

unknown

string

GraphGroup

Entité de groupe Graph

Nom Type Description
_links

ReferenceLinks

Ce champ contient zéro ou plus de liens intéressants sur le sujet du graphe. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique.

description

string

Une courte phrase pour aider les lecteurs humains à lever l’ambiguïté des groupes avec des noms similaires

descriptor

string

Le descripteur est le principal moyen de référencer l’objet du graphe pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphe pour les comptes et les organisations.

displayName

string

Il s’agit du nom d’affichage non unique du sujet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source.

domain

string

Cela représente le nom du conteneur d’origine d’un membre de graphe. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.)

legacyDescriptor

string

[Utilisation interne uniquement] Le descripteur hérité est ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité.

mailAddress

string

Adresse e-mail d’enregistrement pour un membre de graphique donné. Il peut être différent du nom principal.

origin

string

Type de fournisseur source pour l’identificateur d’origine (ex:AD, AAD, MSA)

originId

string

Identificateur unique du système d’origine. Généralement, un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur.

principalName

string

Il s’agit du PrincipalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre de graphique par VSTS.

subjectKind

string

Ce champ identifie le type de l’objet du graphe (par exemple, Groupe, Étendue, Utilisateur).

url

string

Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique.

GraphServicePrincipal

Nom Type Description
_links

ReferenceLinks

Ce champ contient zéro ou plus de liens intéressants sur le sujet du graphe. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique.

applicationId

string

descriptor

string

Le descripteur est le principal moyen de référencer l’objet du graphe pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphe pour les comptes et les organisations.

directoryAlias

string

Nom court et généralement unique de l’utilisateur dans le répertoire de stockage. Pour les utilisateurs AAD, cela correspond au surnom du courrier, qui est souvent mais pas nécessairement similaire à la partie de l’adresse de messagerie de l’utilisateur avant le signe @. Pour les utilisateurs GitHub, cela correspond au handle utilisateur GitHub.

displayName

string

Il s’agit du nom d’affichage non unique du sujet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source.

domain

string

Cela représente le nom du conteneur d’origine d’un membre de graphe. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.)

isDeletedInOrigin

boolean

Quand la valeur est true, le groupe a été supprimé dans le fournisseur d’identité

legacyDescriptor

string

[Utilisation interne uniquement] Le descripteur hérité est ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité.

mailAddress

string

Adresse e-mail d’enregistrement pour un membre de graphique donné. Il peut être différent du nom principal.

metaType

string

Type de méta de l’utilisateur dans l’origine, tel que « member », « guest », etc. Pour connaître l’ensemble des valeurs possibles, consultez UserMetaType.

origin

string

Type de fournisseur source pour l’identificateur d’origine (ex:AD, AAD, MSA)

originId

string

Identificateur unique du système d’origine. Généralement, un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur.

principalName

string

Il s’agit du PrincipalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre de graphique par VSTS.

subjectKind

string

Ce champ identifie le type de l’objet du graphe (par exemple, Groupe, Étendue, Utilisateur).

url

string

Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique.

GraphUser

Nom Type Description
_links

ReferenceLinks

Ce champ contient zéro ou plus de liens intéressants sur l’objet du graphique. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique.

descriptor

string

Le descripteur est le principal moyen de référencer l’objet du graphique pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphique dans les comptes et les organisations.

directoryAlias

string

Nom court et généralement unique de l’utilisateur dans le répertoire de stockage. Pour les utilisateurs AAD, cela correspond au surnom du courrier, qui est souvent mais pas nécessairement similaire à la partie de l’adresse de messagerie de l’utilisateur avant le signe @ . Pour les utilisateurs GitHub, cela correspond au handle utilisateur GitHub.

displayName

string

Il s’agit du nom d’affichage non unique de l’objet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source.

domain

string

Représente le nom du conteneur d’origine pour un membre de graphique. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.)

isDeletedInOrigin

boolean

Lorsque la valeur est true, le groupe a été supprimé dans le fournisseur d’identité

legacyDescriptor

string

[Usage interne uniquement] Le descripteur hérité se trouve ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité.

mailAddress

string

Adresse e-mail de l’enregistrement d’un membre de graphique donné. Il peut être différent du nom du principal.

metaType

string

Type de méta de l’utilisateur dans l’origine, tel que « membre », « invité », etc. Consultez UserMetaType pour connaître l’ensemble des valeurs possibles.

origin

string

Type de fournisseur source pour l’identificateur d’origine (ex:AD, AAD, MSA)

originId

string

Identificateur unique du système d’origine. Généralement un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur.

principalName

string

Il s’agit du principalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre de graphique par VSTS.

subjectKind

string

Ce champ identifie le type de l’objet du graphique (par exemple, groupe, étendue, utilisateur).

url

string

Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique.

Group

Groupe de projets (par exemple, Contributeur, Lecteur, etc.)

Nom Type Description
displayName

string

Nom complet du groupe

groupType

GroupType

Type de groupe

GroupEntitlement

Entité de groupe avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet

Nom Type Description
group

GraphGroup

Référence de membre.

id

string

Identificateur unique qui correspond à l’ID de GraphMember.

lastExecuted

string

[En lecture seule] Dernière exécution de la règle de licence de groupe (que des modifications aient ou non été apportées).

licenseRule

AccessLevel

Règle de licence.

members

UserEntitlement[]

Membres du groupe. Utilisé uniquement lors de la création d’un groupe.

projectEntitlements

ProjectEntitlement[]

Relation entre un projet et les autorisations effectives du membre dans ce projet.

status

GroupLicensingRuleStatus

Status de la règle de groupe.

GroupLicensingRuleStatus

Status de la règle de groupe.

Nom Type Description
applied

string

La règle est appliquée

applyPending

string

La règle est créée ou mise à jour, mais appliquer est en attente

incompatible

string

La règle de groupe était incompatible

unableToApply

string

La règle n’a pas pu s’appliquer de manière inattendue et doit être retentée

GroupType

Type de groupe

Nom Type Description
custom

string

projectAdministrator

string

projectContributor

string

projectReader

string

projectStakeholder

string

LicensingSource

Source de licence (par exemple, Compte. MSDN, etc.)

Nom Type Description
account

string

auto

string

msdn

string

none

string

profile

string

trial

string

MsdnLicenseType

Type de licence MSDN (par exemple, Visual Studio Professional, Visual Studio Enterprise, etc.). Pour utiliser MsdnLicenseType, LicensingSource doit être défini comme « msdn » dans le corps de la requête.

Nom Type Description
eligible

string

enterprise

string

none

string

platforms

string

premium

string

professional

string

testProfessional

string

ultimate

string

ProjectEntitlement

Relation entre un projet et les autorisations effectives de l’utilisateur dans ce projet.

Nom Type Description
assignmentSource

AssignmentSource

Source d’affectation (par exemple, Groupe ou Inconnu).

group

Group

Groupe de projets (par exemple, Contributeur, Lecteur, etc.)

projectPermissionInherited

ProjectPermissionInherited

Indique si l’utilisateur hérite des autorisations sur un projet via une appartenance à un groupe Azure DevOps ou AAD.

projectRef

ProjectRef

Référence du projet

teamRefs

TeamRef[]

Référence d’équipe.

ProjectPermissionInherited

Indique si l’utilisateur hérite des autorisations d’accès à un projet par le biais d’une appartenance à un groupe Azure DevOps ou AAD.

Nom Type Description
inherited

string

notInherited

string

notSet

string

ProjectRef

Référence à un projet

Nom Type Description
id

string

ID de projet.

name

string

Nom du projet.

Classe pour représenter une collection de liens de référence REST.

Nom Type Description
links

object

Vue en lecture seule des liens. Étant donné que les liens de référence sont en lecture seule, nous voulons uniquement les exposer en lecture seule.

ServicePrincipalEntitlement

Nom Type Description
accessLevel

AccessLevel

Niveau d’accès du membre indiqué par une licence.

dateCreated

string

[En lecture seule] Date à laquelle le membre a été ajouté à la collection.

groupAssignments

GroupEntitlement[]

[En lecture seule] GroupEntitlements auxquels appartient ce membre.

id

string

Identificateur unique qui correspond à l’ID de l’identité associée à GraphMember.

lastAccessedDate

string

[En lecture seule] Date du dernier accès du membre à la collection.

projectEntitlements

ProjectEntitlement[]

Relation entre un projet et les autorisations effectives du membre dans ce projet.

servicePrincipal

GraphServicePrincipal

ServicePrincipal reference.

TeamRef

Référence à une équipe

Nom Type Description
id

string

ID de l’équipe

name

string

Nom de l'équipe

UserEntitlement

Entité utilisateur avec des propriétés supplémentaires, notamment sa licence, ses extensions et son appartenance au projet

Nom Type Description
accessLevel

AccessLevel

Niveau d’accès du membre indiqué par une licence.

dateCreated

string

[En lecture seule] Date à laquelle le membre a été ajouté à la collection.

groupAssignments

GroupEntitlement[]

[En lecture seule] GroupEntitlements auxquels appartient ce membre.

id

string

Identificateur unique qui correspond à l’ID de l’identité associée à GraphMember.

lastAccessedDate

string

[En lecture seule] Date du dernier accès du membre à la collection.

projectEntitlements

ProjectEntitlement[]

Relation entre un projet et les autorisations effectives du membre dans ce projet.

user

GraphUser

Référence utilisateur.