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

AccessLevel

Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist.

dateCreated

string

[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde.

groupAssignments

GroupEntitlement[]

[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

ProjectEntitlement[]

Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt.

user

GraphUser

Benutzerreferenz.

Antworten

Name Typ Beschreibung
200 OK

UserEntitlementsPostResponse

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
AccessLevel

Einem Benutzer zugewiesene Lizenz

AccountLicenseType

Art der Kontolizenz (z. B. Express, Stakeholder usw.). Um den AccountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden.

AccountUserStatus

Benutzer status im Konto

AssignmentSource

Zuweisungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.)

GraphGroup

Graphgruppenentität

GraphUser
Group

Projektgruppe (z.B. Mitwirkender, Leser usw.)

GroupEntitlement

Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft

GroupLicensingRuleStatus

Die status der Gruppenregel.

GroupType

Gruppentyp

LicensingSource

Lizenzierungsquelle (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.

ProjectEntitlement

Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Benutzers in diesem Projekt.

ProjectPermissionInherited

Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt.

ProjectRef

Ein Verweis auf ein Projekt

ReferenceLinks

Die Klasse, die eine Auflistung von REST-Verweislinks darstellt.

TeamRef

Ein Verweis auf ein Team

UserEntitlement

Eine Benutzerentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Einem Benutzer zugewiesene Lizenz

Name Typ Beschreibung
accountLicenseType

AccountLicenseType

Art der Kontolizenz (z. B. Express, Stakeholder usw.). Um den AccountLicenseType zu verwenden, sollte LicensingSource im Anforderungstext als "Konto" definiert werden.

assignmentSource

AssignmentSource

Zuweisungsquelle der Lizenz (z. B. Gruppe, Unbekannt usw.)

licenseDisplayName

string

Anzeigename der Lizenz

licensingSource

LicensingSource

Lizenzierungsquelle (z. B. Konto. MSDN usw.)

msdnLicenseType

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

AccountUserStatus

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

ReferenceLinks

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

ReferenceLinks

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

GroupType

Gruppentyp

GroupEntitlement

Eine Gruppenentität mit zusätzlichen Eigenschaften, einschließlich Lizenz, Erweiterungen und Projektmitgliedschaft

Name Typ Beschreibung
group

GraphGroup

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

AccessLevel

Lizenzregel.

members

UserEntitlement[]

Gruppenmitglieder. Wird nur beim Erstellen einer neuen Gruppe verwendet.

projectEntitlements

ProjectEntitlement[]

Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt.

status

GroupLicensingRuleStatus

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

AssignmentSource

Zuweisungsquelle (z. B. Gruppe oder Unbekannt).

group

Group

Projektgruppe (z.B. Mitwirkender, Leser usw.)

projectPermissionInherited

ProjectPermissionInherited

Gibt an, ob der Benutzer Berechtigungen für ein Projekt über eine Azure DevOps- oder AAD-Gruppenmitgliedschaft erbt.

projectRef

ProjectRef

Projekt ref

teamRefs

TeamRef[]

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.

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

AccessLevel

Die Zugriffsebene des Mitglieds, die durch eine Lizenz gekennzeichnet ist.

dateCreated

string

[Readonly] Datum, an dem das Element der Auflistung hinzugefügt wurde.

groupAssignments

GroupEntitlement[]

[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

ProjectEntitlement[]

Beziehung zwischen einem Projekt und den effektiven Berechtigungen des Mitglieds in diesem Projekt.

user

GraphUser

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

UserEntitlementOperationResult

Vorgangsergebnis.

userEntitlement

UserEntitlement

Ergebnis der Benutzerberechtigung, nachdem die Vorgänge angewendet wurden.