Service Principals - Create
Materialisieren Sie einen vorhandenen AAD-Dienstprinzipal in das ADO-Konto.
HINWEIS: Erstellte Dienstprinzipale sind in einem Konto nicht aktiv.
Das Hinzufügen eines Dienstprinzipals zu einem Konto ist erforderlich, bevor der Dienstprinzipal zu ADO-Gruppen hinzugefügt oder einem Objekt zugewiesen werden kann.
Der Text der Anforderung muss ein abgeleiteter Typ von GraphServicePrincipalCreationContext sein:
- GraphServicePrincipalOriginIdCreationContext: Erstellen Sie einen neuen Dienstprinzipal mithilfe der OriginID als Verweis auf einen vorhandenen Dienstprinzipal des von AAD gesicherten Anbieters.
Wenn der hinzuzufügende Dienstprinzipal einem zuvor gelöschten Dienstprinzipal entspricht, wird dieser Dienstprinzipal wiederhergestellt.
Optional können Sie den neu erstellten Dienstprinzipal als Mitglied einer vorhandenen ADO-Gruppe hinzufügen und/oder einen benutzerdefinierten Speicherschlüssel für den Dienstprinzipal angeben.
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
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.1" festgelegt werden, um diese Version der API zu verwenden. |
group
|
query |
string array (string) |
Eine durch Trennzeichen getrennte Liste von Deskriptoren von Gruppen, in die der Graph-Dienstprinzipal eingebunden werden soll |
Anforderungstext
Name | Typ | Beschreibung |
---|---|---|
storageKey |
string |
Optional: Falls angegeben, verwenden wir diesen Bezeichner für den Speicherschlüssel des erstellten Dienstprinzipals. |
Antworten
Name | Typ | Beschreibung |
---|---|---|
200 OK |
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.graph_manage | Ermöglicht das Lesen von Benutzer-, Gruppen-, Bereichs- und Gruppenmitgliedschaftsinformationen sowie das Hinzufügen von Benutzern, Gruppen und zum Verwalten von Gruppenmitgliedschaften |
Beispiele
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"
}
Definitionen
Name | Beschreibung |
---|---|
Graph |
|
Graph |
Versuchen Sie nicht, diesen Typ zum Erstellen eines neuen Dienstprinzipals zu verwenden. Verwenden Sie stattdessen eine der Unterklassen. Dieser Typ enthält nicht genügend Felder, um einen neuen Dienstprinzipal zu erstellen. |
Reference |
Die Klasse, die eine Auflistung von REST-Verweislinks darstellt. |
GraphServicePrincipal
Name | Typ | Beschreibung |
---|---|---|
_links |
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. |
|
applicationId |
string |
|
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 Graphelements 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. |
GraphServicePrincipalCreationContext
Versuchen Sie nicht, diesen Typ zum Erstellen eines neuen Dienstprinzipals zu verwenden. Verwenden Sie stattdessen eine der Unterklassen. Dieser Typ enthält nicht genügend Felder, um einen neuen Dienstprinzipal zu erstellen.
Name | Typ | Beschreibung |
---|---|---|
storageKey |
string |
Optional: Falls angegeben, verwenden wir diesen Bezeichner für den Speicherschlüssel des erstellten Dienstprinzipals. |
ReferenceLinks
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. |