User Entitlements - Add
Fügen Sie einen Benutzer hinzu, weisen Sie Lizenzen und Erweiterungen zu, und machen Sie sie zu einem Mitglied einer Projektgruppe in einem Konto.
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.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" festgelegt werden, um diese Version der API zu verwenden. |
Anforderungstext
| Name | Typ | Beschreibung |
|---|---|---|
| accessLevel |
Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist. |
|
| dateCreated |
string (date-time) |
[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde. |
| groupAssignments |
[Readonly] GroupEntitlements, zu denen dieses Mitglied gehört. |
|
| id |
string (uuid) |
Der eindeutige Bezeichner, der der ID der Identität entspricht, die dem GraphMember zugeordnet ist. |
| lastAccessedDate |
string (date-time) |
[Readonly] Datum, an dem das Element zuletzt auf die Auflistung zugegriffen hat. |
| projectEntitlements |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
|
| user |
Benutzerreferenz. |
Antworten
| Name | Typ | Beschreibung |
|---|---|---|
| 200 OK |
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 | Gewährt die Möglichkeit, Benutzer, ihre Lizenzen sowie Projekte und Erweiterungen zu verwalten, auf die sie zugreifen können |
Beispiele
Beispielanforderung
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1
{
"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"
}
}
]
}
Beispiel für eine Antwort
{
"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 |
Typ der Kontolizenz (z. B. Express, Stakeholder usw.). Um accountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden. |
|
Account |
Benutzerstatus im Konto |
|
Assignment |
Zuordnungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.) |
|
Graph |
Graph-Gruppenentität |
|
Graph |
|
| Group |
Projektgruppe (z. B. Mitwirkender, Leser usw.) |
|
Group |
Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft |
|
Group |
Der Status der Gruppenregel. |
|
Group |
Gruppentyp |
|
Licensing |
Lizenzquelle (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-Referenzverknüpfungslinks darstellt. |
|
Team |
Ein Verweis auf ein Team |
|
User |
Eine Benutzerentität mit zusätzlichen Eigenschaften, einschließlich ihrer Lizenz, Erweiterungen und Der Projektmitgliedschaft |
|
User |
|
|
User |
AccessLevel
Einem Benutzer zugewiesene Lizenz
| Name | Typ | Beschreibung |
|---|---|---|
| accountLicenseType |
Typ der Kontolizenz (z. B. Express, Stakeholder usw.). Um accountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden. |
|
| assignmentSource |
Zuordnungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.) |
|
| licenseDisplayName |
string |
Anzeigename der Lizenz |
| licensingSource |
Lizenzquelle (z. B. Konto. MSDN usw.) |
|
| 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. |
|
| status |
Benutzerstatus im Konto |
|
| statusMessage |
string |
Statusmeldung. |
AccountLicenseType
Typ der Kontolizenz (z. B. Express, Stakeholder usw.). Um accountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden.
| Wert | Beschreibung |
|---|---|
| none | |
| earlyAdopter | |
| express | |
| professional | |
| advanced | |
| stakeholder |
AccountUserStatus
Benutzerstatus im Konto
| Wert | Beschreibung |
|---|---|
| none | |
| active |
Der Benutzer hat sich mindestens einmal beim VSTS-Konto angemeldet. |
| disabled |
Der Benutzer kann sich nicht anmelden; wird in erster Linie vom Administrator verwendet, um einen Benutzer vorübergehend aufgrund von Abwesenheit oder Lizenzüberlastung zu entfernen. |
| deleted |
Der Benutzer wird vom VSTS-Kontoadministrator aus dem VSTS-Konto entfernt. |
| pending |
Der Benutzer wird eingeladen, dem VSTS-Kontoadministrator beizutreten, hat sich aber noch nicht angemeldet/angemeldet. |
| expired |
Der Benutzer kann sich anmelden; wird in erster Linie verwendet, wenn die Lizenz abgelaufen ist und wir eine Nachfrist erteilen |
| pendingDisabled |
Der Benutzer ist deaktiviert; wenn sie erneut aktiviert werden können, befinden sie sich weiterhin im Status "Ausstehend" |
AssignmentSource
Zuordnungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.)
| Wert | Beschreibung |
|---|---|
| none | |
| unknown | |
| groupRule |
GraphGroup
Graph-Gruppenentität
| Name | Typ | Beschreibung |
|---|---|---|
| _links |
Dieses Feld enthält null oder interessantere Links zum Thema Diagramm. Diese Links können aufgerufen werden, um zusätzliche Beziehungen oder ausführlichere Informationen zu diesem Diagrammbetreff zu erhalten. |
|
| description |
string |
Ein kurzer Ausdruck, der den Menschen dabei hilft, Mehrdeutigkeitsgruppen mit ähnlichen Namen zu disambiguieren |
| descriptor |
string |
Der Deskriptor ist die primäre Möglichkeit, auf den Diagrammbetreff zu verweisen, während das System ausgeführt wird. In diesem Feld wird dasselbe Diagrammthema sowohl in Firmen als auch in Organisationen eindeutig identifiziert. |
| displayName |
string |
Dies ist der nicht eindeutige Anzeigename des Diagrammbetreffs. Um dieses Feld zu ändern, müssen Sie den Wert im Quellanbieter ändern. |
| domain |
string |
Dies stellt den Namen des Ursprungscontainers für ein Graph-Element dar. (Für MSA lautet dies "Windows Live ID", für AD den Namen 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 alte Version IMS zugreifen müssen. |
| mailAddress |
string |
Die E-Mail-Adresse des Datensatzes für ein bestimmtes Graph-Element. Dies kann sich von dem Prinzipalnamen unterscheiden. |
| origin |
string |
Der Typ des Quellanbieters für den Ursprungsbezeichner (ex:AD, AAD, MSA) |
| originId |
string |
Der eindeutige Bezeichner aus dem Ursprungssystem. In der Regel eine SID, 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 Graph-Elements vom Quellanbieter. Der Quellanbieter kann dieses Feld im Laufe der Zeit ändern und ist nicht garantiert unveränderlich für die Lebensdauer des Graph-Elements durch VSTS. |
| subjectKind |
string |
Dieses Feld identifiziert den Typ des Diagrammbetreffs (z. B. Gruppe, Bereich, Benutzer). |
| url |
string |
Diese URL ist die vollständige Route zur Quellressource dieses Graph-Betreffs. |
GraphUser
| Name | Typ | Beschreibung |
|---|---|---|
| _links |
Dieses Feld enthält null oder interessantere Links zum Thema Diagramm. Diese Links können aufgerufen werden, um zusätzliche Beziehungen oder ausführlichere Informationen zu diesem Diagrammbetreff zu erhalten. |
|
| descriptor |
string |
Der Deskriptor ist die primäre Möglichkeit, auf den Diagrammbetreff zu verweisen, während das System ausgeführt wird. In diesem Feld wird dasselbe Diagrammthema sowohl in Firmen als auch in Organisationen eindeutig identifiziert. |
| directoryAlias |
string |
Der kurze, im Allgemeinen eindeutige Name für den Benutzer im Sicherungsverzeichnis. Bei AAD-Benutzern entspricht dies dem E-Mail-Spitznamen, der häufig, 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 Diagrammbetreffs. Um dieses Feld zu ändern, müssen Sie den Wert im Quellanbieter ändern. |
| domain |
string |
Dies stellt den Namen des Ursprungscontainers für ein Graph-Element dar. (Für MSA lautet dies "Windows Live ID", für AD den Namen der Domäne, für AAD die Mandanten-ID des Verzeichnisses, für VSTS-Gruppen die ScopeId usw.) |
| isDeletedInOrigin |
boolean |
Wenn "true" ist, wurde die Gruppe im Identitätsanbieter gelöscht. |
| legacyDescriptor |
string |
[Nur interne Verwendung] Der Legacydeskriptor ist hier, falls Sie mithilfe des Identitätsdeskriptors auf alte Version IMS zugreifen müssen. |
| mailAddress |
string |
Die E-Mail-Adresse des Datensatzes für ein bestimmtes Graph-Element. Dies kann sich von dem Prinzipalnamen unterscheiden. |
| metaType |
string |
Der Metatyp des Benutzers im Ursprung, z. B. "Mitglied", "Gast" usw. Informationen zum Satz möglicher Werte finden Sie unter UserMetaType. |
| origin |
string |
Der Typ des Quellanbieters für den Ursprungsbezeichner (ex:AD, AAD, MSA) |
| originId |
string |
Der eindeutige Bezeichner aus dem Ursprungssystem. In der Regel eine SID, 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 Graph-Elements vom Quellanbieter. Der Quellanbieter kann dieses Feld im Laufe der Zeit ändern und ist nicht garantiert unveränderlich für die Lebensdauer des Graph-Elements durch VSTS. |
| subjectKind |
string |
Dieses Feld identifiziert den Typ des Diagrammbetreffs (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 |
Gruppentyp |
GroupEntitlement
Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft
| Name | Typ | Beschreibung |
|---|---|---|
| group |
Memberverweis. |
|
| id |
string (uuid) |
Der eindeutige Bezeichner, der der ID des GraphMember entspricht. |
| lastExecuted |
string (date-time) |
[Readonly] Das letzte Mal, wenn die Gruppenlizenzregel ausgeführt wurde (unabhängig davon, ob Änderungen vorgenommen wurden). |
| licenseRule |
Lizenzregel. |
|
| members |
Gruppenmitglieder. Wird nur beim Erstellen einer neuen Gruppe verwendet. |
|
| projectEntitlements |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
|
| status |
Der Status der Gruppenregel. |
GroupLicensingRuleStatus
Der Status der Gruppenregel.
| Wert | Beschreibung |
|---|---|
| applyPending |
Regel wird erstellt oder aktualisiert, aber anwenden steht aus |
| applied |
Regel wird angewendet |
| incompatible |
Die Gruppenregel war nicht kompatibel. |
| unableToApply |
Die Regel konnte nicht unerwartet angewendet werden und sollte erneut versucht werden. |
GroupType
Gruppentyp
| Wert | Beschreibung |
|---|---|
| projectStakeholder | |
| projectReader | |
| projectContributor | |
| projectAdministrator | |
| custom |
LicensingSource
Lizenzquelle (z. B. Konto. MSDN usw.)
| Wert | Beschreibung |
|---|---|
| none | |
| account | |
| msdn | |
| profile | |
| auto | |
| trial |
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.
| Wert | Beschreibung |
|---|---|
| none | |
| eligible | |
| professional | |
| platforms | |
| testProfessional | |
| premium | |
| ultimate | |
| enterprise |
ProjectEntitlement
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Benutzers in diesem Projekt.
| Name | Typ | Beschreibung |
|---|---|---|
| assignmentSource |
Zuordnungsquelle (z. B. Gruppe oder Unbekannt). |
|
| group |
Projektgruppe (z. B. Mitwirkender, Leser usw.) |
|
| projectPermissionInherited |
Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt. |
|
| projectRef |
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.
| Wert | Beschreibung |
|---|---|
| notSet | |
| notInherited | |
| inherited |
ProjectRef
Ein Verweis auf ein Projekt
| Name | Typ | Beschreibung |
|---|---|---|
| id |
string (uuid) |
Projekt-ID. |
| name |
string |
Projektname. |
ReferenceLinks
Die Klasse, die eine Auflistung von REST-Referenzverknüpfungslinks darstellt.
| Name | Typ | Beschreibung |
|---|---|---|
| links |
object |
Die schreibgeschützte Ansicht der Links. Da Referenzlinks 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 (uuid) |
Team-ID |
| name |
string |
Teamname |
UserEntitlement
Eine Benutzerentität mit zusätzlichen Eigenschaften, einschließlich ihrer Lizenz, Erweiterungen und Der Projektmitgliedschaft
| Name | Typ | Beschreibung |
|---|---|---|
| accessLevel |
Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist. |
|
| dateCreated |
string (date-time) |
[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde. |
| groupAssignments |
[Readonly] GroupEntitlements, zu denen dieses Mitglied gehört. |
|
| id |
string (uuid) |
Der eindeutige Bezeichner, der der ID der Identität entspricht, die dem GraphMember zugeordnet ist. |
| lastAccessedDate |
string (date-time) |
[Readonly] Datum, an dem das Element zuletzt auf die Auflistung zugegriffen hat. |
| projectEntitlements |
Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt. |
|
| user |
Benutzerreferenz. |
UserEntitlementOperationResult
| Name | Typ | Beschreibung |
|---|---|---|
| errors |
object[] |
Liste der Fehlercodes, die mit den entsprechenden Fehlermeldungen gekoppelt sind. |
| isSuccess |
boolean |
Erfolgsstatus des Vorgangs. |
| result |
string (T) |
Resultierende Berechtigungseigenschaft. Spezifische Implementierungen finden Sie auch unter: <seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.ServicePrincipalEntitlementOperationResult" /><seealso cref="T:Microsoft.VisualStudio.Services.MemberEntitlementManagement.WebApi.UserEntitlementOperationResult" /> |
| userId |
string (uuid) |
Bezeichner des Mitglieds, auf das reagiert wird. |
UserEntitlementsPostResponse
| Name | Typ | Beschreibung |
|---|---|---|
| isSuccess |
boolean |
True, wenn alle Vorgänge erfolgreich waren. |
| operationResult |
Vorgangsergebnis. |
|
| userEntitlement |
Ergebnis der Benutzerberechtigung, nachdem die Vorgänge angewendet wurden. |