roleAssignmentScheduleRequests のCreate

名前空間: microsoft.graph

重要

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

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

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

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

アクセス許可

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

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

委任されたシナリオの場合、サインインしているユーザーには、次のMicrosoft Entraロールの少なくとも 1 つを割り当てる必要があります。

  • 読み取り操作の場合: グローバル 閲覧者、セキュリティ オペレーター、セキュリティ閲覧者、セキュリティ管理者、または特権ロール管理者
  • 書き込み操作の場合: 特権ロール管理者

HTTP 要求

POST /roleManagement/directory/roleAssignmentScheduleRequests

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
Content-Type application/json. 必須です。

要求本文

要求本文で、 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 ブール型 呼び出しが検証呼び出しか実際の呼び出しかを指定します。 アクティブ化が MFA などの追加ルールの対象であるかどうかを実際に要求を送信する前にチェックする場合にのみ、このプロパティを設定します。
targetScheduleId String 割り当てにアタッチされた schedule オブジェクトの ID。
正当 化 String 要求を作成するときに、ユーザーと管理者から、必要な理由に関するメッセージが表示されます。
scheduleInfo requestSchedule ロール割り当て要求の schedule オブジェクト。
ticketInfo ticketInfo チケット番号とチケット システムの詳細を含む、ロール割り当て要求にアタッチされている ticketInfo オブジェクト。

応答

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

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

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

要求

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

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: 資格のあるロールをアクティブ化するユーザー

要求

次の要求では、 principalIdc6ad1942-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"
    }
}