다음을 통해 공유


Service Principals - Create

기존 AAD 서비스 주체를 ADO 계정으로 구체화합니다.

참고: 생성된 서비스 주체는 계정에서 활성화되지 않습니다.

서비스 주체를 ADO 그룹에 추가하거나 자산을 할당하려면 서비스 주체를 계정에 추가해야 합니다.

요청 본문은 GraphServicePrincipalCreationContext의 파생 형식이어야 합니다.

  • GraphServicePrincipalOriginIdCreationContext - AAD 지원 공급자의 기존 서비스 주체에 대한 참조로 OriginID를 사용하여 새 서비스 주체를 만듭니다.

추가할 서비스 주체가 이전에 삭제된 서비스 주체에 해당하는 경우 해당 서비스 주체가 복원됩니다.

필요에 따라 새로 만든 서비스 주체를 기존 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 매개 변수

Name In(다음 안에) 필수 형식 Description
organization
path True

string

Azure DevOps 조직의 이름입니다.

api-version
query True

string

사용할 API의 버전입니다. 이 버전의 api를 사용하려면 '7.1-preview.1'로 설정해야 합니다.

groupDescriptors
query

string

array (string)

그래프 서비스 주체가 조인할 그룹의 쉼표로 구분된 설명자 목록

요청 본문

Name 형식 Description
storageKey

string

선택 사항: 제공된 경우 생성된 서비스 주체의 스토리지 키에 이 식별자를 사용합니다.

응답

Name 형식 Description
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

Name Description
vso.graph_manage 사용자, 그룹, scope 및 그룹 멤버 자격 정보를 읽고 사용자, 그룹 및 그룹 멤버 자격을 관리하는 기능을 부여합니다.

예제

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

정의

Name Description
GraphServicePrincipal
GraphServicePrincipalCreationContext

이 형식을 사용하여 새 서비스 주체를 만들려고 시도하지 마세요. 대신 서브클래스 중 하나를 사용합니다. 이 형식에는 새 서비스 주체를 만들기에 충분한 필드가 없습니다.

ReferenceLinks

REST 참조 링크의 컬렉션을 나타내는 클래스입니다.

GraphServicePrincipal

Name 형식 Description
_links

ReferenceLinks

이 필드에는 그래프 제목에 대한 0개 이상의 흥미로운 링크가 포함되어 있습니다. 이러한 링크를 호출하여 이 그래프 제목에 대한 추가 관계 또는 자세한 정보를 얻을 수 있습니다.

applicationId

string

descriptor

string

설명자는 시스템이 실행되는 동안 그래프 제목을 참조하는 기본 방법입니다. 이 필드는 계정과 조직 모두에서 동일한 그래프 제목을 고유하게 식별합니다.

directoryAlias

string

지원 디렉터리에 있는 사용자의 짧고 일반적으로 고유한 이름입니다. AAD 사용자의 경우@ 기호 앞에 있는 사용자의 메일 주소 부분과 유사하지만 반드시 유사하지는 않는 메일 애칭에 해당합니다. GitHub 사용자의 경우 이는 GitHub 사용자 핸들에 해당합니다.

displayName

string

그래프 주체의 고유하지 않은 표시 이름입니다. 이 필드를 변경하려면 원본 공급자에서 해당 값을 변경해야 합니다.

domain

string

그래프 멤버에 대한 원본 컨테이너의 이름을 나타냅니다. MSA의 경우 "Windows Live ID", AD의 경우 도메인 이름, AAD의 경우 디렉터리의 tenantID, VSTS 그룹의 경우 ScopeId 등입니다.

isDeletedInOrigin

boolean

true이면 그룹이 ID 공급자에서 삭제되었습니다.

legacyDescriptor

string

[내부 사용 전용] ID 설명자를 사용하여 이전 버전 IMS에 액세스해야 하는 경우 레거시 설명자가 여기에 있습니다.

mailAddress

string

지정된 그래프 멤버에 대한 레코드의 이메일 주소입니다. 이는 보안 주체 이름과 다를 수 있습니다.

metaType

string

원본에 있는 사용자의 메타 형식(예: "member", "guest" 등)입니다. 가능한 값 집합은 UserMetaType을 참조하세요.

origin

string

원본 식별자에 대한 원본 공급자 유형(예: AD, AAD, MSA)

originId

string

원본 시스템의 고유 식별자입니다. 일반적으로 sid, 개체 ID 또는 Guid입니다. 연결 및 연결 해제 작업으로 인해 사용자가 다른 공급자에 의해 지원되지 않고 새 공급자에서 다른 고유 ID를 가지므로 사용자에 대해 이 값이 변경될 수 있습니다.

principalName

string

원본 공급자에서 이 그래프 멤버의 PrincipalName입니다. 원본 공급자는 시간이 지남에 따라 이 필드를 변경할 수 있으며 VSTS에서 그래프 멤버의 수명 동안 변경할 수 없음을 보장하지 않습니다.

subjectKind

string

이 필드는 그래프 주체의 형식을 식별합니다(예: 그룹, 범위, 사용자).

url

string

이 URL은 이 그래프 주체의 원본 리소스에 대한 전체 경로입니다.

GraphServicePrincipalCreationContext

이 형식을 사용하여 새 서비스 주체를 만들려고 시도하지 마세요. 대신 서브클래스 중 하나를 사용합니다. 이 형식에는 새 서비스 주체를 만들기에 충분한 필드가 없습니다.

Name 형식 Description
storageKey

string

선택 사항: 제공된 경우 생성된 서비스 주체의 스토리지 키에 이 식별자를 사용합니다.

REST 참조 링크의 컬렉션을 나타내는 클래스입니다.

Name 형식 Description
links

object

링크의 읽기 전용 보기입니다. 참조 링크는 읽기 전용이므로 읽기 전용으로만 노출하려고 합니다.