Создание accessPackageResourceRequest

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

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

  • Чтобы добавить группу Microsoft Entra в качестве ресурса в каталог, задайте для параметра requestTypeadminAddзначение и значение , resource представляющее ресурс. Значение свойства originSystem в resource должно быть, AadGroup а значение originId является идентификатором группы.
  • Чтобы добавить приложение Microsoft Entra в качестве ресурса в каталог, задайте для параметра requestTypeadminAddзначение и значение , resource представляющее ресурс. Значение свойства originSystem в resource должно быть, AadApplication а значение originId является идентификатором servicePrincipal.
  • Чтобы добавить сайт SharePoint Online в качестве ресурса в каталог, задайте для параметра requestTypeadminAddзначение и значение , resource представляющее ресурс. Значение свойства originSystem в resource должно быть, SharePointOnline а значение originId — URI сайта.
  • Чтобы удалить ресурс из каталога, присвойте параметру requestType значение adminRemove, а для resource — значение , чтобы содержать id объект ресурса , который требуется удалить. Объект ресурса можно получить с помощью ресурсов списка.

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

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

Разрешения

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

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

Совет

В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю также должна быть назначена роль администратора с поддерживаемыми разрешениями роли с помощью одного из следующих параметров:

  • Роль в системе управления правами, где наименее привилегированной ролью является владелец каталога. Это наименее привилегированный вариант.
  • Дополнительные привилегированные Microsoft Entra роли, поддерживаемые для этой операции:
    • Администратор управления удостоверениями

В сценариях только для приложений вызывающему приложению можно назначить одну из предыдущих поддерживаемых ролей вместо EntitlementManagement.ReadWrite.All разрешения приложения. Роль владельца каталога имеет меньшие привилегии EntitlementManagement.ReadWrite.All , чем разрешение приложения.

Кроме того, у вас также должны быть следующие разрешения на добавляемый ресурс:

  • Чтобы добавить группу Microsoft Entra в качестве ресурса в каталог, выполните приведенные далее действия.
    • При использовании делегированных разрешений пользователь, запрашивающий добавление группы, должен быть владельцем группы или ролью каталога, которая позволяет изменять группы.
    • Если используются разрешения приложения, приложению, запрашивающего добавление группы, также должно быть назначено Group.ReadWrite.All разрешение.
  • Чтобы добавить роль Microsoft Entra в качестве ресурса в каталог, выполните приведенные далее действия.
    • При использовании делегированных разрешений пользователь, который хочет добавить роль в каталог, должен быть глобальным администратором или администратором привилегированных ролей с разрешениями владельца каталога.
    • Приложения с разрешениями Управление правами.ReadWrite.All не могут добавлять Microsoft Entra роли в каталоги, если у них также нет разрешений глобального администратора или администратора привилегированных ролей.
  • Чтобы добавить приложение Microsoft Entra в качестве ресурса в каталог, выполните приведенные далее действия.
    • При использовании делегированных разрешений пользователь, запрашивающий добавление приложения, должен быть владельцем приложения или ролью каталога, которая позволяет изменять назначения ролей приложения.
    • При использовании разрешений приложения приложению, запрашивающего добавление servicePrincipal , также должно быть назначено разрешение Application.ReadWrite.All .
  • Чтобы добавить сайт SharePoint Online в качестве ресурса в каталог, выполните приведенные далее действия.

HTTP-запрос

POST /identityGovernance/entitlementManagement/resourceRequests

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

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

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

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

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

Примеры

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

Запрос

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

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "displayName": "Test group",
    "originId": "8ab659d0-3839-427d-8c54-5ae92f0b3e2e",
    "originSystem": "AadGroup"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

Отклик

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

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

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

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

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

Запрос

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

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "originId": "e81d7f57-0840-45e1-894b-f505c1bdcc1f",
    "originSystem": "AadApplication"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

Отклик

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

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

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

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

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

Запрос

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

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminAdd",
  "resource": {
    "originId": "https://microsoft.sharepoint.com/sites/Example",
    "originSystem": "SharePointOnline"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

Отклик

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

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

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

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

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

Запрос

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

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminRemove",
  "resource": {
    "id": "1d0bb962-5bb0-4b16-a488-fda7a788b9ec"
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

Отклик

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

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

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

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminRemove",
  "state": "delivered"
}

Пример 5. Создание accessPackageResourceRequest для обновления приложения как ресурса с атрибутами

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

Запрос

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

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
  "requestType": "adminUpdate",
  "resource": {
    "originId": "e81d7f57-0840-45e1-894b-f505c1bdcc1f",
    "originSystem": "AadApplication",
    "attributes": [
      {
        "destination": {
          "@odata.type": "microsoft.graph.accessPackageUserDirectoryAttributeStore"
        },
        "name": "officeLocation",
        "source": {
          "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
          "question": {
            "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
            "sequence": 1,
            "isRequired": true,
            "isAnswerEditable": true,
            "text": "What office do you work at?",
            "isSingleLineQuestion": true,
            "regexPattern": "[a-zA-Z]+[a-zA-Z\\s]*"
          }
        }
      },
      {
        "destination": {
          "@odata.type": "microsoft.graph.accessPackageUserDirectoryAttributeStore"
        },
        "name": "extension_e409fedc08ab4807a9eb53ebc0d6cc9f_Expense_CostCenter",
        "source": {
          "@odata.type": "#microsoft.graph.accessPackageResourceAttributeQuestion",
          "question": {
            "@odata.type": "#microsoft.graph.accessPackageTextInputQuestion",
            "isRequired": false,
            "text": "What is your cost center number?",
            "sequence": 0,
            "isSingleLineQuestion": true,
            "regexPattern": "[0-9]*"
          }
        }
      }
    ]
  },
  "catalog": {
    "id": "beedadfe-01d5-4025-910b-84abb9369997"
  }
}

Отклик

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

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

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

{
  "id": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

Пример 6. Добавление ресурса группы управления в каталог

Запрос

В следующем примере показан запрос на добавление ресурса группы управления в каталог.

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
    "requestType": "adminAdd",
    "resource": {
        "displayName": "test-mgmtgroup",
        "description": "test-mgmtgroup",
        "resourceType": "ManagementGroup",
        "originId": "/providers/Microsoft.Management/managementGroups/test-mgmtgroup",
        "originSystem": "AzureResources"
    },
    "catalog": {
        "id": "e8368470-afaf-44da-ba86-13a7318f1995"
    }
}

Отклик

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

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

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

{
  "id": "99e156fe-d152-4005-b019-6ba816f411ea",
  "requestType": "adminAdd",
  "state": "delivered"
}

Пример 7. Добавление ресурса подписки в каталог

Запрос

В следующем примере показан запрос на добавление ресурса подписки в каталог.

POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/resourceRequests
Content-type: application/json

{
    "requestType": "adminAdd",
    "resource": {
        "displayName": "Dev",
        "description": "Dev",
        "resourceType": "Subscription",
        "originId": "/subscriptions/828b526f-c769-4b19-9797-734b4843b978",
        "originSystem": "AzureResources"
    },
    "catalog": {
        "id": "e8368470-afaf-44da-ba86-13a7318f1995"
    }
}

Отклик

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

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

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

{
  "id": "13ac6518-0597-452c-98ff-59c52b391dae",
  "requestType": "adminAdd",
  "state": "delivered"
}