Create accessPackageResourceRequest

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Crie um novo objeto accessPackageResourceRequest para solicitar a adição de um recurso a um catálogo de pacotes de acesso, a atualização de um recurso ou a remoção de um recurso de um catálogo. Um recurso deve ser incluído em um catálogo de pacotes de acesso antes que uma função desse recurso possa ser adicionada a um pacote de acesso.

Essa API está disponível nas seguintes implantações de nuvem nacional.

Serviço global Governo dos EUA L4 US Government L5 (DOD) China operada pela 21Vianet
✅ ✅ ✅ ✅

Permissões

Escolha a(s) permissão(s) marcada(s) como menos privilegiada(s) para essa API. Use uma permissão ou permissões com privilégios mais altos somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões com privilégios mais elevados
Delegado (conta corporativa ou de estudante) EntitlementManagement.ReadWrite.All Indisponível.
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application EntitlementManagement.ReadWrite.All Indisponível.

Dica

Em cenários delegados com contas corporativas ou de estudante, o usuário conectado também deve receber uma função de administrador com permissões de função com suporte por meio de uma das seguintes opções:

Em cenários somente de aplicativo, o aplicativo de chamada pode receber uma das funções com suporte anteriores em vez da permissão do EntitlementManagement.ReadWrite.All aplicativo. A função de proprietário do catálogo é menos privilegiada do que a permissão do EntitlementManagement.ReadWrite.All aplicativo.

Além disso, você também deve ter as seguintes permissões no recurso que está sendo adicionado:

  • Para adicionar um grupo do Microsoft Entra como recurso a um catálogo:
    • Se estiver usando permissões delegadas, o usuário que solicita a adição de um grupo deverá ser um proprietário do grupo ou estar em uma função de diretório que permita modificar grupos.
    • Se estiver usando permissões de aplicativo, o aplicativo que solicita a adição do grupo também deverá receber a Group.ReadWrite.All permissão.
  • Para adicionar uma função do Microsoft Entra como recurso a um catálogo:
    • Se estiver usando permissões delegadas, o usuário que deseja adicionar a função ao catálogo precisará ser um Administrador Global ou um Administrador de Função Privilegiada com permissões de Proprietário do Catálogo.
    • Aplicativos com as permissões Entitlement Management.ReadWrite.All não podem adicionar funções do Microsoft Entra a catálogos, a menos que também tenham permissões de Administrador Global ou Administrador de Função de Privilégio.
  • Para adicionar um aplicativo do Microsoft Entra como recurso a um catálogo:
    • Se estiver usando permissões delegadas, o usuário que solicita a adição de um aplicativo deverá ser um proprietário do aplicativo ou estar em uma função de diretório que permita modificar as atribuições de função do aplicativo.
    • Se estiver usando permissões de aplicativo, o aplicativo que está solicitando a adição do servicePrincipal também deverá receber a permissão Application.ReadWrite.All .
  • Para adicionar um site do SharePoint Online como um recurso a um catálogo:
    • Se estiver usando permissões delegadas, o usuário deverá receber a função de Administrador do SharePoint ou ser um administrador do site do SharePoint.
    • Se estiver usando permissões de aplicativo, o aplicativo também deverá receber a Sites.FullControl.All permissão.

Solicitação HTTP

POST /identityGovernance/entitlementManagement/accessPackageResourceRequests

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json. Obrigatório.

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON de um objeto accessPackageResourceRequest . Inclua a accessPackageResource relação com um objeto accessPackageResource como parte da solicitação.

Para adicionar um grupo do Microsoft Entra como um recurso a um catálogo, defina o catalogId como ID do catálogo, requestType como e AdminAddum accessPackageResource representante do recurso. O valor da propriedade originSystem dentro do accessPackageResource deve ser AadGroup e o valor de originId é o identificador do grupo. Se estiver usando permissões delegadas, o usuário que solicita a adição de um grupo deve ser um proprietário do grupo ou estar em uma função de diretório que permita modificar grupos. Se estiver usando permissões de aplicativo, o aplicativo que solicita a adição do grupo também deverá receber a Group.ReadWrite.All permissão.

Para adicionar um aplicativo do Microsoft Entra como um recurso a um catálogo, defina o catalogId como ID do catálogo, requestType como e AdminAddum accessPackageResource representante do recurso. O valor da propriedade originSystem dentro do accessPackageResource deve ser AadApplication e o valor de originId é o identificador do servicePrincipal. Se estiver usando permissões delegadas, o usuário que solicita a adição de um aplicativo deverá ser um proprietário do aplicativo ou estar em uma função de diretório que permita modificar as atribuições de função do aplicativo.

Para adicionar um site do SharePoint Online como um recurso a um catálogo, defina catalogId como ID do catálogo, requestType como e AdminAddum accessPackageResource representando o recurso. O valor da propriedade originSystem dentro do accessPackageResource deve ser SharePointOnline e o valor de originId é o URI do site. Se estiver usando permissões delegadas, o usuário deverá estar na função de Administrador do SharePoint. Se estiver usando permissões de aplicativo, o aplicativo que solicita a adição do site também deverá receber a Sites.FullControl.All permissão. Para atribuir o ambiente de geolocalização para um recurso de multilocalização geográfica do Sharepoint Online, inclua a accessPackageResource relação accessPackageResourceEnvironment no objeto. Isso pode ser feito de duas maneiras:

  • Use @odata.bind a anotação para atribuir o accessPackageResourceEnvironmentid de a um accessPackageResourceEnvironment objeto.
  • Especifique o originId parâmetro do accessPackageResourceEnvironment em um accessPackageResourceEnvironment objeto.

Para remover um recurso de um catálogo, defina o catalogId como ID do catálogo, requestType como e AdminRemoveo accessPackageResource objeto de recurso a ser removido. O objeto de recurso pode ser recuperado usando a lista accessPackageResources.

Resposta

Se for bem-sucedido, esse método retornará um código de 201 Created resposta e um novo objeto accessPackageResourceRequest no corpo da resposta.

Exemplos

Exemplo 1: criar um accessPackageResourceRequest para adicionar um site como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 2: criar um accessPackageResourceRequest para adicionar um site como um recurso e atribuir um accessPackageResourceEnvironment usando @odata.bind

Solicitação

O exemplo a seguir mostra uma solicitação. Neste exemplo, a @odata.bind anotação é usada para atribuir o id de a accessPackageResourceEnvironment um 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"
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

Exemplo 3: criar um accessPackageResourceRequest para adicionar um site como um recurso e atribuir um accessPackageResourceEnvironment usando originId

Solicitação

O exemplo a seguir mostra uma solicitação. Neste exemplo, os parâmetros de an accessPackageResourceEnvironment são especificados em um 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"
}

Resposta

O exemplo a seguir mostra a resposta.

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
}

Exemplo 4: criar um accessPackageResourceRequest para adicionar um grupo como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 5: criar um accessPackageResourceRequest para remover um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 6: criar um accessPackageResourceRequest para adicionar um aplicativo

Solicitação

O exemplo a seguir mostra uma solicitação para adicionar um aplicativo a um catálogo, incluindo a especificação de um atributo necessário desse aplicativo.

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

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

Exemplo 7: Criar um accessPackageResourceRequest para adicionar Direitos de Acesso do SAP IAG como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação para adicionar um conector de recurso de origem externa a um catálogo, incluindo a especificação de um atributo necessário desse conector de recurso.

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
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

{
  "id": "0e37f047-c6b9-4d5c-99cd-e3fab4007be4",
  "requestType": "AdminAdd",
  "requestState": "Delivered",
  "requestStatus": "Fulfilled"
}

Exemplo 8: Adicionar um recurso do grupo de gerenciamento ao catálogo

Solicitação

O exemplo a seguir mostra uma solicitação para adicionar um recurso de grupo de gerenciamento a um 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"
    }
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 9: Adicionar um recurso de assinatura ao catálogo

Solicitação

O exemplo a seguir mostra uma solicitação para adicionar um recurso de assinatura a um 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"
    }
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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