Crear accessPackageResourceRequest

Espacio de nombres: microsoft.graph

Importante

Las API de la /beta versión de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de versiones .

Cree un nuevo objeto accessPackageResourceRequest para solicitar la adición de un recurso a un catálogo de paquetes de acceso o la eliminación de un recurso de un catálogo. Un recurso debe incluirse en un catálogo de paquetes de acceso para poder agregar el rol de ese recurso a un paquete de acceso.

Permisos

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) EntitlementManagement.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación EntitlementManagement.ReadWrite.All

Solicitud HTTP

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON de un objeto accessPackageResourceRequest . Incluya la accessPackageResource relación con un objeto accessPackageResource como parte de la solicitud.

Para agregar un grupo de Azure AD como recurso a un catálogo, establezca el catalogId como del identificador del catálogo, requestType AdminAddcomo y accessPackageResource una representación del recurso. El valor de la propiedad originSystem dentro accessPackageResource del should be AadGroup y el valor de originId es el identificador del grupo. Si usa permisos delegados, el usuario que solicita agregar un grupo debe ser propietario del grupo o en un rol de directorio que les permita modificar grupos. Si se usan permisos de aplicación, también se debe asignar el permiso a la aplicación que solicita agregar el Group.ReadWrite.All grupo.

Para agregar una aplicación Azure AD como recurso a un catálogo, establezca el catalogId como del identificador del catálogo, requestType AdminAddpara ser y accessPackageResource una representación del recurso. El valor de la propiedad originSystem accessPackageResource dentro del debe ser AadApplication y el valor de originId es el identificador del servicePrincipal. Si usa permisos delegados, el usuario que solicita agregar una aplicación debe ser propietario de la aplicación o en un rol de directorio que les permita modificar las asignaciones de roles de aplicación.

Para agregar un sitio de SharePoint Online como recurso a un catálogo, establezca el catalogId como del identificador del catálogo, requestType AdminAddpara ser y accessPackageResource una representación del recurso. El valor de la propiedad originSystem en el accessPackageResource debe ser SharePointOnline y el valor del originId es el URI del sitio. Si usa permisos delegados, el usuario debe estar en el rol SharePoint administrador. Si se usan permisos de aplicación, también se debe asignar el permiso a la aplicación que solicita agregar el Sites.FullControl.All sitio. Para asignar el entorno de geolocalización de un recurso de Sharepoint Online multigeográfica, incluya la relación accessPackageResourceEnvironment en el accessPackageResource objeto. Esto se puede hacer de dos maneras:

  • Use @odata.bind la anotación para asignar id el de la accessPackageResourceEnvironment a un accessPackageResourceEnvironment objeto.
  • Especifique el originId parámetro de in accessPackageResourceEnvironment un accessPackageResourceEnvironment objeto.

Para quitar un recurso de un catálogo, establezca el catalogId como del identificador del catálogo, requestType AdminRemovepara ser y accessPackageResource el objeto de recurso que se va a quitar. El objeto de recurso se puede recuperar mediante accessPackageResources de lista.

Respuesta

Si se realiza correctamente, este método devuelve un código 201 Created de respuesta y un nuevo objeto accessPackageResourceRequest en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Crear un accessPackageResourceRequest para agregar un sitio como recurso

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Ejemplo 2: Crear un accessPackageResourceRequest para agregar un sitio como recurso y asignar un accessPackageResourceEnvironment mediante @odata.bind

Solicitud

Aquí tiene un ejemplo de la solicitud. En este ejemplo, la @odata.bind anotación se usa para asignar el id de la accessPackageResourceEnvironment a un accessPackageResourceEnvironment objeto.

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

Respuesta

Este es un ejemplo de la respuesta.

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
}

Ejemplo 3: Crear un accessPackageResourceRequest para agregar un sitio como recurso y asignar un accessPackageResourceEnvironment mediante originId

Solicitud

Aquí tiene un ejemplo de la solicitud. En este ejemplo, los parámetros de un se accessPackageResourceEnvironment especifican en un accessPackageResourceEnvironment objeto.

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

Respuesta

Este es un ejemplo de la respuesta.

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
}

Ejemplo 4: Crear un accessPackageResourceRequest para agregar un grupo como recurso

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Ejemplo 5: Crear un accessPackageResourceRequest para quitar un recurso

Solicitud

Aquí tiene un ejemplo de la solicitud.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

Ejemplo 6: Crear un accessPackageResourceRequest para agregar una aplicación

Solicitud

A continuación se muestra un ejemplo de la solicitud para agregar una aplicación a un catálogo, incluida la especificación de un atributo obligatorio de esa aplicación.

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

Respuesta

Este es un ejemplo de la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

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