Erstellen von accessPackageAssignmentRequest

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Erstellen Sie in Microsoft Entra Entitlement Management ein neues accessPackageAssignmentRequest-Objekt. Dieser Vorgang wird verwendet, um einen Benutzer einem Zugriffspaket zuzuweisen, die Zuweisung zu aktualisieren oder eine Zugriffspaketzuweisung zu entfernen.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) EntitlementMgmt-SubjectAccess.ReadWrite EntitlementManagement.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Application EntitlementManagement.ReadWrite.All Nicht verfügbar.

Tipp

Die Rolle und Berechtigung, die für den delegierten Zugriff mit Geschäfts-, Schul- oder Unikonten erforderlich sind, hängen von der Anforderung ab, die requestType übermittelt wird.

EndbenutzeranforderungenuserAdd, userExtend, userUpdateuserRemove, und approverRemove:

  • Der angemeldete Benutzer benötigt keine Administratorrolle.
  • Die Berechtigung mit den geringsten Berechtigungen ist EntitlementMgmt-SubjectAccess.ReadWrite.
  • Der Besitz der Berechtigung allein reicht nicht aus – ob ein Endbenutzer eine Anforderung stellen kann, wird auch durch die entsprechende accessPackageAssignmentPolicy geregelt, die steuert, wer einem Zugriffspaket zugewiesen werden kann und wer es anfordern kann (requestorSettings).

AdministratoranforderungenadminAdd, adminUpdate, und adminRemove:

  • Die Berechtigung mit den geringsten Berechtigungen ist EntitlementManagement.ReadWrite.All.
  • Dem angemeldeten Benutzer muss eine unterstützte Administratorrolle zugewiesen werden. Unterstützte Rollen, von den niedrigsten bis zu den höchsten Berechtigungen:

In reinen App-Szenarien kann der aufrufenden App anstelle der EntitlementManagement.ReadWrite.All Anwendungsberechtigung eine der oben genannten unterstützten Rollen zugewiesen werden. Die Rolle des Zugriffspaketzuweisungs-Managers ist weniger privilegiert als die EntitlementManagement.ReadWrite.All Anwendungsberechtigung.

Weitere Informationen finden Sie unter Delegierung und Rollen in der Berechtigungsverwaltung und Delegieren der Zugriffsgovernance an Zugriffspaket-Manager in der Berechtigungsverwaltung.

HTTP-Anforderung

POST /identityGovernance/entitlementManagement/assignmentRequests

Anforderungsheader

Name Beschreibung
Authorization Bearer {token}. Erforderlich.
Content-Type application/json. Erforderlich.

Anforderungstext

Geben Sie im Anforderungstext eine JSON-Darstellung des accessPackageAssignmentRequest-Objekts an.

Damit ein Administrator die Erstellung einer Zuweisung für einen Benutzer anfordern kann, lautet der Wert der requestType-Eigenschaft , adminAddund die assignment-Eigenschaft enthält die targetId mit der ID des zugewiesenen Benutzers, die assignmentPolicyId-Eigenschaft, die die accessPackageAssignmentPolicy identifiziert, und die accessPackageId-Eigenschaft, die das accessPackage identifiziert.

Damit ein Administrator die Aktualisierung einer Aufgabe anfordern kann (z. B. um die Aufgabe zu erweitern oder Antworten auf Fragen zu aktualisieren), ist adminUpdateder Wert der requestType-Eigenschaft , und die assignment-Eigenschaft enthält die id-Eigenschaft, die die zu aktualisierende accessPackageAssignment identifiziert.

Damit ein Administrator das Entfernen einer Zuweisung anfordern kann, ist der Wert der requestType-Eigenschaft , adminRemoveund die assignment-Eigenschaft enthält die id-Eigenschaft , die die zu entfernende accessPackageAssignment identifiziert.

Wenn ein Benutzer ohne Administratorrechte die Erstellung einer eigenen Zuweisung für eine erste Zuweisung oder eine Erneuerungszuweisung anfordern möchte, lautet der Wert der requestType-Eigenschaft .userAdd Die Zuweisungseigenschaft enthält ein Objekt mit dem targetId mit dem id des Benutzers. Die assignmentPolicyId-Eigenschaft identifiziert die accessPackageAssignmentPolicyPolicy. Die accessPackageId-Eigenschaft identifiziert das accessPackage. Der Benutzer, der die Anforderung stellt, muss bereits im Verzeichnis vorhanden sein.

Wenn ein Benutzer ohne Administratorrechte die Aktualisierung seiner eigenen Zuweisungen anfordern möchte, lautet der Wert der requestType-Eigenschaft .userUpdate Die Zuweisungseigenschaft enthält die targetId mit den id der Benutzer. Die assignmentPolicyId-Eigenschaft identifiziert die accessPackageAssignmentPolicyPolicy. Die accessPackageId-Eigenschaft identifiziert das accessPackage. Der Benutzer, der die Anforderung stellt, muss bereits im Verzeichnis vorhanden sein.

Antwort

Bei erfolgreicher Ausführung gibt diese Methode einen Antwortcode der Serie 200 und ein neues accessPackageAssignmentRequest-Objekt im Antworttext zurück.

Wenn der Anforderungstyp für diese Anforderung gilt adminAdd , werden auch ein accessPackageAssignment und bei Bedarf ein accessPackageSubject erstellt. Sie können diese Objekte mithilfe der Abfrageparameter suchen, wenn Sie accessPackageAssignments auflisten.

Beispiele

Beispiel 1: Der Admin fordert eine direkte Zuweisung für einen Benutzer an, der sich bereits im Verzeichnis befindet

Anforderung

Das folgende Beispiel zeigt eine Anforderung für eine direkte Zuweisung, bei der der Administrator die Erstellung einer Zuweisung für einen Benutzer anfordert. Da accessPackageSubject möglicherweise noch nicht vorhanden ist, ist der Wert von targetID die Objekt-ID des zugewiesenen Benutzers, der Wert von accessPackageId ist das gewünschte Zugriffspaket für diesen Benutzer, und der Wert von assignmentPolicyId ist eine direkte Zuweisungsrichtlinie in diesem Zugriffspaket.

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"
  }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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

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

Beispiel 2: Entfernen einer Zuweisung

Um Zuweisungen zu entfernen, erstellen Sie ein neues accessPackageAssignmentRequest-Objekt mit den folgenden Einstellungen:

  • Der Wert der requestType-Eigenschaft , die auf festgelegt ist adminRemove.
  • Fügen Sie in die Zuweisungseigenschaft ein Objekt mit dem Bezeichner des zu löschenden accessPackageAssignment-Objekts ein.

Anforderung

Das folgende Beispiel zeigt, wie Sie eine Aufgabe entfernen.

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

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

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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"
}

Beispiel 3: Anfordern einer Aufgabe durch Bereitstellen von Antworten auf Fragen

Das folgende Beispiel zeigt, wie ein Benutzer eine Zugriffspaketzuweisung für sich selbst anfordern kann, indem er während des Anforderungsprozesses Fragen beantwortet, die von der Richtlinie verlangt werden.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
    }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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."
        }
    ]
}

Beispiel 4: Fordern Sie ein Paket an und geben Sie eine Begründung an

Das folgende Beispiel zeigt, wie Sie ein Zugriffspaket anfordern und der genehmigenden Person eine Begründung bereitstellen.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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": []
}

Beispiel 5: Anfordern eines Pakets im Namen eines direkten Mitarbeiters

Das folgende Beispiel zeigt, wie ein Manager eine Zugriffspaketzuweisung im Namen seines direkten Mitarbeiters anfordern kann.

Hinweis

Der Anforderer (Manager) wird aus dem Token extrahiert, und das Zielobjekt wird durch den id direkten Mitarbeiter bestimmt, der Zugriff erhält.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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": []
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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": []
}

Beispiel 6: Der Admin fordert eine direkte Zuweisung für einen Benutzer an, der sich noch nicht im Verzeichnis befindet

Anforderung

Das folgende Beispiel zeigt eine Anforderung für eine direkte Zuordnung, bei der der Administrator die Erstellung einer Aufgabe für einen Benutzer anfordert, der im Verzeichnis nicht vorhanden ist. Der Wert von accessPackageId ist das gewünschte Zugriffspaket für diesen Benutzer, und der Wert von assignmentPolicyId ist eine direkte Zuweisungsrichtlinie in diesem Zugriffspaket.

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"
  }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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": []
}

Beispiel 7: Anfordern einer Aktualisierung der Antworten für eine Aufgabe

Das folgende Beispiel zeigt, wie ein Administrator Aktualisierungen einer Aufgabe anfordern kann, um seine Antworten auf Fragen zu bearbeiten, die während der Anforderung für die Aufgabe beantwortet wurden.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
    }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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"
            }
        }
    ]
}

Beispiel 8: Aktualisieren des Ablaufdatums für eine Zugriffspaketzuweisung

Im folgenden Beispiel wird gezeigt, wie Sie das Ablaufdatum für eine Zugriffspaketzuweisung aktualisieren.

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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"
    }
}

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden. Alle Eigenschaften werden von einem tatsächlichen Aufruf zurückgegeben.

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": []
}