Create accessPackageResourceRequest

Namespace: microsoft.graph

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.

  • Para adicionar um grupo do Microsoft Entra como um recurso a um catálogo, defina o requestType como adminAdde um resource que representa o recurso. O valor da propriedade originSystem dentro do resource deve ser AadGroup e o valor de originId é o identificador do grupo.
  • Para adicionar um aplicativo do Microsoft Entra como um recurso a um catálogo, defina o requestType como adminAdde um resource representando o recurso. O valor da propriedade originSystem dentro do resource deve ser AadApplication e o valor de originId é o identificador do servicePrincipal.
  • Para adicionar um site do SharePoint Online como um recurso a um catálogo, defina o requestType como adminAdde um resource representando o recurso. O valor da propriedade originSystem dentro do resource deve ser SharePointOnline e o valor de originId é o URI do site.
  • Para remover um recurso de um catálogo, defina o requestType como adminRemovee o resource para conter o id objeto de recurso a ser removido. O objeto de recurso pode ser recuperado usando recursos de lista.

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:

Solicitação HTTP

POST /identityGovernance/entitlementManagement/resourceRequests

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 resource relação com um objeto accessPackageResource como parte da solicitação e um catalog objeto que contenha seu id.

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 grupo como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

Exemplo 2: criar um accessPackageResourceRequest para adicionar um aplicativo como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

Exemplo 3: criar um accessPackageResourceRequest para adicionar um site do SharePoint Online como um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

Exemplo 4: criar um accessPackageResourceRequest para remover um recurso

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminRemove",
  "state": "delivered"
}

Exemplo 5: criar um accessPackageResourceRequest para atualizar um aplicativo como um recurso com atributos

O exemplo a seguir mostra uma solicitação para atualizar um recurso em um catálogo, para um aplicativo que já foi adicionado como um recurso, com dois atributos.

Solicitação

O exemplo a seguir mostra uma solicitação.

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

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": "acc2294e-f37f-42d3-981d-4e83847ed0ce",
  "requestType": "adminAdd",
  "state": "delivered"
}

Exemplo 6: 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/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"
    }
}

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": "99e156fe-d152-4005-b019-6ba816f411ea",
  "requestType": "adminAdd",
  "state": "delivered"
}

Exemplo 7: 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/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"
    }
}

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": "13ac6518-0597-452c-98ff-59c52b391dae",
  "requestType": "adminAdd",
  "state": "delivered"
}