Freigeben über


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

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

GroupEntitlement[]

[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

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

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
AccessLevel

Einem Benutzer zugewiesene Lizenz

AccountLicenseType

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

AccountUserStatus

Benutzerstatus im Konto

AssignmentSource

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

GraphGroup

Graph-Gruppenentität

GraphUser
Group

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

GroupEntitlement

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

GroupLicensingRuleStatus

Der Status der Gruppenregel.

GroupType

Gruppentyp

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.

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-Referenzverknüpfungslinks darstellt.

TeamRef

Ein Verweis auf ein Team

UserEntitlement

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

UserEntitlementOperationResult
UserEntitlementsPostResponse

AccessLevel

Einem Benutzer zugewiesene Lizenz

Name Typ Beschreibung
accountLicenseType

AccountLicenseType

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

assignmentSource

AssignmentSource

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

licenseDisplayName

string

Anzeigename der Lizenz

licensingSource

LicensingSource

Lizenzquelle (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

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

ReferenceLinks

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

ReferenceLinks

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

GroupType

Gruppentyp

GroupEntitlement

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

Name Typ Beschreibung
group

GraphGroup

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

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

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

AssignmentSource

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

Wert Beschreibung
notSet
notInherited
inherited

ProjectRef

Ein Verweis auf ein Projekt

Name Typ Beschreibung
id

string (uuid)

Projekt-ID.

name

string

Projektname.

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

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

GroupEntitlement[]

[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

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

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

UserEntitlementOperationResult

Vorgangsergebnis.

userEntitlement

UserEntitlement

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