Crear accessPackageResourceRequest

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta 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 Versión.

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

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) EntitlementManagement.ReadWrite.All No disponible.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación EntitlementManagement.ReadWrite.All No disponible.

Sugerencia

En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión también debe tener asignado un rol de administrador con permisos de rol admitidos a través de una de las siguientes opciones:

En escenarios de solo aplicación, a la aplicación que realiza la llamada se le puede asignar uno de los roles admitidos anteriores en lugar del permiso de la EntitlementManagement.ReadWrite.All aplicación. El rol del propietario del catálogo tiene menos privilegios que el permiso de aplicación EntitlementManagement.ReadWrite.All .

Además, también debe tener los siguientes permisos en el recurso que se va a agregar:

  • Para agregar un grupo de Microsoft Entra como recurso a un catálogo:
    • Si usa permisos delegados, el usuario que solicita agregar un grupo debe ser propietario del grupo o en un rol de directorio que le permita modificar grupos.
    • Si usa 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 un rol de Microsoft Entra como recurso a un catálogo:
    • Si usa permisos delegados, el usuario que desea agregar el rol al catálogo debe ser un Administrador global o un Administrador de roles privilegiado con permisos de Propietario del catálogo.
    • Las aplicaciones con los permisos Entitlement Management.ReadWrite.All no pueden añadir roles de Microsoft Entra a los catálogos a menos que también tengan permisos de administrador global o administrador de roles con privilegios.
  • Para agregar una aplicación de Microsoft Entra como recurso a un catálogo:
    • 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 le permita modificar las asignaciones de roles de aplicación.
    • Si usa permisos de aplicación, a la aplicación que solicita agregar el ServicePrincipal también se le debe asignar el permiso Application.ReadWrite.All .
  • Para agregar un sitio de SharePoint Online como recurso a un catálogo:
    • Si usa permisos delegados, se debe asignar al usuario el rol de administrador de SharePoint o ser un administrador del sitio de SharePoint.
    • Si usa permisos de aplicación, también se debe asignar el permiso a la Sites.FullControl.All aplicación.

Solicitud HTTP

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.
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 Microsoft Entra como recurso a un catálogo, establezca el catalogId para que sea del id. del catálogo, requestType para que sea AdminAddy un accessPackageResource que represente el recurso. El valor de la propiedad originSystem dentro de la accessPackageResource propiedad 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 le permita modificar los grupos. Si usa 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 de Microsoft Entra como recurso a un catálogo, establezca el catalogId en el id. del catálogo, requestType en ser AdminAddy un accessPackageResource que represente el recurso. El valor de la propiedad originSystem dentro de la accessPackageResource propiedad should be AadApplication y el valor de originId es el identificador de 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 le permita modificar las asignaciones de roles de aplicación.

Para agregar un sitio de SharePoint Online como recurso a un catálogo, establezca el valor de catalogId para que sea del id. del catálogo, requestType sea AdminAddy un accessPackageResource que represente el recurso. El valor de la propiedad originSystem dentro de la accessPackageResource debe ser SharePointOnline y el valor de originId es el URI del sitio. Si usa permisos delegados, el usuario debe tener el rol de administrador de SharePoint. Si usa 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 para un recurso de Sharepoint Online con varias geoubicaciones, incluya la relación accessPackageResourceEnvironment en el accessPackageResource objeto. Esto se puede hacer de dos maneras:

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

Para quitar un recurso de un catálogo, establezca el valor de catalogId como del id. del catálogo, para que requestType sea AdminRemovey el accessPackageResource objeto de recurso que se va a quitar. El objeto de recursos se puede recuperar mediante list accessPackageResources.

Respuesta

Si tiene éxito, este método devuelve un 201 Created código 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra la solicitud. En este ejemplo, la @odata.bind anotación se utiliza para asignar el id de a accessPackageResourceEnvironment 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra la solicitud. En este ejemplo, los parámetros de an accessPackageResourceEnvironment se 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra 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

En el ejemplo siguiente se muestra una 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

En el ejemplo siguiente se muestra 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"
}

Ejemplo 7: Crear un accessPackageResourceRequest para agregar derechos de acceso de IAG de SAP como recurso

Solicitud

En el ejemplo siguiente se muestra una solicitud para agregar un conector de recursos de origen externo a un catálogo, incluida la especificación de un atributo necesario de ese conector de recursos.

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

{
  "catalogId": "bcb19bf7-cdf7-4a70-a106-f6543620b2a5",
  "accessPackageResource": {
    "id": "88eb460d-ca08-4eb9-afae-8d60a8b00377",
    "displayName": "SAP IAG Access Rights",
    "description": "This resource represents the business roles of SAP IAG",
    "resourceType": "Business role",
    "originId": "https://iagintgorg-iag-intg-space-java-rest-arqapi.cfapps.sap.hana.ondemand.com",
    "originSystem": "External",
    "accessPackageResourceScopes": [],
    "externalOriginResourceConnector": {
      "id": "1a53cea5-48bd-467c-af81-a24245b0df2b",
      "displayName": "SAP IAG 10.0",
      "description": "SAP IAG 10.0.0",
      "connectorType": "sapIag",
      "connectionInfo": {
        "@odata.type": "microsoft.graph.externalTokenBasedSapIagConnectionInfo",
        "url": "https://iagigorg-iag-intg-space-java-rest-arqapi.cfapps.sap.hana.ondemand.com",
        "subscriptionId": "8e072eb5-73f5-4ed2-9324-a734dcb9728",
        "resourceGroup": "SAPResourceGroup",
        "accessTokenUrl": "https://entra-docu-intg-mrrd3gv.authentication.sap.hana.ondemand.com/oauth/token",
        "clientId": "sb-72062308-a7ae-456f-b9a4-24302b8a4aa!b247012|iagapi-iag-intg-space!b11378",
        "keyVaultName": "SAPIAG-KV",
        "secretName": "ClientSecret"
      }
    },
    "accessPackageResourceEnvironment": null
  },
  "requestType": "AdminAdd",
  "history": [],
  "executeImmediately": true
}

Respuesta

En el ejemplo siguiente se muestra 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": "0e37f047-c6b9-4d5c-99cd-e3fab4007be4",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Ejemplo 8: Agregar un recurso de grupo de administración al catálogo

Solicitud

En el ejemplo siguiente se muestra una solicitud para agregar un recurso de grupo de administración a un catálogo.

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

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

Respuesta

En el ejemplo siguiente se muestra 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": "e8368470-afaf-44da-ba86-13a7318f1995",
    "id": "99e156fe-d152-4005-b019-6ba816f411ea",
    "justification": "",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "requestType": "AdminAdd",
}

Ejemplo 9: Agregar un recurso de suscripción al catálogo

Solicitud

En el ejemplo siguiente se muestra una solicitud para agregar un recurso de suscripción a un catálogo.

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

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

Respuesta

En el ejemplo siguiente se muestra 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": "e8368470-afaf-44da-ba86-13a7318f1995",
    "id": "13ac6518-0597-452c-98ff-59c52b391dae",
    "justification": "",
    "requestState": "Delivered",
    "requestStatus": "Fulfilled",
    "requestType": "AdminAdd",
}