Service Principals - Create
Materialize uma entidade de serviço do AAD existente na conta do ADO.
OBSERVAÇÃO: as entidades de serviço criadas não estão ativas em uma conta.
A adição de uma entidade de serviço a uma conta é necessária para que a entidade de serviço possa ser adicionada a grupos do ADO ou atribuída a um ativo.
O corpo da solicitação deve ser um tipo derivado de GraphServicePrincipalCreationContext:
- GraphServicePrincipalOriginIdCreationContext - Crie uma nova entidade de serviço usando o OriginID como referência a uma entidade de serviço existente do provedor com suporte do AAD.
Se a entidade de serviço a ser adicionada corresponder a uma entidade de serviço que foi excluída anteriormente, essa entidade de serviço será restaurada.
Opcionalmente, você pode adicionar a entidade de serviço recém-criada como membro de um grupo do ADO existente e/ou especificar uma chave de armazenamento personalizada para a entidade de serviço.
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
Parâmetros de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
organization
|
path | True |
string |
O nome da organização do Azure DevOps. |
api-version
|
query | True |
string |
Versão da API a ser usada. Isso deve ser definido como '7.1-preview.1' para usar essa versão da api. |
group
|
query |
string array (string) |
Uma lista separada por vírgulas de descritores de grupos que você deseja que a entidade de serviço de grafo ingresse |
Corpo da solicitação
Nome | Tipo | Description |
---|---|---|
storageKey |
string |
Opcional: se fornecido, usaremos esse identificador para a chave de armazenamento da entidade de serviço criada |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
operação bem-sucedida |
Segurança
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
Nome | Description |
---|---|
vso.graph_manage | Concede a capacidade de ler informações de associação de usuário, grupo, escopo e grupo e adicionar usuários, grupos e gerenciar associações de grupo |
Exemplos
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"
}
Definições
Nome | Description |
---|---|
Graph |
|
Graph |
Não tente usar esse tipo para criar uma nova entidade de serviço. Em vez disso, use uma das subclasses. Esse tipo não contém campos suficientes para criar uma nova entidade de serviço. |
Reference |
A classe para representar uma coleção de links de referência REST. |
GraphServicePrincipal
Nome | Tipo | Description |
---|---|---|
_links |
Esse campo contém zero ou mais links interessantes sobre o assunto do grafo. Esses links podem ser invocados para obter relações adicionais ou informações mais detalhadas sobre esse assunto do grafo. |
|
applicationId |
string |
|
descriptor |
string |
O descritor é a principal maneira de referenciar o assunto do grafo enquanto o sistema está em execução. Esse campo identificará exclusivamente o mesmo assunto de grafo entre contas e organizações. |
directoryAlias |
string |
O nome curto, geralmente exclusivo para o usuário no diretório de suporte. Para usuários do AAD, isso corresponde ao apelido de email, que geralmente é, mas não necessariamente semelhante à parte do endereço de email do usuário antes do sinal @. Para usuários do GitHub, isso corresponde ao identificador de usuário do GitHub. |
displayName |
string |
Esse é o nome de exibição não exclusivo do assunto do grafo. Para alterar esse campo, você deve alterar seu valor no provedor de origem. |
domain |
string |
Isso representa o nome do contêiner de origem de um membro do grafo. (Para MSA, este é "Windows Live ID", para AD o nome do domínio, para o AAD a tenantID do diretório, para grupos VSTS, ScopeId etc. |
isDeletedInOrigin |
boolean |
Quando true, o grupo foi excluído no provedor de identidade |
legacyDescriptor |
string |
[Somente uso interno] O descritor herdado está aqui caso você precise acessar a versão antiga do IMS usando o descritor de identidade. |
mailAddress |
string |
O endereço de email do registro de um determinado membro do grafo. Isso pode ser diferente do nome da entidade de segurança. |
metaType |
string |
O meta tipo do usuário na origem, como "membro", "convidado", etc. Consulte UserMetaType para obter o conjunto de valores possíveis. |
origin |
string |
O tipo de provedor de origem para o identificador de origem (ex:AD, AAD, MSA) |
originId |
string |
O identificador exclusivo do sistema de origem. Normalmente, um sid, id de objeto ou Guid. As operações de vinculação e desvinculação podem fazer com que esse valor seja alterado para um usuário porque o usuário não tem o suporte de um provedor diferente e tem uma ID exclusiva diferente no novo provedor. |
principalName |
string |
Este é o PrincipalName desse membro de grafo do provedor de origem. O provedor de origem pode alterar esse campo ao longo do tempo e não é garantido que ele seja imutável durante a vida útil do membro do grafo pelo VSTS. |
subjectKind |
string |
Esse campo identifica o tipo da entidade do grafo (por exemplo: Grupo, Escopo, Usuário). |
url |
string |
Essa URL é a rota completa para o recurso de origem desta entidade de grafo. |
GraphServicePrincipalCreationContext
Não tente usar esse tipo para criar uma nova entidade de serviço. Em vez disso, use uma das subclasses. Esse tipo não contém campos suficientes para criar uma nova entidade de serviço.
Nome | Tipo | Description |
---|---|---|
storageKey |
string |
Opcional: se fornecido, usaremos esse identificador para a chave de armazenamento da entidade de serviço criada |
ReferenceLinks
A classe para representar uma coleção de links de referência REST.
Nome | Tipo | Description |
---|---|---|
links |
object |
A exibição somente leitura dos links. Como os links de referência são somente leitura, só queremos expô-los como somente leitura. |