创建 accessPackageResourceRequest

命名空间:microsoft.graph

重要

Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

创建新的 accessPackageResourceRequest 对象,以请求将资源添加到访问包目录、更新资源或从目录中删除资源。 必须先将资源包含在访问包目录中,然后才能 将该资源的角色 添加到访问包。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) EntitlementManagement.ReadWrite.All 不可用。
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 EntitlementManagement.ReadWrite.All 不可用。

HTTP 请求

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供 accessPackageResourceRequest 对象的 JSON 表示形式。 在请求中 accessPackageResource 包括与 accessPackageResource 对象的关系。

若要将Microsoft Entra组作为资源添加到目录,请将 catalogId 设置为目录 ID,将 requestType 设置为 AdminAdd,并将 accessPackageResource 表示资源。 中 accessPackageResourceoriginSystem 属性的值应为 AadGrouporiginId 的值是组的标识符。 如果使用委托的权限,则请求添加组的用户应是组的所有者或允许他们修改组的目录角色。 如果使用应用程序权限,则还应为请求添加组的应用程序分配 Group.ReadWrite.All 权限。

若要将 Microsoft Entra 应用程序作为资源添加到目录,请将 catalogId 设置为目录 ID,将 requestType 设置为 AdminAdd,并将 accessPackageResource 表示资源。 中 accessPackageResourceoriginSystem 属性的值应为 AadApplicationoriginId 的值是 servicePrincipal 的标识符。 如果使用委托的权限,则请求添加应用程序的用户应是应用程序的所有者或允许他们修改应用程序角色分配的目录角色。

若要将 SharePoint Online 网站作为资源添加到目录,请将 catalogId 设置为目录 ID, 将 requestType 设置为 AdminAdd,并将 accessPackageResource 表示资源。 中 accessPackageResourceoriginSystem 属性的值应为 SharePointOnlineoriginId 的值是站点的 URI。 如果使用委派的权限,则用户应具有 SharePoint 管理员角色。 如果使用应用程序权限,则还应为请求添加站点的应用程序分配 Sites.FullControl.All 权限。 若要为多地理位置 Sharepoint Online 资源分配地理位置环境,请在 对象中包含 accessPackageResourceaccessPackageResourceEnvironment 关系。 这可以通过两种方式完成:

  • 使用@odata.bind注释将 的 accessPackageResourceEnvironment 分配给idaccessPackageResourceEnvironment对象。
  • originId 对象中accessPackageResourceEnvironment指定 的参数accessPackageResourceEnvironment

若要从目录中删除资源,请将 catalogId 设置为目录 ID, 将 requestType 设置为 AdminRemove,并将 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批注用于将 的 accessPackageResourceEnvironment 分配给 id 对象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@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 以将站点添加为资源,并使用 originId 分配 accessPackageResourceEnvironment

请求

以下示例显示了一个请求。 在此示例中,在 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"
}