accessPackageAssignmentRequest の作成

名前空間: microsoft.graph

重要

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

Microsoft Entra Entitlement Management で、新しい accessPackageAssignmentRequest オブジェクトを作成します。 この操作は、ユーザーをアクセス パッケージに割り当てたり、割り当てを更新したり、アクセス パッケージの割り当てを削除したりするために使用されます。

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

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

アクセス許可

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

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

ヒント

職場または学校アカウントを使用した委任アクセスに必要なロールとアクセス許可は、送信される要求の requestType によって異なります。

エンドユーザー要求userAdduserExtenduserUpdateuserRemoveapproverRemove:

  • サインインしたユーザーには、管理者の役割 は必要ありません
  • 最小特権アクセス許可は EntitlementMgmt-SubjectAccess.ReadWrite です。
  • アクセス許可を保持するだけでは十分ではありません。エンド ユーザーが要求を送信できるかどうかは、対応する accessPackageAssignmentPolicy によっても管理されます。これにより、アクセス パッケージに割り当てることができるユーザーと要求できるユーザー (requestorSettings) が制御されます。

管理者からの要求adminAddadminUpdateadminRemove:

  • 最小特権アクセス許可は EntitlementManagement.ReadWrite.All です。
  • サインインしたユーザーには、サポートされている管理者ロールが割り当て られている必要があります 。 サポートされているロール (最小特権から最大特権まで):

アプリのみのシナリオでは、呼び出し元のアプリに、 EntitlementManagement.ReadWrite.All アプリケーションのアクセス許可の代わりに、前述のサポート対象ロールの 1 つを割り当てることができます。 アクセス パッケージの割り当てマネージャーの役割の特権は、EntitlementManagement.ReadWrite.All アプリケーションのアクセス許可よりも低くなります。

詳細については、「 資格管理の委任とロール 」および「 資格管理」のアクセス ガバナンスをアクセス パッケージ マネージャーに委任する方法を参照してください。

HTTP 要求

POST /identityGovernance/entitlementManagement/assignmentRequests

要求ヘッダー

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

要求本文

リクエスト本文には、 accessPackageAssignmentRequest オブジェクトの JSON 表現を指定します。

管理者がユーザーの割り当ての作成を要求する場合、requestType プロパティーの値は adminAdd であり、割り当てプロパティーには、割り当てられるユーザーの ID を持つ targetIdaccessPackageAssignmentPolicy を識別する assignmentPolicyId プロパティー、および accessPackage を識別する accessPackageId プロパティーが含まれます。

管理者が割り当ての更新を要求する (例えば、割り当ての延長や質問への回答の更新など) の場合、requestType プロパティーの値は adminUpdate で、割り当てプロパティーには、更新される accessPackageAssignment を識別する id プロパティーが含まれます。

管理者が割り当ての削除を要求する場合、requestType プロパティーの値は adminRemove で、割り当てプロパティーには、削除される accessPackageAssignment を識別する id プロパティーが含まれます。

管理者以外のユーザーが、最初の割り当てまたは更新割り当てのいずれかに対して自分の割り当ての作成を要求する場合、 requestType プロパティの値は userAdd です。 割り当てプロパティには、ユーザーのidを持つtargetIdを持つオブジェクトが含まれています。 assignmentPolicyId プロパティは、accessPackageAssignmentPolicy を識別します。 accessPackageId プロパティは accessPackage を識別します。 要求を行うユーザーは、ディレクトリに既に存在している必要があります。

管理者以外のユーザーが自分の割り当ての更新を要求する場合、 requestType プロパティの値は userUpdate です。 割り当てプロパティには、ユーザーのidを含むtargetIdが含まれています。 assignmentPolicyId プロパティは、accessPackageAssignmentPolicy を識別します。 accessPackageId プロパティは accessPackage を識別します。 要求を行うユーザーは、ディレクトリに既に存在している必要があります。

応答

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

要求タイプがこの要求に対して adminAdd の場合は、 accessPackageAssignment と、必要に応じて accessPackageSubject も作成されます。 これらのオブジェクトは、 accessPackageAssignments を一覧表示するときにクエリ パラメーターを使用して見つけることができます。

例 1: 管理が、既にディレクトリ内に存在するユーザーの直接割り当てを要求する

要求

次の例は、直接割り当ての要求を示しています。この要求では、管理者はユーザーの割り当ての作成を要求します。 accessPackageSubject はまだ存在しない場合があるため、targetID の値は割り当てられているユーザーのオブジェクト ID、accessPackageId の値はそのユーザーの目的のアクセス パッケージ、assignmentPolicyId の値はそのアクセス パッケージ内の直接割り当てポリシーです。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "assignment":{
     "targetId":"46184453-e63b-4f20-86c2-c557ed5d5df9",
     "assignmentPolicyId":"2264bf65-76ba-417b-a27d-54d291f0cbc8",
     "accessPackageId":"a914b616-e04e-476b-aa37-91038f0b165b"
  }
}

応答

次の例は応答を示しています。

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

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

{
  "id": "46184453-e63b-4f20-86c2-c557ed5d5df9",
  "requestType": "adminAdd",
  "requestState": "Submitted",
  "requestStatus": "Accepted"
}

例 2: 割り当てを削除する

割り当てを削除するには、以下の設定で新しい accessPackageAssignmentRequest オブジェクトを作成します。

  • requestType プロパティの値を adminRemove に設定します。
  • 割り当てプロパティーには、削除する accessPackageAssignment オブジェクトの識別子を持つオブジェクトを含めます。

要求

次の例は、割り当てを削除する方法を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
    "requestType": "adminRemove",
    "assignment":{
     "id": "a6bb6942-3ae1-4259-9908-0133aaee9377"
    }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "id": "78eaee8c-e6cf-48c9-8f99-aae44c35e379",
    "requestType": "adminRemove",
    "requestState": "Submitted",
    "requestStatus": "Accepted"
}

例 3: 質問への回答をして課題を要求する

次の例は、要求プロセス中にポリシーで要求される質問に回答することにより、ユーザーが自分でアクセス パッケージの割り当てを要求する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
    "@odata.type": "#microsoft.graph.accessPackageAssignmentRequest",
    "requestType": "userAdd",
    "answers": [
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "displayValue": "This is the answer to a multiple choice question",
            "value": "MultipleChoiceAnswerValue",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageMultipleChoiceQuestion",
                "id": "8fe745e7-80b2-490d-bd22-4e708c77288c"
            }
        },
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "This is my answer to a text input question.",
            "displayValue": "This is my answer.",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                "id": "7aaa18c9-8e4f-440f-bd5a-3a7ce312cbe6"
            }
        }
    ],
    "assignment": {
        "accessPackageId": "977c7ff4-ef8f-4910-9d31-49048ddf3120"
    }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "id": "7a6ab703-0780-4b37-8445-81f679b2d75c",
    "requestType": "userAdd",
    "state": "submitted",
    "status": "Accepted",
    "createdDateTime": null,
    "completedDateTime": null,
    "schedule": {
        "startDateTime": null,
        "recurrence": null,
        "expiration": {
            "endDateTime": null,
            "duration": null,
            "type": "notSpecified"
        }
    },
    "answers": [
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "MultipleChoiceAnswerValue",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageMultipleChoiceQuestion",
                "id": "8fe745e7-80b2-490d-bd22-4e708c77288c"   
            },
            "displayValue": "This is the answer to a multiple choice question"
        },
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "This is my answer to a text input question.",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                "id": "7aaa18c9-8e4f-440f-bd5a-3a7ce312cbe6"
            },
            "displayValue": "This is my answer."
        }
    ]
}

例 4: パッケージを要求して正当な理由を提供する

次の例は、アクセス パッケージを要求し、承認者に正当な理由を提供する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
    "requestType": "UserAdd",
    "accessPackageAssignment": {
        "accessPackageId": "a914b616-e04e-476b-aa37-91038f0b165b"
    },
    "justification":"Need access to New Hire access package"
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/assignmentRequests/$entity",
    "id": "9c1e258d-7723-43b1-ae21-e6eeeb324fe5",
    "requestType": "UserAdd",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "createdDateTime": null,
    "completedDate": null,
    "justification": "Need access to New Hire access package",
    "isValidationOnly": false,
    "schedule": {
        "startDateTime": null,
        "recurrence": null,
        "expiration": {
            "endDateTime": null,
            "duration": null,
            "type": "notSpecified"
        }
    },
    "answers": [],
    "verifiedCredentialsData": [],
    "customExtensionHandlerInstances": [],
    "customExtensionCalloutInstances": []
}

例 5: 直属の従業員に代わってパッケージをリクエストする

次の例は、マネージャーが直属の従業員に代わってアクセス パッケージの割り当てを要求する方法を示しています。

注:

トークンから要求者 (マネージャー) が抽出され、ターゲット オブジェクトは、アクセスを受け取る直属の従業員の id によって決定されます。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
   "assignment": {
       "accessPackageId": "5b98f958-0dea-4a5b-836e-109dccbd530c",
       "schedule": {
           "startDateTime": null,
           "stopDateTime": null
       },
       "assignmentPolicyId": "c5f7847f-83a8-4315-a754-d94a6f39b875",
       "target": {
           "displayName": "Idris Ibrahim",
           "email": "IdrisIbrahim@woodgrovebank.com",
           "objectId": "21aceaba-fe13-4e3b-aa8c-4c588d5e7387",
           "subjectType": "user"
       }
   },
   "justification": "Access for direct employee",
   "requestType": "UserAdd",
   "answers": []
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/entitlementManagement/assignmentRequests/$entity",
    "id": "445a3118-6bf2-4a19-94ad-5660295963fd",
    "requestType": "userAdd",
    "state": "submitted",
    "status": "Accepted",
    "createdDateTime": null,
    "completedDateTime": null,
    "schedule": {
        "startDateTime": null,
        "recurrence": null,
        "expiration": {
            "endDateTime": null,
            "duration": null,
            "type": "notSpecified"
        }
    },
    "answers": [],
    "customExtensionCalloutInstances": []
}

例 6: まだディレクトリに存在しないユーザーの直接割り当てを管理が要求する

要求

次の例は、直接割り当ての要求を示しています。管理者は、ディレクトリに存在しないユーザーの割り当ての作成を要求します。 accessPackageId の値はそのユーザーに目的のアクセス パッケージであり、assignmentPolicyId の値はそのアクセス パッケージ内の直接割り当てポリシーです。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
  "requestType": "AdminAdd",
  "accessPackageAssignment":{
     "target": {
        "email": "user@contoso.com"
     },
     "assignmentPolicyId":"2264bf65-76ba-417b-a27d-54d291f0cbc8",
     "accessPackageId":"a914b616-e04e-476b-aa37-91038f0b165b"
  }
}

応答

次の例は応答を示しています。

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/assignmentRequests/$entity",
    "id": "cb32aef9-2976-496d-9804-eb432fd894a7",
    "requestType": "AdminAdd",
    "requestState": "Submitted",
    "requestStatus": "Accepted",
    "createdDateTime": null,
    "completedDate": null,
    "justification": null,
    "isValidationOnly": false,
    "schedule": {
        "startDateTime": null,
        "recurrence": null,
        "expiration": {
            "endDateTime": null,
            "duration": null,
            "type": "notSpecified"
        }
    },
    "answers": [],
    "verifiedCredentialsData": [],
    "customExtensionHandlerInstances": [],
    "customExtensionCalloutInstances": []
}

例 7: 課題の回答の更新を要求する

次の例は、管理者が課題の更新を要求して、課題の要求中に回答された質問への回答を編集する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
    "@odata.type": "#microsoft.graph.accessPackageAssignmentRequest",
    "id": "7a6ab703-0780-4b37-8445-81f679b2d75c",
    "requestType": "adminUpdate",
    "answers": [
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "UpdatedAnswerValue",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageMultipleChoiceQuestion",
                "id": "8fe745e7-80b2-490d-bd22-4e708c77288c"
            }
        },
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "My updated answer.",
            "displayValue": "This is my updated answer to the question.",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                "id": "7aaa18c9-8e4f-440f-bd5a-3a7ce312cbe6"
            }
        }
    ],
    "assignment": {
        "id": "44c741c1-2cf4-40db-83b6-e0112f8e5a83"
    }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#accessPackageAssignmentRequests/$entity",
    "id": "0c471116-e439-40a6-8441-fe739dd48dab",
    "requestType": "adminUpdate",
    "state": "submitted",
    "status": "Accepted",
    "createdDateTime": null,
    "completedDateTime": null,
    "schedule": {
        "startDateTime": null,
        "recurrence": null,
        "expiration": {
            "endDateTime": null,
            "duration": null,
            "type": "notSpecified"
        }
    },
    "answers": [
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "UpdatedAnswerValue",
            "displayValue": "This is the answer to a multiple choice question",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageMultipleChoiceQuestion",
                "id": "8fe745e7-80b2-490d-bd22-4e708c77288c"   
            }         
        },
        {
            "@odata.type": "#microsoft.graph.accessPackageAnswerString",
            "value": "My updated answer.",
            "displayValue": "This is my updated answer to the question.",
            "answeredQuestion": {
                "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                "id": "7aaa18c9-8e4f-440f-bd5a-3a7ce312cbe6"
            }
        }
    ]
}

例 8: アクセス パッケージの割り当ての有効期限を更新する

次の例は、アクセス パッケージの割り当ての有効期限を更新する方法を示しています。

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/assignmentRequests
Content-type: application/json

{
    "@odata.type": "#microsoft.graph.accessPackageAssignmentRequest",
    "requestType": "adminUpdate",
    "schedule": {
        "startDateTime": "2023-05-23T20:04:02.39Z",
        "recurrence": null,
        "expiration": {
            "endDateTime": "2024-07-01T00:00:00.00Z",
            "duration": null,
            "type": "afterDateTime"
        }
    },
    "assignment": {
        "id": "329f8dac-8062-4c1b-a9b8-39b7132f9bff"
    }
}

応答

次の例は応答を示しています。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。 すべてのプロパティは、実際の呼び出しから返されます。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/assignmentRequests/$entity",
    "id": "5b682fbb-d6e5-4118-a471-46dfc553e9cc",
    "requestType": "adminUpdate",
    "state": "submitted",
    "status": "Accepted",
    "createdDateTime": null,
    "completedDateTime": null,
    "schedule": {
        "startDateTime": "2024-06-07T15:53:35.333Z",
        "recurrence": null,
        "expiration": {
            "endDateTime": "2024-07-01T00:00:00Z",
            "duration": null,
            "type": "afterDateTime"
        }
    },
    "answers": [],
    "customExtensionCalloutInstances": []
}