Partilhar via


Criar 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 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.

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/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 do pedido, forneça uma representação JSON de um objeto accessPackageResourceRequest . Inclua a accessPackageResource relação com um objeto accessPackageResource como parte do pedido.

Para adicionar um Microsoft Entra grupo como um recurso a um catálogo, defina o catalogId como sendo do ID do catálogo, requestType como AdminAdde um accessPackageResource que represente o recurso. O valor da propriedade originSystem no accessPackageResource deve ser AadGroup e o valor de originId é o identificador do grupo. Se utilizar permissões delegadas, o utilizador que está a pedir para adicionar um grupo deve ser um 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 um recurso a um catálogo, defina o catalogId como sendo do ID do catálogo, requestType como AdminAdde um accessPackageResource que represente o recurso. O valor da propriedade originSystem no accessPackageResource deve ser AadApplication e o valor de originId é o identificador do servicePrincipal. 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.

Para adicionar um site do SharePoint Online como um recurso a um catálogo, defina o catalogId como sendo do ID do catálogo, requestType como AdminAdde um accessPackageResource que represente o recurso. O valor da propriedade originSystem no accessPackageResource deve ser SharePointOnline e o valor do originId é o URI do site. Se utilizar permissões delegadas, o utilizador deverá estar na função administrador do SharePoint. Se utilizar permissões de aplicação, a aplicação que pede para adicionar o site também deve ter a Sites.FullControl.All permissão atribuída. Para atribuir o ambiente de geolocalização para um recurso do Sharepoint Online de várias geolocalização, inclua a relação accessPackageResourceEnvironment no accessPackageResource objeto. Isto pode ser feito de duas formas:

  • Utilize @odata.bind a anotação para atribuir o idaccessPackageResourceEnvironment de a um accessPackageResourceEnvironment objeto.
  • Especifique o originId parâmetro de accessPackageResourceEnvironment num accessPackageResourceEnvironment objeto.

Para remover um recurso de um catálogo, defina o catalogId para ser do ID do catálogo, requestType como AdminRemovee o accessPackageResource objeto de recurso a ser removido. O objeto de recurso pode ser obtido através da lista accessPackageResources.

Resposta

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 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 recurso e atribuir um accessPackageResourceEnvironment com @odata.bind

Solicitação

O exemplo a seguir mostra uma solicitação. Neste exemplo, a @odata.bind anotação é utilizada 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 recurso e atribuir um accessPackageResourceEnvironment com originId

Solicitação

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

Solicitação

O exemplo seguinte mostra um pedido para adicionar uma aplicação a um catálogo, incluindo especificar um atributo necessário dessa aplicaçã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": "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"
}