Share via


Service Principals - Create

Mevcut bir AAD hizmet sorumlusunu ADO hesabında gerçekleştirme.

NOT: Oluşturulan hizmet sorumluları bir hesapta etkin değildir.

Hizmet sorumlusunun ADO gruplarına eklenebilmesi veya bir varlığa atanabilmesi için önce hesaba hizmet sorumlusu eklenmesi gerekir.

İsteğin gövdesi, türetilmiş bir GraphServicePrincipalCreationContext türünde olmalıdır:

  • GraphServicePrincipalOriginIdCreationContext - AAD destekli sağlayıcıdan mevcut bir hizmet sorumlusuna başvuru olarak OriginID kullanarak yeni bir hizmet sorumlusu oluşturun.

Eklenecek hizmet sorumlusu daha önce silinmiş bir hizmet sorumlusuna karşılık geliyorsa, bu hizmet sorumlusu geri yüklenir.

İsteğe bağlı olarak, yeni oluşturulan hizmet sorumlusunu mevcut bir ADO grubunun üyesi olarak ekleyebilir ve/veya hizmet sorumlusu için özel bir depolama anahtarı belirtebilirsiniz.

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 Parametreleri

Name İçinde Gerekli Tür Description
organization
path True

string

Azure DevOps kuruluşunun adı.

api-version
query True

string

Kullanılacak API'nin sürümü. Bu, api'nin bu sürümünü kullanmak için '7.1-preview.1' olarak ayarlanmalıdır.

groupDescriptors
query

string

array (string)

Grafik hizmet sorumlusunun katılmasını istediğiniz grupların tanımlayıcılarının virgülle ayrılmış listesi

İstek Gövdesi

Name Tür Description
storageKey

string

İsteğe bağlı: Sağlanırsa, oluşturulan hizmet sorumlusunun depolama anahtarı için bu tanımlayıcıyı kullanacağız

Yanıtlar

Name Tür Description
200 OK

GraphServicePrincipal

başarılı işlem

Güvenlik

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 Kullanıcı, grup, kapsam ve grup üyeliği bilgilerini okuma ve kullanıcı, grup ekleme ve grup üyeliklerini yönetme olanağı verir

Örnekler

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

Tanımlar

Name Description
GraphServicePrincipal
GraphServicePrincipalCreationContext

Yeni bir hizmet sorumlusu oluşturmak için bu türü kullanmayı denemeyin. Bunun yerine alt sınıflardan birini kullanın. Bu tür, yeni bir hizmet sorumlusu oluşturmak için yeterli alan içermiyor.

ReferenceLinks

REST başvuru bağlantılarının koleksiyonunu temsil eden sınıf.

GraphServicePrincipal

Name Tür Description
_links

ReferenceLinks

Bu alan, grafik konusuyla ilgili sıfır veya daha fazla ilgi çekici bağlantı içerir. Bu bağlantılar, bu grafik konusu hakkında ek ilişkiler veya daha ayrıntılı bilgi edinmek için çağrılabilir.

applicationId

string

descriptor

string

Tanımlayıcı, sistem çalışırken graf konusuna başvurmanın birincil yoludur. Bu alan, hem Hesaplar hem de Kuruluşlar genelinde aynı graf konusunu benzersiz olarak tanımlar.

directoryAlias

string

Yedekleme dizinindeki kullanıcı için kısa, genel olarak benzersiz ad. AAD kullanıcıları için bu, çoğunlukla @ işaretinden önce kullanıcının posta adresinin parçasına benzeyen ancak her zaman benzer olmayan posta takma adına karşılık gelir. GitHub kullanıcıları için bu, GitHub kullanıcı tanıtıcısına karşılık gelir.

displayName

string

Bu, grafik konusunun benzersiz olmayan görünen adıdır. Bu alanı değiştirmek için kaynak sağlayıcıdaki değerini değiştirmeniz gerekir.

domain

string

Bu, bir grafik üyesinin kaynak kapsayıcısının adını temsil eder. (MSA için bu "Windows Live ID", AD için etki alanının adı, AAD için dizinin tenantID değeri, VSTS grupları için ScopeId vb.)

isDeletedInOrigin

boolean

Doğru olduğunda, grup kimlik sağlayıcısından silindi

legacyDescriptor

string

[Yalnızca İç Kullanım] Eski tanımlayıcı, kimlik tanımlayıcısını kullanarak eski sürüm IMS'ye erişmeniz gerektiğinde buradadır.

mailAddress

string

Belirli bir grafik üyesi için kaydın e-posta adresi. Bu, asıl addan farklı olabilir.

metaType

string

Kaynaktaki kullanıcının "üye", "konuk" vb. meta türü. Olası değerler kümesi için bkz. UserMetaType.

origin

string

Kaynak tanımlayıcısı için kaynak sağlayıcının türü (örn:AD, AAD, MSA)

originId

string

Kaynak sistemdeki benzersiz tanımlayıcı. Genellikle sid, nesne kimliği veya Guid değeridir. Bağlama ve bağlantıyı kaldırma işlemleri, kullanıcı farklı bir sağlayıcı tarafından yedeklenmediğinden ve yeni sağlayıcıda farklı bir benzersiz kimliğe sahip olduğundan bu değerin bir kullanıcı için değişmesine neden olabilir.

principalName

string

Bu, kaynak sağlayıcıdan bu grafik üyesinin PrincipalName değeridir. Kaynak sağlayıcı bu alanı zaman içinde değiştirebilir ve VSTS tarafından grafik üyesinin ömrü boyunca sabit olacağı garanti edilemez.

subjectKind

string

Bu alan graf konusunun türünü tanımlar (ör. Grup, Kapsam, Kullanıcı).

url

string

Bu URL, bu grafik konusunun kaynak kaynağına giden tam yoldur.

GraphServicePrincipalCreationContext

Yeni bir hizmet sorumlusu oluşturmak için bu türü kullanmayı denemeyin. Bunun yerine alt sınıflardan birini kullanın. Bu tür, yeni bir hizmet sorumlusu oluşturmak için yeterli alan içermiyor.

Name Tür Description
storageKey

string

İsteğe bağlı: Sağlanırsa, oluşturulan hizmet sorumlusunun depolama anahtarı için bu tanımlayıcıyı kullanacağız

REST başvuru bağlantılarının koleksiyonunu temsil eden sınıf.

Name Tür Description
links

object

Bağlantıların salt okunur görünümü. Başvuru bağlantıları salt okunur olduğundan, bunları yalnızca salt okunur olarak kullanıma açmak istiyoruz.