User Entitlements - Add
Aggiungere un utente, assegnare licenze ed estensioni e impostarle come membro di un gruppo di progetto in un account.
POST https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=7.1-preview.4
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
organization
|
path | True |
string |
Nome dell'organizzazione di Azure DevOps. |
api-version
|
query | True |
string |
Versione dell'API da usare. Deve essere impostato su '7.1-preview.4' per usare questa versione dell'API. |
Corpo della richiesta
Nome | Tipo | Descrizione |
---|---|---|
accessLevel |
Access |
Livello di accesso del membro indicato da una licenza. |
dateCreated |
string |
[Sola lettura] Data di aggiunta del membro alla raccolta. |
groupAssignments |
Group |
[Sola lettura] GroupEntitlements a cui appartiene questo membro. |
id |
string |
Identificatore univoco che corrisponde all'ID dell'identità associata a GraphMember. |
lastAccessedDate |
string |
[Sola lettura] Data dell'ultimo accesso all'insieme da parte del membro. |
projectEntitlements |
Project |
Relazione tra un progetto e le autorizzazioni valide del membro in tale progetto. |
user |
Graph |
Informazioni di riferimento per l'utente. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
User |
operazione riuscita |
Sicurezza
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
Nome | Descrizione |
---|---|
vso.memberentitlementmanagement_write | Concede la possibilità di gestire gli utenti, le licenze e i progetti e le estensioni a cui possono accedere |
Esempio
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": []
}
}
Definizioni
Nome | Descrizione |
---|---|
Access |
Licenza assegnata a un utente |
Account |
Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta. |
Account |
Stato utente nell'account |
Assignment |
Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via. |
Graph |
Entità gruppo graph |
Graph |
|
Group |
Gruppo di progetti (ad esempio Collaboratore, Lettore e così via) |
Group |
Entità di gruppo con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto |
Group |
Stato della regola del gruppo. |
Group |
Tipo di gruppo |
Licensing |
Origine licenze (ad esempio Account. MSDN ecc.) |
Msdn |
Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta. |
Project |
Relazione tra un progetto e le autorizzazioni effettive dell'utente in tale progetto. |
Project |
Indica se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD. |
Project |
Riferimento a un progetto |
Reference |
Classe da rappresentare una raccolta di collegamenti di riferimento REST. |
Team |
Riferimento a un team |
User |
Entità utente con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto |
User |
|
User |
AccessLevel
Licenza assegnata a un utente
Nome | Tipo | Descrizione |
---|---|---|
accountLicenseType |
Account |
Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta. |
assignmentSource |
Assignment |
Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via. |
licenseDisplayName |
string |
Nome visualizzato della licenza |
licensingSource |
Licensing |
Origine licenze (ad esempio Account. MSDN ecc.) |
msdnLicenseType |
Msdn |
Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta. |
status |
Account |
Stato utente nell'account |
statusMessage |
string |
Messaggio di stato. |
AccountLicenseType
Tipo di licenza account (ad esempio Express, Stakeholder e così via). Per usare AccountLicenseType, LicensingSource deve essere definito come 'account' nel corpo della richiesta.
Nome | Tipo | Descrizione |
---|---|---|
advanced |
string |
|
earlyAdopter |
string |
|
express |
string |
|
none |
string |
|
professional |
string |
|
stakeholder |
string |
AccountUserStatus
Stato utente nell'account
Nome | Tipo | Descrizione |
---|---|---|
active |
string |
L'utente ha eseguito l'accesso almeno una volta all'account VSTS |
deleted |
string |
L'utente viene rimosso dall'account VSTS dall'amministratore dell'account VSTS |
disabled |
string |
L'utente non può accedere; principalmente usato dall'amministratore per rimuovere temporaneamente un utente a causa dell'assenza o della reallocation delle licenze |
expired |
string |
L'utente può accedere; usato principalmente quando la licenza è in stato scaduto e viene assegnato un periodo di tolleranza |
none |
string |
|
pending |
string |
L'utente è invitato a partecipare all'account VSTS dall'amministratore dell'account VSTS, ma non ha ancora effettuato l'iscrizione o l'accesso |
pendingDisabled |
string |
L'utente è disabilitato; se riabilitabile, saranno ancora nello stato in sospeso |
AssignmentSource
Origine assegnazione della licenza ,ad esempio gruppo, sconosciuto e così via.
Nome | Tipo | Descrizione |
---|---|---|
groupRule |
string |
|
none |
string |
|
unknown |
string |
GraphGroup
Entità gruppo graph
Nome | Tipo | Descrizione |
---|---|---|
_links |
Reference |
Questo campo contiene zero o più collegamenti interessanti sull'oggetto grafico. Questi collegamenti possono essere richiamati per ottenere relazioni aggiuntive o informazioni più dettagliate su questo argomento grafico. |
description |
string |
Una breve frase per aiutare i lettori umani a disambiguare gruppi con nomi simili |
descriptor |
string |
Il descrittore è il modo principale per fare riferimento all'oggetto del grafico durante l'esecuzione del sistema. Questo campo identificherà in modo univoco lo stesso soggetto grafo in account e organizzazioni. |
displayName |
string |
Si tratta del nome visualizzato non univoco dell'oggetto grafico. Per modificare questo campo, è necessario modificarlo nel provider di origine. |
domain |
string |
Questo rappresenta il nome del contenitore di origine per un membro del grafico. Per MSA si tratta di "Windows Live ID", per AD il nome del dominio, per AAD il tenantID della directory, per i gruppi VSTS di ScopeId e così via) |
legacyDescriptor |
string |
[Solo uso interno] Il descrittore legacy è qui nel caso in cui sia necessario accedere a IMS versione precedente usando il descrittore di identità. |
mailAddress |
string |
Indirizzo di posta elettronica del record per un determinato membro del grafico. Questo può essere diverso dal nome dell'entità. |
origin |
string |
Tipo di provider di origine per l'identificatore di origine (ad,AD, AAD, MSA) |
originId |
string |
Identificatore univoco dal sistema di origine. In genere, id oggetto o Guid. Il collegamento e l'scollegamento delle operazioni possono causare la modifica di questo valore per un utente perché l'utente non è supportato da un provider diverso e ha un ID univoco diverso nel nuovo provider. |
principalName |
string |
Si tratta del nome Principal di questo membro del grafico dal provider di origine. Il provider di origine può modificare questo campo nel tempo e non è garantito che non sia modificabile per la vita del membro del grafico da VSTS. |
subjectKind |
string |
Questo campo identifica il tipo dell'oggetto grafico (ad esempio Gruppo, Ambito, Utente). |
url |
string |
Questo URL è la route completa alla risorsa di origine di questo oggetto grafico. |
GraphUser
Nome | Tipo | Descrizione |
---|---|---|
_links |
Reference |
Questo campo contiene zero o più collegamenti interessanti sull'oggetto grafico. Questi collegamenti possono essere richiamati per ottenere relazioni aggiuntive o informazioni più dettagliate su questo argomento grafico. |
descriptor |
string |
Il descrittore è il modo principale per fare riferimento all'oggetto del grafico durante l'esecuzione del sistema. Questo campo identificherà in modo univoco lo stesso soggetto grafo in account e organizzazioni. |
directoryAlias |
string |
Nome breve, in genere univoco per l'utente nella directory di backup. Per gli utenti di AAD, questo corrisponde al soprannome di posta elettronica, spesso ma non necessariamente simile alla parte dell'indirizzo di posta dell'utente prima del segno @. Per gli utenti di GitHub, questo corrisponde all'handle utente di GitHub. |
displayName |
string |
Si tratta del nome visualizzato non univoco dell'oggetto grafico. Per modificare questo campo, è necessario modificarlo nel provider di origine. |
domain |
string |
Questo rappresenta il nome del contenitore di origine per un membro del grafico. Per MSA si tratta di "Windows Live ID", per AD il nome del dominio, per AAD il tenantID della directory, per i gruppi VSTS di ScopeId e così via) |
isDeletedInOrigin |
boolean |
Se true, il gruppo è stato eliminato nel provider di identità |
legacyDescriptor |
string |
[Solo uso interno] Il descrittore legacy è qui nel caso in cui sia necessario accedere a IMS versione precedente usando il descrittore di identità. |
mailAddress |
string |
Indirizzo di posta elettronica del record per un determinato membro del grafico. Questo può essere diverso dal nome dell'entità. |
metaType |
string |
Tipo meta dell'utente nell'origine, ad esempio "membro", "guest" e così via. Per il set di valori possibili, vedere UserMetaType. |
origin |
string |
Tipo di provider di origine per l'identificatore di origine (ad,AD, AAD, MSA) |
originId |
string |
Identificatore univoco dal sistema di origine. In genere, id oggetto o Guid. Il collegamento e l'scollegamento delle operazioni possono causare la modifica di questo valore per un utente perché l'utente non è supportato da un provider diverso e ha un ID univoco diverso nel nuovo provider. |
principalName |
string |
Si tratta del nome Principal di questo membro del grafico dal provider di origine. Il provider di origine può modificare questo campo nel tempo e non è garantito che non sia modificabile per la vita del membro del grafico da VSTS. |
subjectKind |
string |
Questo campo identifica il tipo dell'oggetto grafico (ad esempio Gruppo, Ambito, Utente). |
url |
string |
Questo URL è la route completa alla risorsa di origine di questo oggetto grafico. |
Group
Gruppo di progetti (ad esempio Collaboratore, Lettore e così via)
Nome | Tipo | Descrizione |
---|---|---|
displayName |
string |
Nome visualizzato del gruppo |
groupType |
Group |
Tipo di gruppo |
GroupEntitlement
Entità di gruppo con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto
Nome | Tipo | Descrizione |
---|---|---|
group |
Graph |
Riferimento membro. |
id |
string |
Identificatore univoco corrispondente all'ID del GraphMember. |
lastExecuted |
string |
[Readonly] L'ultima volta che è stata eseguita la regola di licenza del gruppo (indipendentemente dal fatto che siano state apportate modifiche). |
licenseRule |
Access |
Regola di licenza. |
members |
User |
Membri del gruppo. Usato solo durante la creazione di un nuovo gruppo. |
projectEntitlements |
Project |
Relazione tra un progetto e le autorizzazioni effettive del membro in tale progetto. |
status |
Group |
Stato della regola del gruppo. |
GroupLicensingRuleStatus
Stato della regola del gruppo.
Nome | Tipo | Descrizione |
---|---|---|
applied |
string |
La regola viene applicata |
applyPending |
string |
La regola viene creata o aggiornata, ma si applica è in sospeso |
incompatible |
string |
La regola di gruppo non è compatibile |
unableToApply |
string |
La regola non è stata applicata in modo imprevisto e dovrebbe essere ritentata |
GroupType
Tipo di gruppo
Nome | Tipo | Descrizione |
---|---|---|
custom |
string |
|
projectAdministrator |
string |
|
projectContributor |
string |
|
projectReader |
string |
|
projectStakeholder |
string |
LicensingSource
Origine licenze (ad esempio Account. MSDN ecc.)
Nome | Tipo | Descrizione |
---|---|---|
account |
string |
|
auto |
string |
|
msdn |
string |
|
none |
string |
|
profile |
string |
|
trial |
string |
MsdnLicenseType
Tipo di licenza MSDN (ad esempio Visual Studio Professional, Visual Studio Enterprise e così via). Per usare MsdnLicenseType, LicensingSource deve essere definito come "msdn" nel corpo della richiesta.
Nome | Tipo | Descrizione |
---|---|---|
eligible |
string |
|
enterprise |
string |
|
none |
string |
|
platforms |
string |
|
premium |
string |
|
professional |
string |
|
testProfessional |
string |
|
ultimate |
string |
ProjectEntitlement
Relazione tra un progetto e le autorizzazioni effettive dell'utente in tale progetto.
Nome | Tipo | Descrizione |
---|---|---|
assignmentSource |
Assignment |
Origine assegnazione (ad esempio gruppo o sconosciuto). |
group |
Gruppo di progetti (ad esempio collaboratore, lettore e così via) |
|
projectPermissionInherited |
Project |
Se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD. |
projectRef |
Project |
Riferimento progetto |
teamRefs |
Team |
Team Ref. |
ProjectPermissionInherited
Indica se l'utente eredita le autorizzazioni per un progetto tramite un'appartenenza a un gruppo Azure DevOps o AAD.
Nome | Tipo | Descrizione |
---|---|---|
inherited |
string |
|
notInherited |
string |
|
notSet |
string |
ProjectRef
Riferimento a un progetto
Nome | Tipo | Descrizione |
---|---|---|
id |
string |
ID progetto. |
name |
string |
Nome progetto. |
ReferenceLinks
Classe da rappresentare una raccolta di collegamenti di riferimento REST.
Nome | Tipo | Descrizione |
---|---|---|
links |
object |
Visualizzazione di lettura dei collegamenti. Poiché i collegamenti di riferimento sono in sola lettura, si vuole esporre solo i collegamenti di riferimento come sola lettura. |
TeamRef
Riferimento a un team
Nome | Tipo | Descrizione |
---|---|---|
id |
string |
Team ID (ID team) |
name |
string |
Nome team |
UserEntitlement
Entità utente con proprietà aggiuntive, tra cui la licenza, le estensioni e l'appartenenza al progetto
Nome | Tipo | Descrizione |
---|---|---|
accessLevel |
Access |
Livello di accesso del membro denotato da una licenza. |
dateCreated |
string |
[Readonly] Data di aggiunta del membro alla raccolta. |
groupAssignments |
Group |
[Readonly] GroupEntitlements a cui appartiene questo membro. |
id |
string |
Identificatore univoco corrispondente all'ID dell'identità associata a GraphMember. |
lastAccessedDate |
string |
[Readonly] Data dell'ultimo accesso al membro della raccolta. |
projectEntitlements |
Project |
Relazione tra un progetto e le autorizzazioni effettive del membro in tale progetto. |
user |
Graph |
Informazioni di riferimento dell'utente. |
UserEntitlementOperationResult
Nome | Tipo | Descrizione |
---|---|---|
errors |
object[] |
Elenco di codici di errore associati ai messaggi di errore corrispondenti. |
isSuccess |
boolean |
Stato di esito positivo dell'operazione. |
result |
string |
Proprietà entitlement risultante. Per implementazioni specifiche, vedere anche: |
userId |
string |
Identificatore del membro su cui viene eseguito l'azione. |
UserEntitlementsPostResponse
Nome | Tipo | Descrizione |
---|---|---|
isSuccess |
boolean |
True se tutte le operazioni hanno avuto esito positivo. |
operationResult |
User |
Risultato dell'operazione. |
userEntitlement |
User |
Risultato del diritto utente dopo l'applicazione delle operazioni. |