Namespace: microsoft.graph
Retome a solicitação de pacote de acesso de um usuário depois de aguardar um retorno de chamada de uma extensão personalizada.
No gerenciamento de direitos do Microsoft Entra, quando uma política de pacote de acesso tiver sido habilitada para chamar uma extensão personalizada e o processamento da solicitação estiver aguardando o retorno de chamada do cliente, o cliente poderá iniciar uma ação de retomada. Ela é executada em um objeto accessPackageAssignmentRequest cujo requestStatus está em um WaitingForCallback estado.
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
Para acesso delegado usando contas corporativas ou de estudante, o usuário conectado deve receber uma função de administrador com permissões de função com suporte por meio de uma das seguintes opções:
- Uma função no sistema de Gerenciamento de Direitos em que as funções menos privilegiadas são:
-
Gerenciador de atribuição de pacote de acesso.
Essa é a opção menos privilegiada
-
Gerenciador de pacotes de acesso
- Proprietário do catálogo
- Funções do Microsoft Entra com mais privilégios com suporte para esta operação:
- Administrador de Governança de Identidade
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 do gerenciador de atribuição de pacotes de acesso é menos privilegiada do que a permissão do EntitlementManagement.ReadWrite.All aplicativo.
Para obter mais informações, consulte Delegação e funções no gerenciamento de direitos e como delegar governança de acesso para gerenciadores de pacotes de acesso no gerenciamento de direitos.
Solicitação HTTP
POST /identityGovernance/entitlementManagement/assignmentRequests/{accessPackageAssignmentRequestId}/resume
| 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 dos parâmetros.
A tabela a seguir mostra os parâmetros que podem ser usados com esta ação.
| Parâmetro |
Tipo |
Descrição |
| source |
Cadeia de caracteres |
Fonte de onde o cliente está tentando retomar a solicitação, que pode ser armazenada no serviço e será útil para auditoria. |
| type |
Cadeia de caracteres |
Indique em qual estágio a extensão de frase de destaque personalizada foi executada. Os valores possíveis são: microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated, microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestApproved, microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestGranted, microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestRemoved |
| data |
accessPackageAssignmentRequestCallbackData |
Contém informações sobre a instância da frase de destaque que foi feita para o ponto de extremidade do cliente. |
Resposta
Se tiver êxito, esta ação retornará um código de resposta 204 No Content.
Exemplos
Exemplo 1: Retomar uma solicitação de atribuição de pacote de acesso
Solicitação
O exemplo a seguir mostra uma solicitação de uma chamada para retomar uma solicitação de atribuição de pacote de acesso que está aguardando um retorno de chamada.
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/assignmentRequests/0e60f18c-b2a0-4887-9da8-da2e30a39d99/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "assignmentRequestCreated",
"customExtensionStageInstanceId": "957d0c50-466b-4840-bb5b-c92cea7141ff",
"customExtensionStageInstanceDetail": "This user is all verified"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.IdentityGovernance.EntitlementManagement.AssignmentRequests.Item.Resume;
using Microsoft.Graph.Models;
var requestBody = new ResumePostRequestBody
{
Source = "Contoso.SodCheckProcess",
Type = "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
Data = new AccessPackageAssignmentRequestCallbackData
{
OdataType = "microsoft.graph.accessPackageAssignmentRequestCallbackData",
Stage = AccessPackageCustomExtensionStage.AssignmentRequestCreated,
CustomExtensionStageInstanceId = "957d0c50-466b-4840-bb5b-c92cea7141ff",
CustomExtensionStageInstanceDetail = "This user is all verified",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.IdentityGovernance.EntitlementManagement.AssignmentRequests["{accessPackageAssignmentRequest-id}"].Resume.PostAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphidentitygovernance "github.com/microsoftgraph/msgraph-sdk-go/identitygovernance"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphidentitygovernance.NewResumePostRequestBody()
source := "Contoso.SodCheckProcess"
requestBody.SetSource(&source)
type := "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated"
requestBody.SetType(&type)
data := graphmodels.NewAccessPackageAssignmentRequestCallbackData()
stage := graphmodels.ASSIGNMENTREQUESTCREATED_ACCESSPACKAGECUSTOMEXTENSIONSTAGE
data.SetStage(&stage)
customExtensionStageInstanceId := "957d0c50-466b-4840-bb5b-c92cea7141ff"
data.SetCustomExtensionStageInstanceId(&customExtensionStageInstanceId)
customExtensionStageInstanceDetail := "This user is all verified"
data.SetCustomExtensionStageInstanceDetail(&customExtensionStageInstanceDetail)
requestBody.SetData(data)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.IdentityGovernance().EntitlementManagement().AssignmentRequests().ByAccessPackageAssignmentRequestId("accessPackageAssignmentRequest-id").Resume().Post(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.identitygovernance.entitlementmanagement.assignmentrequests.item.resume.ResumePostRequestBody resumePostRequestBody = new com.microsoft.graph.identitygovernance.entitlementmanagement.assignmentrequests.item.resume.ResumePostRequestBody();
resumePostRequestBody.setSource("Contoso.SodCheckProcess");
resumePostRequestBody.setType("microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated");
AccessPackageAssignmentRequestCallbackData data = new AccessPackageAssignmentRequestCallbackData();
data.setOdataType("microsoft.graph.accessPackageAssignmentRequestCallbackData");
data.setStage(AccessPackageCustomExtensionStage.AssignmentRequestCreated);
data.setCustomExtensionStageInstanceId("957d0c50-466b-4840-bb5b-c92cea7141ff");
data.setCustomExtensionStageInstanceDetail("This user is all verified");
resumePostRequestBody.setData(data);
graphClient.identityGovernance().entitlementManagement().assignmentRequests().byAccessPackageAssignmentRequestId("{accessPackageAssignmentRequest-id}").resume().post(resumePostRequestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const resume = {
source: 'Contoso.SodCheckProcess',
type: 'microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated',
data: {
'@odata.type': 'microsoft.graph.accessPackageAssignmentRequestCallbackData',
stage: 'assignmentRequestCreated',
customExtensionStageInstanceId: '957d0c50-466b-4840-bb5b-c92cea7141ff',
customExtensionStageInstanceDetail: 'This user is all verified'
}
};
await client.api('/identityGovernance/entitlementManagement/assignmentRequests/0e60f18c-b2a0-4887-9da8-da2e30a39d99/resume')
.post(resume);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\IdentityGovernance\EntitlementManagement\AssignmentRequests\Item\Resume\ResumePostRequestBody;
use Microsoft\Graph\Generated\Models\AccessPackageAssignmentRequestCallbackData;
use Microsoft\Graph\Generated\Models\AccessPackageCustomExtensionStage;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ResumePostRequestBody();
$requestBody->setSource('Contoso.SodCheckProcess');
$requestBody->setType('microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated');
$data = new AccessPackageAssignmentRequestCallbackData();
$data->setOdataType('microsoft.graph.accessPackageAssignmentRequestCallbackData');
$data->setStage(new AccessPackageCustomExtensionStage('assignmentRequestCreated'));
$data->setCustomExtensionStageInstanceId('957d0c50-466b-4840-bb5b-c92cea7141ff');
$data->setCustomExtensionStageInstanceDetail('This user is all verified');
$requestBody->setData($data);
$graphServiceClient->identityGovernance()->entitlementManagement()->assignmentRequests()->byAccessPackageAssignmentRequestId('accessPackageAssignmentRequest-id')->resume()->post($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Import-Module Microsoft.Graph.Identity.Governance
$params = @{
source = "Contoso.SodCheckProcess"
type = "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated"
data = @{
"@odata.type" = "microsoft.graph.accessPackageAssignmentRequestCallbackData"
stage = "assignmentRequestCreated"
customExtensionStageInstanceId = "957d0c50-466b-4840-bb5b-c92cea7141ff"
customExtensionStageInstanceDetail = "This user is all verified"
}
}
Resume-MgEntitlementManagementAssignmentRequest -AccessPackageAssignmentRequestId $accessPackageAssignmentRequestId -BodyParameter $params
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.identitygovernance.entitlementmanagement.assignmentrequests.item.resume.resume_post_request_body import ResumePostRequestBody
from msgraph.generated.models.access_package_assignment_request_callback_data import AccessPackageAssignmentRequestCallbackData
from msgraph.generated.models.access_package_custom_extension_stage import AccessPackageCustomExtensionStage
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ResumePostRequestBody(
source = "Contoso.SodCheckProcess",
type = "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
data = AccessPackageAssignmentRequestCallbackData(
odata_type = "microsoft.graph.accessPackageAssignmentRequestCallbackData",
stage = AccessPackageCustomExtensionStage.AssignmentRequestCreated,
custom_extension_stage_instance_id = "957d0c50-466b-4840-bb5b-c92cea7141ff",
custom_extension_stage_instance_detail = "This user is all verified",
),
)
await graph_client.identity_governance.entitlement_management.assignment_requests.by_access_package_assignment_request_id('accessPackageAssignmentRequest-id').resume.post(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 2: Retomar e negar uma solicitação de atribuição de pacote de acesso
Solicitação
O exemplo a seguir mostra uma solicitação para retomar o processamento de uma solicitação de atribuição de pacote de acesso negando a solicitação que está aguardando um retorno de chamada. Uma solicitação não pode ser negada assignmentRequestCreated no estágio do balão.
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/assignmentRequests/9e60f18c-b2a0-4887-9da8-da2e30a39d99/resume
Content-Type: application/json
{
"source": "Contoso.SodCheckProcess",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.accessPackageAssignmentRequestCallbackData",
"stage": "AssignmentRequestCreated",
"customExtensionStageInstanceId": "857d0c50-466b-4840-bb5b-c92cea7141ff",
"state": "denied",
"customExtensionStageInstanceDetail": "Potential risk user based on the SOD check"
}
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content
Exemplo 3: retomar uma solicitação de atribuição de pacote de acesso de uma extensão personalizada
Solicitação
O exemplo a seguir mostra uma solicitação de uma chamada para retomar uma solicitação de atribuição de pacote de acesso que está aguardando um retorno de chamada de uma extensão personalizada para determinar o aprovador da atribuição do pacote de acesso.
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/accessPackageAssignmentRequests/0e60f18c-b2a0-4887-9da8-da2e30a39d99/resume
Content-Type: application/json
{
"source": "Contoso.CustoEXT",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated",
"data": {
"@odata.type": "microsoft.graph.microsoft.graph.assignmentRequestApprovalStageCallbackData",
"approvalStage": {
"durationBeforeAutomaticDenial": "P2D",
"escalationApprovers": [],
"fallbackEscalationApprovers": [],
"fallbackPrimaryApprovers": [],
"isApproverJustificationRequired": false,
"isEscalationEnabled": false,
"primaryApprovers": [
{
"@@odata.type": "#microsoft.graph.singleUser",
"description": "Primary approver of access package assignment.",
"id": "",
"isBackup": false
}
]
},
"customExtensionStageInstanceDetail": "A approval stage from Logic Apps",
"customExtensionStageInstanceId": "@{triggerBody()?['CustomExtensionStageInstanceId']}",
"stage": "assignmentRequestDeterminingApprovalRequirements"
},
"source": "LogicApps",
"type": "microsoft.graph.accessPackageCustomExtensionStage.assignmentRequestCreated"
}
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 204 No Content