Service Principals - Create

Materializace existujícího instančního objektu AAD do účtu ADO

POZNÁMKA: Vytvořené instanční objekty nejsou v účtu aktivní.

Před přidáním instančního objektu do skupin ADO nebo přiřazením prostředku se vyžaduje přidání instančního objektu k účtu.

Tělo požadavku musí být odvozeným typem GraphServicePrincipalCreationContext:

  • GraphServicePrincipalOriginIdCreationContext – Vytvoří nový instanční objekt pomocí OriginID jako odkaz na existující instanční objekt od poskytovatele založeného na AAD.

Pokud instanční objekt, který se má přidat, odpovídá instančnímu objektu, který byl dříve odstraněn, bude tento instanční objekt obnoven.

Volitelně můžete nově vytvořený instanční objekt přidat jako člena existující skupiny ADO nebo zadat vlastní klíč úložiště pro instanční objekt.

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

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
organization
path True

string

Název organizace Azure DevOps.

api-version
query True

string

Verze rozhraní API, která se má použít. Aby se tato verze rozhraní API používala, měla by být nastavená na 7.1-preview.1.

groupDescriptors
query

string

array (string)

Seznam popisovačů skupin oddělených čárkami, ke které se má instanční objekt grafu připojit

Text požadavku

Name Typ Description
storageKey

string

Volitelné: Pokud je zadaný, použijeme tento identifikátor pro klíč úložiště vytvořeného instančního objektu.

Odpovědi

Name Typ Description
200 OK

GraphServicePrincipal

úspěšná operace

Zabezpečení

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 Description
vso.graph_manage Umožňuje číst informace o uživatelích, skupinách, oboru a členství ve skupinách a přidávat uživatele, skupiny a spravovat členství ve skupinách.

Příklady

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"
}

Definice

Name Description
GraphServicePrincipal
GraphServicePrincipalCreationContext

Nepokoušejte se použít tento typ k vytvoření nového instančního objektu. Místo toho použijte jednu z podtříd. Tento typ neobsahuje dostatek polí k vytvoření nového instančního objektu.

ReferenceLinks

Třída představující kolekci odkazů REST.

GraphServicePrincipal

Name Typ Description
_links

ReferenceLinks

Toto pole obsahuje nula nebo více zajímavých odkazů o předmětu grafu. Tyto odkazy mohou být vyvolány za účelem získání dalších relací nebo podrobnějších informací o tomto předmětu grafu.

applicationId

string

descriptor

string

Popisovač je primárním způsobem, jak odkazovat na předmět grafu, když je systém spuštěný. Toto pole jednoznačně identifikuje stejný předmět grafu napříč účty i organizacemi.

directoryAlias

string

Krátké, obecně jedinečné jméno uživatele v záložním adresáři. U uživatelů AAD to odpovídá poštovní přezdívkě, která se často, ale nemusí nutně podobat části e-mailové adresy uživatele před znakem @. Pro uživatele GitHubu to odpovídá uživatelskému popisovači GitHubu.

displayName

string

Toto je jedinečný zobrazovaný název předmětu grafu. Pokud chcete toto pole změnit, musíte změnit jeho hodnotu ve zdrojovém poskytovateli.

domain

string

To představuje název kontejneru původu pro člena grafu. (Pro MSA je to Windows Live ID, pro AD název domény, pro AAD ID tenanta adresáře, pro skupiny VSTS ScopeId atd.)

isDeletedInOrigin

boolean

Pokud je hodnota true, skupina se ve zprostředkovateli identity odstranila.

legacyDescriptor

string

[Pouze pro interní použití] Starší popisovač je tady pro případ, že potřebujete získat přístup ke starší verzi IMS pomocí popisovače identity.

mailAddress

string

E-mailová adresa záznamu pro daného člena grafu. Může se lišit od hlavního názvu.

metaType

string

Metatyp uživatele v počátku, například "člen", "host" atd. Sadu možných hodnot najdete v tématu UserMetaType.

origin

string

Typ poskytovatele zdroje pro identifikátor původu (např.: AD, AAD, MSA)

originId

string

Jedinečný identifikátor ze systému původu. Obvykle sid, ID objektu nebo GUID. Operace propojení a zrušení propojení můžou způsobit změnu této hodnoty pro uživatele, protože uživatel není podporován jiným poskytovatelem a v novém poskytovateli má jiné jedinečné ID.

principalName

string

Toto je principalName tohoto člena grafu od zdrojového poskytovatele. Zprostředkovatel zdroje může toto pole v průběhu času měnit a není zaručeno, že bude neměnné po celou dobu životnosti člena grafu službou VSTS.

subjectKind

string

Toto pole identifikuje typ předmětu grafu (např. Skupina, Obor, Uživatel).

url

string

Tato adresa URL je úplná trasa ke zdrojovému prostředku tohoto předmětu grafu.

GraphServicePrincipalCreationContext

Nepokoušejte se použít tento typ k vytvoření nového instančního objektu. Místo toho použijte jednu z podtříd. Tento typ neobsahuje dostatek polí k vytvoření nového instančního objektu.

Name Typ Description
storageKey

string

Volitelné: Pokud je zadaný, použijeme tento identifikátor pro klíč úložiště vytvořeného instančního objektu.

Třída představující kolekci odkazů REST.

Name Typ Description
links

object

Zobrazení odkazů jen pro čtení. Vzhledem k tomu, že odkazy jsou jen pro čtení, chceme je zveřejnit jenom jako jen pro čtení.