サービス プリンシパルに AppRoleAssignment を付与するGrant an appRoleAssignment to a service principal

名前空間: microsoft.graphNamespace: microsoft.graph

クライアント サービス プリンシパルにアプリの役割を割り当てます。Assign an app role to a client service principal.

サービス プリンシパルに割り当てられているアプリの役割は、アプリケーションのアクセス許可 とも呼ばれます。App roles that are assigned to service principals are also known as application permissions. アプリケーションのアクセス許可は、アプリの役割の割り当てを使用するか、または 同意エクスペリエンス を通じて直接付与できます。Application permissions can be granted directly with app role assignments, or through a consent experience.

アプリの役割の割り当てをクライアント サービス プリンシパルに付与するには、次の 3 つの識別子が必要です:To grant an app role assignment to a client service principal, you need three identifiers:

  • principalId: アプリの役割を割り当てるクライアント サービス プリンシパルの idprincipalId: The id of the client service principal to which you are assigning the app role.
  • resourceId: アプリの役割 (アプリケーションのアクセス許可) を定義するリソース servicePrincipal (API) の idresourceId: The id of the resource servicePrincipal (the API) which has defined the app role (the application permission).
  • appRoleId: クライアント サービス プリンシパルに割り当てる appRole (リソース サービス プリンシパルで定義されている) の idappRoleId: The id of the appRole (defined on the resource service principal) to assign to the client service principal.

アクセス許可Permissions

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

アクセス許可の種類Permission type アクセス許可 (特権の小さいものから大きいものへ)Permissions (from least to most privileged)
委任 (職場または学校のアカウント)Delegated (work or school account) AppRoleAssignment.ReadWrite.All, Directory.ReadWrite.All, Directory.AccessAsUser.AllAppRoleAssignment.ReadWrite.All, Directory.ReadWrite.All, Directory.AccessAsUser.All
委任 (個人用 Microsoft アカウント)Delegated (personal Microsoft account) サポートされていません。Not supported.
アプリケーションApplication AppRoleAssignment.ReadWrite.All, Directory.ReadWrite.AllAppRoleAssignment.ReadWrite.All, Directory.ReadWrite.All

HTTP 要求HTTP request

POST /servicePrincipals/{id}/appRoleAssignments

注意

ベスト プラクティスとして、リソース サービス プリンシパルの appRoleAssignedTo リレーションシップ を使用してアプリの役割の割り当てを作成することをお勧めします。割り当て済みユーザー、グループ、またはサービス プリンシパルの appRoleAssignments リレーションシップの使用はお勧めしません。As a best practice, we recommend creating app role assignments through the appRoleAssignedTo relationship of the resource service principal, instead of the appRoleAssignments relationship of the assigned user, group, or service principal.

要求ヘッダーRequest headers

名前Name 説明Description
AuthorizationAuthorization ベアラー {トークン}。必須。Bearer {token}. Required.
Content-typeContent-type application/json. Required.application/json. Required.

要求本文Request body

要求本文で、appRoleAssignment オブジェクトの JSON 表記を指定します。In the request body, supply a JSON representation of an appRoleAssignment object.

応答Response

成功した場合、このメソッドは 201 Created 応答コードと、応答本文で appRoleAssignment オブジェクトを返します。If successful, this method returns a 201 Created response code and an appRoleAssignment object in the response body.

Examples

要求Request

以下は、要求の例です。Here is an example of the request.

POST https://graph.microsoft.com/v1.0/servicePrincipals/9028d19c-26a9-4809-8e3f-20ff73e2d75e/appRoleAssignments
Content-Type: application/json

{
  "principalId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "resourceId": "8fce32da-1246-437b-99cd-76d1d4677bd5",
  "appRoleId": "498476ce-e0fe-48b0-b801-37ba7e2685c6"
}

この例では、サービス プリンシパル ID として要求 URL (9028d19c-26a9-4809-8e3f-20ff73e2d75e) に使用される値は、本文内の principalId プロパティと同一であるという点に注意してください。この resourceId 値はリソース サービス プリンシパル (API) の ID です。In this example, note that the value used as the service principal id in the request URL (9028d19c-26a9-4809-8e3f-20ff73e2d75e) is the same as the principalId property in the body. The resourceId value is the id of the resource service principal (the API).

応答Response

以下は、応答の例です。Here is an example of the response.

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。Note: The response object shown here might be shortened for readability.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#appRoleAssignments/$entity",
  "id": "2jLOj0YSe0OZzXbR1Gd71fDqFUrPM1xIgUfvWBHJ9n0",
  "createdDateTime": "2021-02-15T16:39:38.2975029Z",
  "appRoleId": "498476ce-e0fe-48b0-b801-37ba7e2685c6",
  "principalDisplayName": "Fabrikam App",
  "principalId": "9028d19c-26a9-4809-8e3f-20ff73e2d75e",
  "principalType": "ServicePrincipal",
  "resourceDisplayName": "Microsoft Graph",
  "resourceId": "8fce32da-1246-437b-99cd-76d1d4677bd5"
}