Service Principals - Create

Материализуйте существующий субъект-службу AAD в учетную запись ADO.

ПРИМЕЧАНИЕ. Созданные субъекты-службы не активны в учетной записи.

Добавление субъекта-службы в учетную запись необходимо для добавления субъекта-службы в группы ADO или назначения ресурса.

Текст запроса должен быть производным типом GraphServicePrincipalCreationContext:

  • GraphServicePrincipalOriginIdCreationContext — создайте субъект-службу, используя OriginID в качестве ссылки на существующий субъект-службу из поставщика с поддержкой AAD.

Если добавляемый субъект-служба соответствует ранее удаленному субъекту-службе, этот субъект-служба будет восстановлен.

При необходимости можно добавить только что созданный субъект-службу в качестве члена существующей группы ADO и (или) указать пользовательский ключ хранилища для субъекта-службы.

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

Имя В Обязательно Тип Описание
organization
path True

string

Название организации Azure DevOps.

api-version
query True

string

Используемая версия API. Для использования этой версии API необходимо задать значение 7.1-preview.1.

groupDescriptors
query

string

array (string)

Разделенный запятыми список дескрипторов групп, которые должны быть присоединены к субъекту-службе графа.

Текст запроса

Имя Тип Описание
storageKey

string

Необязательно. Если он указан, мы будем использовать этот идентификатор для ключа хранилища созданного субъекта-службы.

Ответы

Имя Тип Описание
200 OK

GraphServicePrincipal

успешная операция

Безопасность

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

Имя Описание
vso.graph_manage Предоставляет возможность читать сведения о пользователях, группах, область и членстве в группах, а также добавлять пользователей, группы и управлять членством в группах.

Примеры

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

Определения

Имя Описание
GraphServicePrincipal
GraphServicePrincipalCreationContext

Не пытайтесь использовать этот тип для создания нового субъекта-службы. Вместо этого используйте один из подклассов. Этот тип не содержит достаточно полей для создания нового субъекта-службы.

ReferenceLinks

Класс, представляющий коллекцию ссылок REST.

GraphServicePrincipal

Имя Тип Описание
_links

ReferenceLinks

Это поле содержит ноль или более интересных ссылок на тему графа. Эти ссылки можно вызывать для получения дополнительных связей или более подробных сведений об этой теме графа.

applicationId

string

descriptor

string

Дескриптор является основным способом ссылки на субъект графа во время работы системы. Это поле будет уникальным образом определять один и тот же субъект графа как в учетных записях, так и в организациях.

directoryAlias

string

Короткое, обычно уникальное имя пользователя в резервном каталоге. Для пользователей AAD это соответствует почтовому псевдониму, который часто, но не обязательно похож на часть почтового адреса пользователя перед знаком @. Для пользователей GitHub это соответствует дескриптору пользователя GitHub.

displayName

string

Это неуникальное отображаемое имя субъекта графа. Чтобы изменить это поле, необходимо изменить его значение в поставщике источника.

domain

string

Представляет имя контейнера источника для элемента графа. (Для MSA это "Идентификатор Windows Live ID", для AD — имя домена, для AAD — идентификатор клиента каталога, для групп VSTS — ScopeId и т. д.)

isDeletedInOrigin

boolean

Если задано значение true, группа была удалена в поставщике удостоверений.

legacyDescriptor

string

[Только для внутреннего использования] Устаревший дескриптор доступен на случай, если вам потребуется получить доступ к IMS старой версии с помощью дескриптора удостоверений.

mailAddress

string

Адрес электронной почты записи для данного элемента графа. Это может отличаться от имени субъекта.

metaType

string

Метатип пользователя в источнике, например "member", "guest" и т. д. Набор возможных значений см. в разделе UserMetaType.

origin

string

Тип поставщика источника для идентификатора источника (например, AD, AAD, MSA).

originId

string

Уникальный идентификатор из системы источника. Обычно это идентификатор sid, идентификатор объекта или guid. Операции связывания и отмены связи могут привести к изменению этого значения для пользователя, так как пользователь не поддерживается другим поставщиком и имеет другой уникальный идентификатор в новом поставщике.

principalName

string

Это principalName этого элемента графа от поставщика источника. Поставщик источника может изменить это поле с течением времени, и VSTS не гарантирует, что оно будет неизменяемым в течение срока существования члена графа.

subjectKind

string

Это поле определяет тип субъекта графа (например, "Группа", "Область", "Пользователь").

url

string

Этот URL-адрес представляет собой полный маршрут к исходному ресурсу этого субъекта графа.

GraphServicePrincipalCreationContext

Не пытайтесь использовать этот тип для создания нового субъекта-службы. Вместо этого используйте один из подклассов. Этот тип не содержит достаточно полей для создания нового субъекта-службы.

Имя Тип Описание
storageKey

string

Необязательно. Если он указан, мы будем использовать этот идентификатор для ключа хранилища созданного субъекта-службы.

Класс, представляющий коллекцию ссылок REST.

Имя Тип Описание
links

object

Представление ссылок только для чтения. Так как ссылочные ссылки доступны только для чтения, мы хотим предоставить их только для чтения.