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' に設定する必要があります。 |
group
|
query |
string array (string) |
グラフ サービス プリンシパルを結合するグループの記述子のコンマ区切りリスト |
要求本文
名前 | 型 | 説明 |
---|---|---|
storageKey |
string |
省略可能: 指定した場合は、作成されたサービス プリンシパルのストレージ キーにこの識別子を使用します |
応答
名前 | 型 | 説明 |
---|---|---|
200 OK |
成功した操作 |
セキュリティ
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"
}
定義
名前 | 説明 |
---|---|
Graph |
|
Graph |
この種類を使用して新しいサービス プリンシパルを作成しないでください。 代わりにサブクラスの 1 つを使用してください。 この型には、新しいサービス プリンシパルを作成するための十分なフィールドが含まれていません。 |
Reference |
REST 参照リンクのコレクションを表す クラス。 |
GraphServicePrincipal
名前 | 型 | 説明 |
---|---|---|
_links |
このフィールドには、グラフの件名に関する 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 |
省略可能: 指定した場合は、作成されたサービス プリンシパルのストレージ キーにこの識別子を使用します |
ReferenceLinks
REST 参照リンクのコレクションを表す クラス。
名前 | 型 | 説明 |
---|---|---|
links |
object |
リンクの読み取り専用ビュー。 参照リンクは読み取り専用であるため、参照リンクは読み取り専用として公開する必要があります。 |