次の方法で共有


oAuth2PermissionGrant (委任されたアクセス許可の付与) を作成する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

oAuth2PermissionGrant オブジェクトによって表される委任されたアクセス許可付与を作成します。

委任されたアクセス許可付与は、(クライアント アプリケーションを表す) クライアント サービス プリンシパルが、サインインしているユーザーに代わってリソース サービス プリンシパル (API を表す) にアクセスすることを、付与された委任されたアクセス許可によって制限されるアクセス レベルに対して承認します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション DelegatedPermissionGrant.ReadWrite.All Directory.ReadWrite.All

重要

職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーに、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てる必要があります。 この操作では、次の最小特権ロールがサポートされています。

  • アプリケーション管理者
  • アプリケーション開発者
  • クラウド アプリケーション管理者
  • ディレクトリ製作者
  • 特権ロール管理者
  • ユーザー管理者

HTTP 要求

POST /oauth2PermissionGrants

要求ヘッダー

名前 説明
Authorization string ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。

要求本文

要求本文で、 oAuth2PermissionGrant オブジェクトの JSON 表現を指定します。

次の表に、 oAuth2PermissionGrant を作成するときに必要なプロパティを示します。

プロパティ 説明
clientId String API にアクセスするときにサインインしているユーザーの代わりに動作することが承認されているアプリケーションのクライアント サービス プリンシパルのオブジェクト ID (appIdではありません)。 必須です。
consentType String クライアント アプリケーションに対して、すべてのユーザーを偽装するか、特定のユーザーのみを偽装するかを示します。 AllPrincipals は、 すべてのユーザーを偽装するための承認を示します。 プリンシパル は、特定のユーザーを偽装するための承認を示します。 すべてのユーザーに代わって同意を付与できるのは、管理者です。 管理者以外のユーザーは、一部の委任されたアクセス許可に対して、場合によっては自分の代わりに同意することを承認される場合があります。 必須です。
principalId String consentTypePrincipal の場合、クライアントがリソースへのアクセスを許可されているユーザーの代わりに使用する IDconsentTypeAllPrincipals の場合、この値は null です。 consentTypePrincipal の場合は必須です。
resourceId String アクセスが承認されるリソース サービス プリンシパルID。 これにより、サインインしているユーザーの代わりにクライアントが呼び出そうとする権限を持つ API が識別されます。
scope String リソース アプリケーション (API) のアクセス トークンに含める必要がある委任されたアクセス許可の要求値のスペース区切りのリスト。 たとえば、「 openid User.Read GroupMember.Read.All 」のように入力します。 各要求値は、リソース サービス プリンシパルpublishedPermissionScopes プロパティに記載されている、API によって定義された委任されたアクセス許可の 1 つのフィールドと一致する必要があります。 長さは 3850 文字以内にする必要があります。
startTime DateTimeOffset 現時点では、開始時刻の値は無視されますが、値が必要です。 必須です。
expiryTime DateTimeOffset 現在、終了時刻の値は無視されますが、値が必要です。 必須です。

応答

成功した場合、このメソッドは応答本文に 200 シリーズの応答コードと新しい oAuth2PermissionGrant オブジェクトを返します。

要求

POST https://graph.microsoft.com/beta/oauth2PermissionGrants
Content-Type: application/json

{
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All",
    "startTime": "2022-03-17T00:00:00Z",
    "expiryTime": "2023-03-17T00:00:00Z"
}

応答

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#oauth2PermissionGrants/$entity",
    "clientId": "ef969797-201d-4f6b-960c-e9ed5f31dab5",
    "consentType": "AllPrincipals",
    "expiryTime": "2023-03-17T00:00:00Z",
    "id": "l5eW7x0ga0-WDOntXzHateQDNpSH5-lPk9HjD3Sarjk",
    "principalId": null,
    "resourceId": "943603e4-e787-4fe9-93d1-e30f749aae39",
    "scope": "DelegatedPermissionGrant.ReadWrite.All",
    "startTime": "2022-03-17T00:00:00Z"
}