roleAssignmentScheduleRequests を作成する

名前空間: microsoft.graph

重要

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

新しい unifiedRoleAssignmentScheduleRequest オブジェクトを 作成します。 この操作により、管理者とユーザーの両方が割り当ての追加、削除、延長、または更新を行うことができます。 この要求を実行するには、呼び出し元のユーザーが多要素認証 (MFA) を適用し、MFA に対してチャレンジされたセッションでクエリを実行する必要があります。 サインイン イベントをセキュリティで保護するには、「ユーザーごとの Azure AD Multi-Factor Authentication を有効にする」を参照してください。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) RoleAssignmentSchedule.ReadWrite.Directory
委任 (個人用 Microsoft アカウント) サポートされていません
Application サポート対象外

HTTP 要求

POST /roleManagement/directory/roleAssignmentScheduleRequests

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-Type application/json. Required.

要求本文

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

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

プロパティ 説明
id String unifiedRoleAssignmentScheduleRequest の一意の識別子。 キー(null 許容ではなく、読み取り専用)。
action String ロールの割り当てに対する操作の種類を表します。 値は次のいずれかです。
  • AdminAssign: 管理者がユーザーまたはグループにロールを割り当てる場合。
  • AdminRemove: 管理者がロールからユーザーまたはグループを削除する場合。
  • AdminUpdate: 管理者が既存のロールの割り当てを変更する場合。
  • AdminExtend: 管理者が期限切れの割り当てを拡張する場合。
  • AdminRenew: 管理者が期限切れの割り当てを更新する場合。
  • SelfActivate: ユーザーが割り当てをアクティブ化する場合。
  • SelfDeactivate: ユーザーがアクティブな割り当てを非アクティブ化する場合。
  • SelfExtend: ユーザーが期限切れの割り当ての延長を要求する場合。
  • SelfRenew: ユーザーが期限切れの割り当ての更新を要求する場合。
principalId String 割り当てが付与されているプリンシパルの識別子。
roleDefinitionId String 割り当ての対象となる unifiedRoleDefinition の識別子。 読み取り専用です。
directoryScopeId String 割り当てのスコープを表すディレクトリ オブジェクトの識別子。 割り当てのスコープによって、プリンシパルにアクセスが許可されているリソースのセットが決まります。 ディレクトリ スコープは、複数のアプリケーションによって認識されるディレクトリに格納されている共有スコープです。 テナント全体のスコープに使用 / します。 appScopeId を使用して、スコープをアプリケーションのみに制限します。
appScopeId String 割り当てスコープがアプリ固有の場合のアプリ固有のスコープの識別子。 割り当てのスコープによって、プリンシパルにアクセスが許可されているリソースのセットが決まります。 アプリ スコープは、このアプリケーションによってのみ定義され、理解されるスコープです。 テナント全体のアプリ スコープに使用 / します。 directoryScopeId を使用して、スコープを特定のディレクトリ オブジェクト (管理単位など) に制限します。
isValidationOnly Boolean 呼び出しが検証か実際の呼び出しかを指定します。 このプロパティは、実際に要求を送信する前に、アクティブ化が MFA などの追加規則の対象かどうかを確認する場合にのみ設定します。
targetScheduleId String 割り当てにアタッチされたスケジュール オブジェクトの ID。
正当 化 String 必要な理由に関する要求を作成するときに、ユーザーと管理者から提供されるメッセージ。
scheduleInfo requestSchedule ロール割り当て要求の schedule オブジェクト。
ticketInfo ticketInfo チケット番号とチケット システムの詳細を含む、ロールの割り当て要求にアタッチされた ticketInfo オブジェクト。

応答

成功した場合、このメソッドは 201 Created 応答コードと応答本文の unifiedRoleAssignmentScheduleRequest オブジェクトを返します。

呼び出し元のユーザーがサインイン セッション中に多要素認証にチャレンジされなかった場合、SelfActivate アクションを使用した要求は失敗し、応答コードが 400 Bad request 返されます。

例 1: プリンシパルにディレクトリ ロールを割り当てる管理者

要求

次の要求では、管理者は ID 07706ff1-46c7-4847-ae33-3003830675a1で識別されたプリンシパルにロールをfdd7a751-b60b-444a-984c-02652fe8fa1c割り当てる要求を作成します。 ロールのスコープはテナント内のすべてのディレクトリ オブジェクトであり、割り当ては永続的です。つまり、有効期限が切れるわけではありません。

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "type": "NoExpiration"
    }
  }
}

応答

応答の例を次に示します。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
  "id": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "status": "Provisioned",
  "createdDateTime": "2021-07-27T09:18:40.2029365Z",
  "completedDateTime": "2021-07-27T09:18:42.7811184Z",
  "approvalId": null,
  "customData": null,
  "action": "AdminAssign",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "appScopeId": null,
  "isValidationOnly": false,
  "targetScheduleId": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "displayName": null,
      "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
    }
  },
  "scheduleInfo": {
    "startDateTime": "2021-07-27T09:18:42.7811184Z",
    "recurrence": null,
    "expiration": {
      "type": "noExpiration",
      "endDateTime": null,
      "duration": null
    }
  },
  "ticketInfo": {
    "ticketNumber": null,
    "ticketSystem": null
  }
}

例 2: 対象となるロールをアクティブ化するユーザー

要求

次の要求では、 principalId c6ad1942-4afa-47f8-8d48-afb5d8d69d2f 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3によって識別されたユーザーが、. ロールのスコープはテナント内のすべてのディレクトリ オブジェクトであり、割り当ては 5 時間です。 この要求を実行するには、呼び出し元のユーザーが多要素認証 (MFA) を適用し、MFA に対してチャレンジされたセッションでクエリを実行する必要があります。

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "justification": "Need to update app roles for selected apps.",
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}

応答

応答の例を次に示します。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignmentScheduleRequests/$entity",
    "id": "163daf73-8746-4996-87de-ab71dc624bf9",
    "status": "Granted",
    "createdDateTime": "2021-08-17T17:39:36.7040696Z",
    "completedDateTime": "2021-08-17T17:40:00Z",
    "approvalId": null,
    "customData": null,
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "163daf73-8746-4996-87de-ab71dc624bf9",
    "justification": "Need to update app roles for selected apps.",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}