User Entitlements - Add
Fügen Sie einen Benutzer hinzu, weisen Sie Lizenzen und Erweiterungen zu, und machen Sie sie als Mitglied einer Projektgruppe in einem Konto.
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
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.4" festgelegt werden, um diese Version der API zu verwenden. |
Anforderungstext
Name | Typ | Beschreibung |
---|---|---|
accessLevel |
Access |
Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist. |
dateCreated |
string |
[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde. |
groupAssignments |
Group |
[Readonly] GroupEntitles gibt an, dass dieses Mitglied gehört. |
id |
string |
Der eindeutige Bezeichner, der mit der ID der Identität übereinstimmt, die dem GraphMember zugeordnet ist. |
lastAccessedDate |
string |
[Readonly] Datum, an dem das Mitglied zuletzt auf die Auflistung zugegriffen hat. |
projectEntitlements |
Project |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
user |
Graph |
Benutzerreferenz. |
Antworten
Name | Typ | Beschreibung |
---|---|---|
200 OK |
User |
Erfolgreicher Vorgang |
Sicherheit
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
Name | Beschreibung |
---|---|
vso.memberentitlementmanagement_write | Ermöglicht die Verwaltung von Benutzern, deren Lizenzen sowie Projekten und Erweiterungen, auf die sie zugreifen können. |
Beispiele
Sample Request
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
{
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express"
},
"extensions": [
{
"id": "ms.feed"
}
],
"user": {
"principalName": "newuser@fabrikam.com",
"subjectKind": "user"
},
"projectEntitlements": [
{
"group": {
"groupType": "projectContributor"
},
"projectRef": {
"id": "e5943a98-a842-4001-bd3b-06e756a7dfac"
}
}
]
}
Sample Response
{
"operationResult": {
"isSuccess": true,
"errors": [],
"userId": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"result": {
"id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"user": {
"subjectKind": "user",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "newuser@fabrikam.com",
"mailAddress": "newuser@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "newuser@fabrikam.com",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
"descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express",
"msdnLicenseType": "none",
"licenseDisplayName": "Basic",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T08:00:00Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
}
},
"isSuccess": true,
"userEntitlement": {
"id": "08bbffa9-4944-4a98-b0c0-1fa718d5de3d",
"user": {
"subjectKind": "user",
"domain": "14c5367e-ee12-4c94-98b8-b52c1fe3cfb1",
"principalName": "newuser@fabrikam.com",
"mailAddress": "newuser@fabrikam.com",
"origin": "aad",
"originId": "00000000-0000-0000-0000-000000000000",
"displayName": "newuser@fabrikam.com",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"memberships": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/memberships/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/membershipstates/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/fabrikam/_apis/graph/storagekeys/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
}
},
"url": "https://vssps.dev.azure.com/fabrikam/_apis/graph/users/bnd.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv",
"descriptor": "aad.dXBuOldpbmRvd3MgTGl2ZSBJRFxicmFuZG9uQGRldmJsYWNrb3BzLmlv"
},
"accessLevel": {
"licensingSource": "account",
"accountLicenseType": "express",
"msdnLicenseType": "none",
"licenseDisplayName": "Basic",
"status": "pending",
"statusMessage": "",
"assignmentSource": "unknown"
},
"lastAccessedDate": "0001-01-01T08:00:00Z",
"projectEntitlements": [],
"extensions": [],
"groupAssignments": []
}
}
Definitionen
Name | Beschreibung |
---|---|
Access |
Einem Benutzer zugewiesene Lizenz |
Account |
Art der Kontolizenz (z. B. Express, Stakeholder usw.). Um den AccountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden. |
Account |
Benutzer status im Konto |
Assignment |
Zuweisungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.) |
Graph |
Graphgruppenentität |
Graph |
|
Group |
Projektgruppe (z.B. Mitwirkender, Leser usw.) |
Group |
Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft |
Group |
Die status der Gruppenregel. |
Group |
Gruppentyp |
Licensing |
Lizenzierungsquelle (z. B. Konto. MSDN usw.) |
Msdn |
Typ der MSDN-Lizenz (z. B. Visual Studio Professional, Visual Studio Enterprise usw.). Um msdnLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "msdn" definiert werden. |
Project |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Benutzers in diesem Projekt. |
Project |
Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt. |
Project |
Ein Verweis auf ein Projekt |
Reference |
Die Klasse, die eine Auflistung von REST-Verweislinks darstellt. |
Team |
Ein Verweis auf ein Team |
User |
Eine Benutzerentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft |
User |
|
User |
AccessLevel
Einem Benutzer zugewiesene Lizenz
Name | Typ | Beschreibung |
---|---|---|
accountLicenseType |
Account |
Art der Kontolizenz (z. B. Express, Stakeholder usw.). Um den AccountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden. |
assignmentSource |
Assignment |
Zuweisungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.) |
licenseDisplayName |
string |
Anzeigename der Lizenz |
licensingSource |
Licensing |
Lizenzierungsquelle (z. B. Konto. MSDN usw.) |
msdnLicenseType |
Msdn |
Typ der MSDN-Lizenz (z. B. Visual Studio Professional, Visual Studio Enterprise usw.). Um msdnLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "msdn" definiert werden. |
status |
Account |
Benutzer status im Konto |
statusMessage |
string |
Statusmeldung. |
AccountLicenseType
Art der Kontolizenz (z. B. Express, Stakeholder usw.). Um den AccountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden.
Name | Typ | Beschreibung |
---|---|---|
advanced |
string |
|
earlyAdopter |
string |
|
express |
string |
|
none |
string |
|
professional |
string |
|
stakeholder |
string |
AccountUserStatus
Benutzer status im Konto
Name | Typ | Beschreibung |
---|---|---|
active |
string |
Der Benutzer hat sich mindestens einmal beim VSTS-Konto angemeldet. |
deleted |
string |
Der Benutzer wird vom VSTS-Kontoadministrator aus dem VSTS-Konto entfernt. |
disabled |
string |
Der Benutzer kann sich nicht anmelden. Wird in erster Linie vom Administrator verwendet, um einen Benutzer vorübergehend zu entfernen, weil er nicht vorhanden ist oder die Lizenz neu zugewiesen wurde. |
expired |
string |
Der Benutzer kann sich anmelden. wird hauptsächlich verwendet, wenn sich die Lizenz im abgelaufenen Zustand befindet und wir eine Nachfrist gewähren |
none |
string |
|
pending |
string |
Der Benutzer wird vom VSTS-Kontoadministrator aufgefordert, dem VSTS-Konto beizutreten, hat sich aber noch nicht registriert bzw. angemeldet. |
pendingDisabled |
string |
Der Benutzer ist deaktiviert; wenn sie erneut aktiviert werden, befinden sie sich weiterhin im Status Ausstehend. |
AssignmentSource
Zuweisungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.)
Name | Typ | Beschreibung |
---|---|---|
groupRule |
string |
|
none |
string |
|
unknown |
string |
GraphGroup
Graphgruppenentität
Name | Typ | Beschreibung |
---|---|---|
_links |
Reference |
Dieses Feld enthält null oder interessantere Links zum Diagrammthema. Diese Links können aufgerufen werden, um zusätzliche Beziehungen oder ausführlichere Informationen zu diesem Graph-Thema zu erhalten. |
description |
string |
Ein kurzer Begriff, der menschlichen Lesern hilft, Gruppen mit ähnlichen Namen zu disambiguieren |
descriptor |
string |
Der Deskriptor ist die primäre Möglichkeit, auf den Graphengegenstand zu verweisen, während das System ausgeführt wird. In diesem Feld wird derselbe Graph-Betreff sowohl für Konten als auch für Organisationen eindeutig identifiziert. |
displayName |
string |
Dies ist der nicht eindeutige Anzeigename des Diagrammsubjekts. Um dieses Feld zu ändern, müssen Sie seinen Wert im Quellanbieter ändern. |
domain |
string |
Dies stellt den Namen des Ursprungscontainers für ein Graphmember dar. (Für MSA ist dies "Windows Live ID", für AD der Name der Domäne, für AAD die Mandanten-ID des Verzeichnisses, für VSTS-Gruppen die ScopeId usw.) |
legacyDescriptor |
string |
[Nur interne Verwendung] Der Legacydeskriptor ist hier, falls Sie mithilfe des Identitätsdeskriptors auf IMS der alten Version zugreifen müssen. |
mailAddress |
string |
Die E-Mail-Adresse des Datensatzes für ein bestimmtes Graphelement. Dies kann sich vom Prinzipalnamen unterscheiden. |
origin |
string |
Der Typ des Quellanbieters für den Ursprungsbezeichner (z. B. AD, AAD, MSA) |
originId |
string |
Der eindeutige Bezeichner aus dem Ursprungssystem. In der Regel eine Sid- oder Objekt-ID oder guid. Verknüpfungs- und Verknüpfungsvorgänge können dazu führen, dass sich dieser Wert für einen Benutzer ändert, da der Benutzer nicht von einem anderen Anbieter unterstützt wird und eine andere eindeutige ID im neuen Anbieter aufweist. |
principalName |
string |
Dies ist der PrincipalName dieses Graphmembers vom Quellanbieter. Der Quellanbieter kann dieses Feld im Laufe der Zeit ändern, und es ist nicht garantiert, dass es für die Lebensdauer des Graphelements durch VSTS unveränderlich ist. |
subjectKind |
string |
Dieses Feld identifiziert den Typ des Graph-Betreffs (z. B. Gruppe, Bereich, Benutzer). |
url |
string |
Diese URL ist die vollständige Route zur Quellressource dieses Graph-Betreffs. |
GraphUser
Name | Typ | Beschreibung |
---|---|---|
_links |
Reference |
Dieses Feld enthält null oder interessantere Links zum Diagrammthema. Diese Links können aufgerufen werden, um zusätzliche Beziehungen oder ausführlichere Informationen zu diesem Graph-Thema zu erhalten. |
descriptor |
string |
Der Deskriptor ist die primäre Möglichkeit, auf den Graphengegenstand zu verweisen, während das System ausgeführt wird. In diesem Feld wird derselbe Graph-Betreff sowohl für Konten als auch für Organisationen eindeutig identifiziert. |
directoryAlias |
string |
Der kurze, im Allgemeinen eindeutige Name für den Benutzer im Sicherungsverzeichnis. Für AAD-Benutzer entspricht dies dem E-Mail-Spitznamen, der oft, aber nicht unbedingt dem Teil der E-Mail-Adresse des Benutzers vor dem @-Zeichen ähnelt. Für GitHub-Benutzer entspricht dies dem GitHub-Benutzerhandle. |
displayName |
string |
Dies ist der nicht eindeutige Anzeigename des Diagrammsubjekts. Um dieses Feld zu ändern, müssen Sie seinen Wert im Quellanbieter ändern. |
domain |
string |
Dies stellt den Namen des Ursprungscontainers für ein Graphmember dar. (Für MSA ist dies "Windows Live ID", für AD der Name der Domäne, für AAD die Mandanten-ID des Verzeichnisses, für VSTS-Gruppen die ScopeId usw.) |
isDeletedInOrigin |
boolean |
Wenn true, wurde die Gruppe im Identitätsanbieter gelöscht. |
legacyDescriptor |
string |
[Nur interne Verwendung] Der Legacydeskriptor ist hier, falls Sie mithilfe des Identitätsdeskriptors auf IMS der alten Version zugreifen müssen. |
mailAddress |
string |
Die E-Mail-Adresse des Datensatzes für ein bestimmtes Graphelement. Dies kann sich vom Prinzipalnamen unterscheiden. |
metaType |
string |
Der Metatyp des Benutzers im Ursprung, z. B. "Member", "Guest" usw. Informationen zu den möglichen Werten finden Sie unter UserMetaType. |
origin |
string |
Der Typ des Quellanbieters für den Ursprungsbezeichner (z. B. AD, AAD, MSA) |
originId |
string |
Der eindeutige Bezeichner aus dem Ursprungssystem. In der Regel eine Sid- oder Objekt-ID oder guid. Verknüpfungs- und Verknüpfungsvorgänge können dazu führen, dass sich dieser Wert für einen Benutzer ändert, da der Benutzer nicht von einem anderen Anbieter unterstützt wird und eine andere eindeutige ID im neuen Anbieter aufweist. |
principalName |
string |
Dies ist der PrincipalName dieses Graphmembers vom Quellanbieter. Der Quellanbieter kann dieses Feld im Laufe der Zeit ändern, und es ist nicht garantiert, dass es für die Lebensdauer des Graphelements durch VSTS unveränderlich ist. |
subjectKind |
string |
Dieses Feld identifiziert den Typ des Graph-Betreffs (z. B. Gruppe, Bereich, Benutzer). |
url |
string |
Diese URL ist die vollständige Route zur Quellressource dieses Graph-Betreffs. |
Group
Projektgruppe (z.B. Mitwirkender, Leser usw.)
Name | Typ | Beschreibung |
---|---|---|
displayName |
string |
Anzeigename der Gruppe |
groupType |
Group |
Gruppentyp |
GroupEntitlement
Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft
Name | Typ | Beschreibung |
---|---|---|
group |
Graph |
Memberreferenz. |
id |
string |
Der eindeutige Bezeichner, der mit der ID des GraphMember übereinstimmt. |
lastExecuted |
string |
[Readonly] Die letzte Ausführung der Gruppenlizenzierungsregel (unabhängig davon, ob Änderungen vorgenommen wurden). |
licenseRule |
Access |
Lizenzregel. |
members |
User |
Gruppenmitglieder. Wird nur beim Erstellen einer neuen Gruppe verwendet. |
projectEntitlements |
Project |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
status |
Group |
Die status der Gruppenregel. |
GroupLicensingRuleStatus
Die status der Gruppenregel.
Name | Typ | Beschreibung |
---|---|---|
applied |
string |
Regel wird angewendet. |
applyPending |
string |
Regel wird erstellt oder aktualisiert, aber anwenden ist ausstehend |
incompatible |
string |
Die Gruppenregel war nicht kompatibel. |
unableToApply |
string |
Die Regel konnte nicht unerwartet angewendet werden und sollte wiederholt werden. |
GroupType
Gruppentyp
Name | Typ | Beschreibung |
---|---|---|
custom |
string |
|
projectAdministrator |
string |
|
projectContributor |
string |
|
projectReader |
string |
|
projectStakeholder |
string |
LicensingSource
Lizenzierungsquelle (z. B. Konto. MSDN usw.)
Name | Typ | Beschreibung |
---|---|---|
account |
string |
|
auto |
string |
|
msdn |
string |
|
none |
string |
|
profile |
string |
|
trial |
string |
MsdnLicenseType
Typ der MSDN-Lizenz (z. B. Visual Studio Professional, Visual Studio Enterprise usw.). Um msdnLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "msdn" definiert werden.
Name | Typ | Beschreibung |
---|---|---|
eligible |
string |
|
enterprise |
string |
|
none |
string |
|
platforms |
string |
|
premium |
string |
|
professional |
string |
|
testProfessional |
string |
|
ultimate |
string |
ProjectEntitlement
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Benutzers in diesem Projekt.
Name | Typ | Beschreibung |
---|---|---|
assignmentSource |
Assignment |
Zuweisungsquelle (z. B. Gruppe oder Unbekannt). |
group |
Projektgruppe (z.B. Mitwirkender, Leser usw.) |
|
projectPermissionInherited |
Project |
Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt. |
projectRef |
Project |
Projekt ref |
teamRefs |
Team |
Team Ref. |
ProjectPermissionInherited
Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt.
Name | Typ | Beschreibung |
---|---|---|
inherited |
string |
|
notInherited |
string |
|
notSet |
string |
ProjectRef
Ein Verweis auf ein Projekt
Name | Typ | Beschreibung |
---|---|---|
id |
string |
Die Projekt-ID. |
name |
string |
Projektname. |
ReferenceLinks
Die Klasse, die eine Auflistung von REST-Verweislinks darstellt.
Name | Typ | Beschreibung |
---|---|---|
links |
object |
Die schreibgeschützte Ansicht der Links. Da Verweislinks schreibgeschützt sind, möchten wir sie nur als schreibgeschützt verfügbar machen. |
TeamRef
Ein Verweis auf ein Team
Name | Typ | Beschreibung |
---|---|---|
id |
string |
Team-ID |
name |
string |
Teamname |
UserEntitlement
Eine Benutzerentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft
Name | Typ | Beschreibung |
---|---|---|
accessLevel |
Access |
Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist. |
dateCreated |
string |
[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde. |
groupAssignments |
Group |
[Readonly] GroupEntitlements, zu denen dieses Mitglied gehört. |
id |
string |
Der eindeutige Bezeichner, der mit der ID der Identität übereinstimmt, die dem GraphMember zugeordnet ist. |
lastAccessedDate |
string |
[Readonly] Datum, an dem das Mitglied zuletzt auf die Auflistung zugegriffen hat. |
projectEntitlements |
Project |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
user |
Graph |
Benutzerreferenz. |
UserEntitlementOperationResult
Name | Typ | Beschreibung |
---|---|---|
errors |
object[] |
Liste der Fehlercodes, die mit den entsprechenden Fehlermeldungen gekoppelt sind. |
isSuccess |
boolean |
Erfolg status des Vorgangs. |
result |
string |
Resultierende Berechtigungseigenschaft. Informationen zu bestimmten Implementierungen finden Sie auch unter: |
userId |
string |
Bezeichner des Mitglieds, auf das gehandelt wird. |
UserEntitlementsPostResponse
Name | Typ | Beschreibung |
---|---|---|
isSuccess |
boolean |
True, wenn alle Vorgänge erfolgreich waren. |
operationResult |
User |
Vorgangsergebnis. |
userEntitlement |
User |
Ergebnis der Benutzerberechtigung, nachdem die Vorgänge angewendet wurden. |