Создание accessPackageResourceRequest

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Создайте объект accessPackageResourceRequest , чтобы запросить добавление ресурса в каталог пакетов для доступа, обновление ресурса или удаление ресурса из каталога. Ресурс должен быть включен в каталог пакетов доступа, прежде чем роль этого ресурса можно будет добавить в пакет доступа.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) EntitlementManagement.ReadWrite.All Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение EntitlementManagement.ReadWrite.All Недоступно.

HTTP-запрос

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса укажите представление объекта accessPackageResourceRequest в формате JSON. accessPackageResource Включите связь с объектом accessPackageResource в рамках запроса.

Чтобы добавить группу Microsoft Entra в качестве ресурса в каталог, задайте для catalogId значение идентификатора каталога, requestTypeAdminAdd, а — accessPackageResource ресурс. Значение свойства originSystem в accessPackageResource должно быть, AadGroup а значение originId является идентификатором группы. При использовании делегированных разрешений пользователь, запрашивающий добавление группы, должен быть владельцем группы или ролью каталога, которая позволяет изменять группы. Если используются разрешения приложения, приложению, запрашивающего добавление группы, также должно быть назначено Group.ReadWrite.All разрешение.

Чтобы добавить приложение Microsoft Entra в качестве ресурса в каталог, задайте для catalogId значение идентификатора каталога, requestTypeAdminAdd, а — accessPackageResource ресурс. Значение свойства originSystem в accessPackageResource должно быть, AadApplication а значение originId является идентификатором servicePrincipal. При использовании делегированных разрешений пользователь, запрашивающий добавление приложения, должен быть владельцем приложения или ролью каталога, что позволяет изменять назначения ролей приложения.

Чтобы добавить сайт SharePoint Online в качестве ресурса в каталог, задайте для catalogId значение идентификатора каталога, requestTypeAdminAdd, а — accessPackageResource ресурс. Значение свойства originSystem в accessPackageResource должно быть, SharePointOnline а значение originId — URI сайта. При использовании делегированных разрешений пользователь должен быть в роли администратора SharePoint. Если используются разрешения приложения, приложению, запрашивающего добавление сайта, также должно быть назначено Sites.FullControl.All разрешение. Чтобы назначить среду геолокации для ресурса SharePoint Online с несколькими геолокацией, включите в accessPackageResource объект отношение accessPackageResourceEnvironment. Это можно сделать двумя способами:

  • Используйте @odata.bind заметки idaccessPackageResourceEnvironment для назначения объекта объекту accessPackageResourceEnvironment .
  • originId Укажите параметр объекта в объекте accessPackageResourceEnvironmentaccessPackageResourceEnvironment .

Чтобы удалить ресурс из каталога, задайте для catalogId значение идентификатора каталога, значение requestTypeAdminRemove, а accessPackageResource удаляемый объект ресурса. Объект ресурса можно получить с помощью list accessPackageResources.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и новый объект accessPackageResourceRequest в теле отклика.

Примеры

Пример 1. Создание accessPackageResourceRequest для добавления сайта в качестве ресурса

Запрос

Ниже показан пример запроса.

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

{
  "catalogId":"26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
     "displayName": "Sales",
     "description": "https://contoso.sharepoint.com/sites/Sales",
     "url": "https://contoso.sharepoint.com/sites/Sales",
     "resourceType": "SharePoint Online Site",
     "originId": "https://contoso.sharepoint.com/sites/Sales",
     "originSystem": "SharePointOnline"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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

{
  "catalogId": "26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "id": "1fe272f0-d463-42aa-a9a8-b07ab50a1c4d",
  "isValidationOnly": false,
  "justification": "",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled",
  "requestType": "AdminAdd"
}

Пример 2. Создание accessPackageResourceRequest для добавления сайта в качестве ресурса и назначение accessPackageResourceEnvironment с помощью @odata.bind

Запрос

Ниже показан пример запроса. В этом примере заметка @odata.bind используется для назначения id объекта объекту accessPackageResourceEnvironmentaccessPackageResourceEnvironment .

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

{
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "accessPackageResource": {
        "displayName": "Community Outreach",
        "description": "https://contoso.sharepoint.com/sites/CSR",
        "resourceType": "SharePoint Online Site",
        "originId": "https://contoso.sharepoint.com/sites/CSR",
        "originSystem": "SharePointOnline",
        "accessPackageResourceEnvironment@odata.bind": "accessPackageResourceEnvironments/615f2218-678f-471f-a60a-02c2f4f80c57"
    },
    "requestType": "AdminAdd"
}

Отклик

Ниже показан пример отклика.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "executeImmediately": false,
    "id": "d3f800d5-0dd6-47f3-9e90-ef562c7551dc",
    "requestType": "AdminAdd",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Пример 3. Создание accessPackageResourceRequest для добавления сайта в качестве ресурса и назначение accessPackageResourceEnvironment с помощью originId

Запрос

Ниже показан пример запроса. В этом примере параметры accessPackageResourceEnvironment объекта указываются в объекте accessPackageResourceEnvironment .

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

{
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "accessPackageResource": {
        "displayName": "Community Outreach",
        "description": "https://contoso.sharepoint.com/sites/CSR",
        "resourceType": "SharePoint Online Site",
        "originId": "https://contoso.sharepoint.com/sites/CSR",
        "originSystem": "SharePointOnline",
        "accessPackageResourceEnvironment": {
            "originId": "https://contoso-admin.sharepoint.com/"
        }
    },
    "requestType": "AdminAdd"
}

Отклик

Ниже показан пример отклика.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identityGovernance/entitlementManagement/accessPackageResourceRequests/$entity",
    "catalogId": "de9315c1-272b-4905-924b-cc112ca180c7",
    "executeImmediately": false,
    "id": "eadf3fbb-668c-4c3a-8d84-7c8bd73dc3e4",
    "requestType": "AdminAdd",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "isValidationOnly": false,
    "expirationDateTime": null,
    "justification": null
}

Пример 4. Создание accessPackageResourceRequest для добавления группы в качестве ресурса

Запрос

Ниже показан пример запроса.

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

{

  "catalogId":"beedadfe-01d5-4025-910b-84abb9369997",
  "requestType": "AdminAdd",
  "accessPackageResource": {
     "originId": "c6294667-7348-4f5a-be73-9d2c65f574f3",
     "originSystem": "AadGroup"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Пример 5. Создание accessPackageResourceRequest для удаления ресурса

Запрос

Ниже показан пример запроса.

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

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "requestType": "AdminRemove",
  "accessPackageResource": {
    "id": "354078e5-dbce-4894-8af4-0ab274d41662"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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

{
  "catalogId": "beedadfe-01d5-4025-910b-84abb9369997",
  "id": "65c3340d-defb-49a9-8930-63841fda0e68",
  "requestType": "AdminRemove",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Пример 6. Создание accessPackageResourceRequest для добавления приложения

Запрос

В следующем примере показан запрос на добавление приложения в каталог, включая указание обязательного атрибута этого приложения.

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

{
  "catalogId": "26ac0c0a-08bc-4a7b-a313-839f58044ba5",
  "requestType": "AdminAdd",
  "justification": "",
  "accessPackageResource": {
      "displayName": "Faculty cafeteria ordering",
      "description": "Example application",
      "url": "https://myapps.microsoft.com/example.com/signin/Faculty%20cafeteria%20ordering/f1e3b407-942d-4934-9a3f-cef1975cb988/",
      "resourceType": "Application",
      "originId": "2f1099a6-d4fc-4cc9-a0ef-ddd3f1bf0b7e",
      "originSystem": "AadApplication",
      "attributes": [
        {
          "attributeName": "extension_2b676109c7c74ae2b41549205f1947ed_personalTitle",
          "isEditable": true,
          "isPersistedOnAssignmentRemoval": true,
          "attributeSource": {
              "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
              "question": {
                  "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
                  "isRequired": false,
                  "sequence": 0,
                  "isSingleLineQuestion": true,
                  "text": {
                      "defaultText": "Title",
                      "localizedTexts": []
                  }
              }
          },
          "attributeDestination": {
              "@odata.type": "#microsoft.graph.accessPackageUserDirectoryAttributeStore"
          }
        }
      ]
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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

{
  "id": "f0e632ed-afd2-41d3-8d6e-ccefda457e5e",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}