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. |
group
|
query |
string array (string) |
Разделенный запятыми список дескрипторов групп, которые должны быть присоединены к субъекту-службе графа. |
Текст запроса
Имя | Тип | Описание |
---|---|---|
storageKey |
string |
Необязательно. Если он указан, мы будем использовать этот идентификатор для ключа хранилища созданного субъекта-службы. |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
успешная операция |
Безопасность
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"
}
Определения
Имя | Описание |
---|---|
Graph |
|
Graph |
Не пытайтесь использовать этот тип для создания нового субъекта-службы. Вместо этого используйте один из подклассов. Этот тип не содержит достаточно полей для создания нового субъекта-службы. |
Reference |
Класс, представляющий коллекцию ссылок REST. |
GraphServicePrincipal
Имя | Тип | Описание |
---|---|---|
_links |
Это поле содержит ноль или более интересных ссылок на тему графа. Эти ссылки можно вызывать для получения дополнительных связей или более подробных сведений об этой теме графа. |
|
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 |
Необязательно. Если он указан, мы будем использовать этот идентификатор для ключа хранилища созданного субъекта-службы. |
ReferenceLinks
Класс, представляющий коллекцию ссылок REST.
Имя | Тип | Описание |
---|---|---|
links |
object |
Представление ссылок только для чтения. Так как ссылочные ссылки доступны только для чтения, мы хотим предоставить их только для чтения. |