Service Principals - Create
Matérialisez un principal de service AAD existant dans le compte ADO.
REMARQUE : les principaux de service créés ne sont pas actifs dans un compte.
L’ajout d’un principal de service à un compte est nécessaire avant que le principal de service puisse être ajouté aux groupes ADO ou affecter une ressource.
Le corps de la demande doit être un type dérivé de GraphServicePrincipalCreationContext :
- GraphServicePrincipalOriginIdCreationContext : créez un principal de service à l’aide de l’Id d’origine comme référence à un principal de service existant à partir d’un fournisseur soutenu par AAD.
Si le principal de service à ajouter correspond à un principal de service précédemment supprimé, ce principal de service est restauré.
Si vous le souhaitez, vous pouvez ajouter le principal de service nouvellement créé en tant que membre d’un groupe ADO existant et/ou spécifier une clé de stockage personnalisée pour le principal de service.
POST https://vssps.dev.azure.com/{organization}/_apis/graph/serviceprincipals?api-version=7.1-preview.1
POST https://vssps.dev.azure.com/{organization}/_apis/graph/serviceprincipals?groupDescriptors={groupDescriptors}&api-version=7.1-preview.1
Paramètres URI
Nom | Dans | Obligatoire | Type | Description |
---|---|---|---|---|
organization
|
path | True |
string |
Nom de l’organisation Azure DevOps. |
api-version
|
query | True |
string |
Version de l’API à utiliser. Cette valeur doit être définie sur « 7.1-preview.1 » pour utiliser cette version de l’API. |
group
|
query |
string array (string) |
Liste séparée par des virgules de descripteurs de groupes que vous souhaitez joindre au principal du service graph |
Corps de la demande
Nom | Type | Description |
---|---|---|
storageKey |
string |
Facultatif : s’il est fourni, nous utiliserons cet identificateur pour la clé de stockage du principal de service créé. |
Réponses
Nom | Type | Description |
---|---|---|
200 OK |
opération réussie |
Sécurité
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
Nom | Description |
---|---|
vso.graph_manage | Octroie la possibilité de lire les informations d’appartenance aux utilisateurs, aux groupes, à l’étendue et aux groupes, et d’ajouter des utilisateurs, des groupes et de gérer les appartenances aux groupes |
Exemples
Sample Request
POST https://vssps.dev.azure.com/{organization}/_apis/graph/serviceprincipals?api-version=7.1-preview.1
{
"originId": "053b9e43-b344-4d53-897f-fe5d9c016625"
}
Sample Response
{
"subjectKind": "servicePrincipal",
"applicationId": "7adff1a5-9d3f-407d-8b79-4dd547d472b1",
"directoryAlias": "053b9e43-b344-4d53-897f-fe5d9c016625",
"domain": "62e2ee3f-dbd4-48d8-9b85-4a3776783e13",
"principalName": "053b9e43-b344-4d53-897f-fe5d9c016625",
"mailAddress": null,
"origin": "aad",
"originId": "053b9e43-b344-4d53-897f-fe5d9c016625",
"displayName": "ServicePrincipalDisplayName",
"_links": {
"self": {
"href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
},
"memberships": {
"href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/Memberships/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/MembershipStates/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/StorageKeys/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
},
"avatar": {
"href": "https://dev.azure.com/Fabrikam/_apis/GraphProfile/MemberAvatars/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
}
},
"url": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/ServicePrincipals/aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3",
"descriptor": "aadsp.ZTM1NTU0YzUtMjg2MC03MWFkLWIzYjAtNzkzNWViMDg1Njg3"
}
Définitions
Nom | Description |
---|---|
Graph |
|
Graph |
N’essayez pas d’utiliser ce type pour créer un principal de service. Utilisez l’une des sous-classes à la place. Ce type ne contient pas suffisamment de champs pour créer un nouveau principal de service. |
Reference |
Classe pour représenter une collection de liens de référence REST. |
GraphServicePrincipal
Nom | Type | Description |
---|---|---|
_links |
Ce champ contient zéro ou plus de liens intéressants sur le sujet du graphe. Ces liens peuvent être appelés pour obtenir des relations supplémentaires ou des informations plus détaillées sur ce sujet de graphique. |
|
applicationId |
string |
|
descriptor |
string |
Le descripteur est le principal moyen de référencer l’objet du graphe pendant l’exécution du système. Ce champ identifie de manière unique le même sujet de graphe pour les comptes et les organisations. |
directoryAlias |
string |
Nom court et généralement unique de l’utilisateur dans le répertoire de stockage. Pour les utilisateurs AAD, cela correspond au surnom du courrier, qui est souvent mais pas nécessairement similaire à la partie de l’adresse de messagerie de l’utilisateur avant le signe @. Pour les utilisateurs GitHub, cela correspond au handle utilisateur GitHub. |
displayName |
string |
Il s’agit du nom d’affichage non unique du sujet du graphique. Pour modifier ce champ, vous devez modifier sa valeur dans le fournisseur source. |
domain |
string |
Cela représente le nom du conteneur d’origine d’un membre de graphe. (Pour MSA, il s’agit de « Windows Live ID », pour AD le nom du domaine, pour AAD le tenantID du répertoire, pour les groupes VSTS l’ScopeId, etc.) |
isDeletedInOrigin |
boolean |
Quand la valeur est true, le groupe a été supprimé dans le fournisseur d’identité |
legacyDescriptor |
string |
[Utilisation interne uniquement] Le descripteur hérité est ici au cas où vous deviez accéder à l’ancienne version d’IMS à l’aide du descripteur d’identité. |
mailAddress |
string |
Adresse e-mail d’enregistrement pour un membre de graphique donné. Il peut être différent du nom principal. |
metaType |
string |
Type méta de l’utilisateur dans l’origine, tel que « member », « guest », etc. Pour connaître l’ensemble des valeurs possibles, consultez UserMetaType. |
origin |
string |
Type de fournisseur source pour l’identificateur d’origine (ex:AD, AAD, MSA) |
originId |
string |
Identificateur unique du système d’origine. Généralement, un sid, un ID d’objet ou un GUID. Les opérations de liaison et de dissociation peuvent entraîner la modification de cette valeur pour un utilisateur, car l’utilisateur n’est pas soutenu par un autre fournisseur et a un ID unique différent dans le nouveau fournisseur. |
principalName |
string |
Il s’agit du PrincipalName de ce membre de graphe du fournisseur source. Le fournisseur source peut modifier ce champ au fil du temps et il n’est pas garanti qu’il soit immuable pendant la durée de vie du membre du graphique par VSTS. |
subjectKind |
string |
Ce champ identifie le type de l’objet du graphe (par exemple, Groupe, Étendue, Utilisateur). |
url |
string |
Cette URL est l’itinéraire complet vers la ressource source de ce sujet de graphique. |
GraphServicePrincipalCreationContext
N’essayez pas d’utiliser ce type pour créer un principal de service. Utilisez l’une des sous-classes à la place. Ce type ne contient pas suffisamment de champs pour créer un nouveau principal de service.
Nom | Type | Description |
---|---|---|
storageKey |
string |
Facultatif : s’il est fourni, nous utiliserons cet identificateur pour la clé de stockage du principal de service créé. |
ReferenceLinks
Classe pour représenter une collection de liens de référence REST.
Nom | Type | Description |
---|---|---|
links |
object |
Vue en lecture seule des liens. Étant donné que les liens de référence sont en lecture seule, nous voulons uniquement les exposer en lecture seule. |