次の方法で共有


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 パラメーター

名前 / 必須 説明
organization
path True

string

Azure DevOps 組織の名前です。

api-version
query True

string

使用する API のバージョン。 このバージョンの API を使用するには、これを '7.1-preview.1' に設定する必要があります。

groupDescriptors
query

string

array (string)

グラフ サービス プリンシパルを結合するグループの記述子のコンマ区切りリスト

要求本文

名前 説明
storageKey

string

省略可能: 指定した場合は、作成されたサービス プリンシパルのストレージ キーにこの識別子を使用します

応答

名前 説明
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

名前 説明
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"
}

定義

名前 説明
GraphServicePrincipal
GraphServicePrincipalCreationContext

この種類を使用して新しいサービス プリンシパルを作成しないでください。 代わりにサブクラスの 1 つを使用してください。 この型には、新しいサービス プリンシパルを作成するための十分なフィールドが含まれていません。

ReferenceLinks

REST 参照リンクのコレクションを表す クラス。

GraphServicePrincipal

名前 説明
_links

ReferenceLinks

このフィールドには、グラフの件名に関する 0 個以上の興味深いリンクが含まれています。 これらのリンクを呼び出して、このグラフの件名に関する追加のリレーションシップまたは詳細情報を取得できます。

applicationId

string

descriptor

string

記述子は、システムの実行中にグラフの件名を参照する主な方法です。 このフィールドは、アカウントと組織の両方で同じグラフの件名を一意に識別します。

directoryAlias

string

バッキング ディレクトリ内のユーザーの一般的な一意の短い名前。 AAD ユーザーの場合、これはメール のニックネームに対応します。これは、多くの場合、@記号の前のユーザーのメール アドレスの部分と必ずしも似ていますが、必ずしも似ています。 GitHub ユーザーの場合、これは GitHub ユーザー ハンドルに対応します。

displayName

string

これは、グラフの件名の一意でない表示名です。 このフィールドを変更するには、ソース プロバイダーでその値を変更する必要があります。

domain

string

これは、グラフ メンバーの元のコンテナーの名前を表します。 (MSA の場合、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

この種類を使用して新しいサービス プリンシパルを作成しないでください。 代わりにサブクラスの 1 つを使用してください。 この型には、新しいサービス プリンシパルを作成するための十分なフィールドが含まれていません。

名前 説明
storageKey

string

省略可能: 指定した場合は、作成されたサービス プリンシパルのストレージ キーにこの識別子を使用します

REST 参照リンクのコレクションを表す クラス。

名前 説明
links

object

リンクの読み取り専用ビュー。 参照リンクは読み取り専用であるため、参照リンクは読み取り専用として公開する必要があります。