Partilhar via


Criar accessPackageResourceRequest

Namespace: microsoft.graph

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

  • Para adicionar um grupo de Microsoft Entra como um recurso a um catálogo, defina requestType como adminAdde um resource que represente o recurso. O valor da propriedade originSystem no resource deve ser AadGroup e o valor de originId é o identificador do grupo.
  • Para adicionar uma aplicação Microsoft Entra como um recurso a um catálogo, defina requestType como adminAdde um resource que represente o recurso. O valor da propriedade originSystem no 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 requestType como adminAdde um resource que represente o recurso. O valor da propriedade originSystem no resource deve ser SharePointOnline e o valor do originId é o URI do site.
  • Para remover um recurso de um catálogo, defina requestType como adminRemovee o resource para conter o id do objeto de recurso a ser removido. O objeto de recurso pode ser obtido com recursos de lista.

Esta API está disponível nas seguintes implementações de cloud nacionais.

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

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
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 escolares ou profissionais, o utilizador com sessão iniciada também tem de ter uma função de administrador com permissões de função suportadas através de uma das seguintes opções:

Em cenários apenas de aplicações, a aplicação de chamadas pode ser atribuída a uma das funções suportadas anteriores em vez da permissão da aplicação EntitlementManagement.ReadWrite.All . A função de proprietário do Catálogo tem menos privilégios do que a permissão da aplicação EntitlementManagement.ReadWrite.All .

Além disso, também tem de ter as seguintes permissões no recurso que está a ser adicionado:

  • Para adicionar um grupo de Microsoft Entra como um recurso a um catálogo:
  • Se utilizar permissões delegadas, o utilizador que está a pedir para adicionar um grupo deve ser proprietário do grupo ou numa função de diretório que lhes permita modificar grupos.
  • Se utilizar permissões de aplicação, a aplicação que pede para adicionar o grupo também deve ter a Group.ReadWrite.All permissão atribuída.
  • Para adicionar uma aplicação Microsoft Entra como recurso a um catálogo:
    • Se utilizar permissões delegadas, o utilizador que está a pedir para adicionar uma aplicação deve ser um proprietário da aplicação ou numa função de diretório que lhes permita modificar atribuições de funções de aplicação.
    • Se utilizar permissões de aplicação, a aplicação que pede para adicionar o servicePrincipal também deve ter 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 do pedido, forneça uma representação JSON de um objeto accessPackageResourceRequest . Inclua a resource relação com um objeto accessPackageResource como parte do pedido e um catalog objeto que contenha o respetivo id.

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

Exemplos

Exemplo 1: Criar um accessPackageResourceRequest para adicionar um grupo como 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 uma aplicação como 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 uma aplicação como um recurso com atributos

O exemplo seguinte mostra um pedido para atualizar um recurso num catálogo, para uma aplicação que já foi adicionada 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"
}