Compartir a través de


Service Principals - Create

Materialice una entidad de servicio de AAD existente en la cuenta de ADO.

NOTA: Las entidades de servicio creadas no están activas en una cuenta.

Se requiere agregar una entidad de servicio a una cuenta antes de que la entidad de servicio se pueda agregar a grupos de ADO o asignar un recurso.

El cuerpo de la solicitud debe ser un tipo derivado de GraphServicePrincipalCreationContext:

  • GraphServicePrincipalOriginIdCreationContext: cree una nueva entidad de servicio con OriginID como referencia a una entidad de servicio existente del proveedor respaldado por AAD.

Si la entidad de servicio que se va a agregar corresponde a una entidad de servicio que se eliminó anteriormente, se restaurará esa entidad de servicio.

Opcionalmente, puede agregar la entidad de servicio recién creada como miembro de un grupo de ADO existente o especificar una clave de almacenamiento personalizada para la entidad de servicio.

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 identificador URI

Nombre En Requerido Tipo Description
organization
path True

string

El nombre de la organización de Azure DevOps.

api-version
query True

string

Versión de la API que se va a usar. Debe establecerse en "7.1-preview.1" para usar esta versión de la API.

groupDescriptors
query

string

array (string)

Lista separada por comas de descriptores de grupos a los que quiere que se una la entidad de servicio de grafos.

Cuerpo de la solicitud

Nombre Tipo Description
storageKey

string

Opcional: si se proporciona, usaremos este identificador para la clave de almacenamiento de la entidad de servicio creada.

Respuestas

Nombre Tipo Description
200 OK

GraphServicePrincipal

operación correcta

Seguridad

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

Nombre Description
vso.graph_manage Concede la capacidad de leer la información de usuario, grupo, ámbito y pertenencia a grupos, y para agregar usuarios, grupos y administrar pertenencias a grupos.

Ejemplos

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

Definiciones

Nombre Description
GraphServicePrincipal
GraphServicePrincipalCreationContext

No intente usar este tipo para crear una nueva entidad de servicio. Use una de las subclases en su lugar. Este tipo no contiene campos suficientes para crear una nueva entidad de servicio.

ReferenceLinks

Clase que se va a representar una colección de vínculos de referencia de REST.

GraphServicePrincipal

Nombre Tipo Description
_links

ReferenceLinks

Este campo contiene cero o más vínculos interesantes sobre el tema del grafo. Estos vínculos se pueden invocar para obtener relaciones adicionales o información más detallada sobre este tema del grafo.

applicationId

string

descriptor

string

El descriptor es la forma principal de hacer referencia al asunto del grafo mientras se ejecuta el sistema. Este campo identificará de forma única el mismo asunto del grafo en cuentas y organizaciones.

directoryAlias

string

Nombre corto, generalmente único para el usuario en el directorio de respaldo. Para los usuarios de AAD, esto corresponde al alias de correo, que suele ser similar a la parte de la dirección de correo del usuario antes del signo @ . Para los usuarios de GitHub, esto corresponde al identificador de usuario de GitHub.

displayName

string

Este es el nombre para mostrar no único del asunto del grafo. Para cambiar este campo, debe modificar su valor en el proveedor de origen.

domain

string

Representa el nombre del contenedor de origen para un miembro de grafo. (Para MSA, este es "Windows Live ID", para AD el nombre del dominio, para AAD el tenantID del directorio, para los grupos de VSTS ScopeId, etc.)

isDeletedInOrigin

boolean

Cuando es true, el grupo se ha eliminado en el proveedor de identidades.

legacyDescriptor

string

[Solo uso interno] El descriptor heredado está aquí en caso de que tenga que acceder a la versión anterior de IMS mediante el descriptor de identidad.

mailAddress

string

Dirección de correo electrónico del registro de un miembro de grafo determinado. Puede ser diferente del nombre principal.

metaType

string

Meta type del usuario en el origen, como "member", "guest", etc. Consulte UserMetaType para obtener el conjunto de valores posibles.

origin

string

Tipo de proveedor de origen para el identificador de origen (por ejemplo: AD, AAD, MSA)

originId

string

Identificador único del sistema de origen. Normalmente, un sid, un identificador de objeto o un GUID. Las operaciones de vinculación y desvinculación pueden hacer que este valor cambie para un usuario porque el usuario no está respaldado por un proveedor diferente y tiene un identificador único diferente en el nuevo proveedor.

principalName

string

Este es el nombre principal de este miembro del grafo del proveedor de origen. El proveedor de origen puede cambiar este campo a lo largo del tiempo y no se garantiza que sea inmutable durante la vida del miembro del grafo por VSTS.

subjectKind

string

Este campo identifica el tipo del asunto del grafo (por ejemplo, Grupo, Ámbito, Usuario).

url

string

Esta dirección URL es la ruta completa al recurso de origen de este tema del grafo.

GraphServicePrincipalCreationContext

No intente usar este tipo para crear una nueva entidad de servicio. Use una de las subclases en su lugar. Este tipo no contiene campos suficientes para crear una nueva entidad de servicio.

Nombre Tipo Description
storageKey

string

Opcional: si se proporciona, usaremos este identificador para la clave de almacenamiento de la entidad de servicio creada.

Clase que se va a representar una colección de vínculos de referencia de REST.

Nombre Tipo Description
links

object

Vista de lectura de los vínculos. Dado que los vínculos de referencia son de solo lectura, solo queremos exponerlos como de solo lectura.