Atualizar accessReviewInstance
Artigo
07/18/2022
6 minutos para o fim da leitura
3 colaboradores
Neste artigo
Namespace: microsoft.graph
Atualize as propriedades de um objeto accessReviewInstance . Somente as propriedades reviewers e fallbackReviewers podem ser atualizadas, mas a propriedade de escopo também é necessária no corpo da solicitação. Você só pode adicionar revisores à propriedade fallbackReviewers , mas não pode remover fallbackReviewers existentes .
Para atualizar um accessReviewInstance , seu status deve ser InProgress.
Observação
Atualizar um accessReviewInstance atualizará apenas essa instância. O accessReviewScheduleDefinition pai e quaisquer objetos accessReviewInstance futuros não mudarão. Para fazer atualizações que se aplicam a todas as instâncias futuras, atualize o objeto accessReviewScheduleDefinition pai.
Permissões
Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões .
Tipo de permissão
Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante)
AccessReview.ReadWrite.All
Delegado (conta pessoal da Microsoft)
Sem suporte.
Aplicativo
AccessReview.ReadWrite.All
Solicitação HTTP
PUT /identityGovernance/accessReviews/definitions/{accessReviewScheduleDefinitionId}/instances/{accessReviewInstanceId}
Nome
Descrição
Autorização
{token} de portador. Obrigatório.
Content-Type
application/json. Obrigatório.
Corpo da solicitação
No corpo da solicitação, forneça apenas os valores das propriedades que devem ser atualizadas. As propriedades existentes que não estão incluídas no corpo da solicitação manterão seus valores anteriores ou serão recalculadas com base nas alterações em outros valores de propriedade.
A tabela a seguir especifica as propriedades que podem ser atualizadas.
Propriedade
Tipo
Descrição
fallbackReviewers
coleção accessReviewReviewerScope
Essa coleção de escopos de revisores é usada para definir a lista de revisores de fallback. Esses revisores de fallback serão notificados para tomar medidas se nenhum usuário for encontrado na lista de revisores especificados. Isso pode ocorrer quando o proprietário do grupo é especificado como revistor, mas o proprietário do grupo não existe, ou o gerente é especificado como revistor, mas o gerente de um usuário não existe. Opcional. Atualizável.
Revisores
coleção accessReviewReviewerScope
Essa coleção de escopos de revisão de acesso é usada para definir quem são os revisores. Para obter exemplos de opções para atribuir revisores, consulte Atribuir revisores à sua definição de revisão de acesso usando o Microsoft API do Graph . Opcional. Atualizável.
scope
accessReviewScope
Criado com base no escopo e instanceEnumerationScope no nível accessReviewScheduleDefinition . Define o escopo dos usuários revisados em um grupo. Somente leitura. Obrigatório, mas não atualizado.
Resposta
Se bem-sucedido, este método retorna um código 200 OK de resposta e um objeto accessReviewInstance atualizado no corpo da resposta.
A tentativa de remover fallbackReviewers existente retorna um código 409 Conflict de resposta.
Exemplos
Solicitação
PATCH https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/5dcfcc88-da88-4252-8629-a0807b4b076d/instances/720b8ee0-cee4-42ac-b164-894c48703acc
Content-Type: application/json
{
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/users",
"queryType": "MicrosoftGraph"
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/groups",
"queryType": "MicrosoftGraph"
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
"queryType": "MicrosoftGraph"
}
]
},
"reviewers": [
{
"query": "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
"queryType": "MicrosoftGraph"
}
],
"fallbackReviewers": [
{
"query": "/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
"queryType": "MicrosoftGraph"
},
{
"query": "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
"queryType": "MicrosoftGraph"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var accessReviewInstance = new AccessReviewInstance
{
Scope = new PrincipalResourceMembershipsScope
{
PrincipalScopes = new List<AccessReviewScope>()
{
new AccessReviewQueryScope
{
Query = "/v1.0/users",
QueryType = "MicrosoftGraph"
},
new AccessReviewQueryScope
{
Query = "/v1.0/groups",
QueryType = "MicrosoftGraph"
}
},
ResourceScopes = new List<AccessReviewScope>()
{
new AccessReviewQueryScope
{
Query = "/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
QueryType = "MicrosoftGraph"
}
}
},
Reviewers = new List<AccessReviewReviewerScope>()
{
new AccessReviewReviewerScope
{
Query = "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
QueryType = "MicrosoftGraph"
}
},
FallbackReviewers = new List<AccessReviewReviewerScope>()
{
new AccessReviewReviewerScope
{
Query = "/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
QueryType = "MicrosoftGraph"
},
new AccessReviewReviewerScope
{
Query = "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
QueryType = "MicrosoftGraph"
}
}
};
await graphClient.IdentityGovernance.AccessReviews.Definitions["{accessReviewScheduleDefinition-id}"].Instances["{accessReviewInstance-id}"]
.Request()
.UpdateAsync(accessReviewInstance);
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 accessReviewInstance = {
scope: {
'@odata.type': '#microsoft.graph.principalResourceMembershipsScope',
principalScopes: [
{
'@odata.type': '#microsoft.graph.accessReviewQueryScope',
query: '/v1.0/users',
queryType: 'MicrosoftGraph'
},
{
'@odata.type': '#microsoft.graph.accessReviewQueryScope',
query: '/v1.0/groups',
queryType: 'MicrosoftGraph'
}
],
resourceScopes: [
{
'@odata.type': '#microsoft.graph.accessReviewQueryScope',
query: '/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3',
queryType: 'MicrosoftGraph'
}
]
},
reviewers: [
{
query: '/users/1ed8ac56-4827-4733-8f80-86adc2e67db5',
queryType: 'MicrosoftGraph'
}
],
fallbackReviewers: [
{
query: '/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e',
queryType: 'MicrosoftGraph'
},
{
query: '/users/1ed8ac56-4827-4733-8f80-86adc2e67db5',
queryType: 'MicrosoftGraph'
}
]
};
await client.api('/identityGovernance/accessReviews/definitions/5dcfcc88-da88-4252-8629-a0807b4b076d/instances/720b8ee0-cee4-42ac-b164-894c48703acc')
.update(accessReviewInstance);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identityGovernance/accessReviews/definitions/5dcfcc88-da88-4252-8629-a0807b4b076d/instances/720b8ee0-cee4-42ac-b164-894c48703acc"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphAccessReviewInstance *accessReviewInstance = [[MSGraphAccessReviewInstance alloc] init];
MSGraphAccessReviewScope *scope = [[MSGraphAccessReviewScope alloc] init];
NSMutableArray *principalScopesList = [[NSMutableArray alloc] init];
MSGraphAccessReviewScope *principalScopes = [[MSGraphAccessReviewScope alloc] init];
[principalScopes setQuery:@"/v1.0/users"];
[principalScopes setQueryType:@"MicrosoftGraph"];
[principalScopesList addObject: principalScopes];
MSGraphAccessReviewScope *principalScopes = [[MSGraphAccessReviewScope alloc] init];
[principalScopes setQuery:@"/v1.0/groups"];
[principalScopes setQueryType:@"MicrosoftGraph"];
[principalScopesList addObject: principalScopes];
[scope setPrincipalScopes:principalScopesList];
NSMutableArray *resourceScopesList = [[NSMutableArray alloc] init];
MSGraphAccessReviewScope *resourceScopes = [[MSGraphAccessReviewScope alloc] init];
[resourceScopes setQuery:@"/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"];
[resourceScopes setQueryType:@"MicrosoftGraph"];
[resourceScopesList addObject: resourceScopes];
[scope setResourceScopes:resourceScopesList];
[accessReviewInstance setScope:scope];
NSMutableArray *reviewersList = [[NSMutableArray alloc] init];
MSGraphAccessReviewReviewerScope *reviewers = [[MSGraphAccessReviewReviewerScope alloc] init];
[reviewers setQuery:@"/users/1ed8ac56-4827-4733-8f80-86adc2e67db5"];
[reviewers setQueryType:@"MicrosoftGraph"];
[reviewersList addObject: reviewers];
[accessReviewInstance setReviewers:reviewersList];
NSMutableArray *fallbackReviewersList = [[NSMutableArray alloc] init];
MSGraphAccessReviewReviewerScope *fallbackReviewers = [[MSGraphAccessReviewReviewerScope alloc] init];
[fallbackReviewers setQuery:@"/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e"];
[fallbackReviewers setQueryType:@"MicrosoftGraph"];
[fallbackReviewersList addObject: fallbackReviewers];
MSGraphAccessReviewReviewerScope *fallbackReviewers = [[MSGraphAccessReviewReviewerScope alloc] init];
[fallbackReviewers setQuery:@"/users/1ed8ac56-4827-4733-8f80-86adc2e67db5"];
[fallbackReviewers setQueryType:@"MicrosoftGraph"];
[fallbackReviewersList addObject: fallbackReviewers];
[accessReviewInstance setFallbackReviewers:fallbackReviewersList];
NSError *error;
NSData *accessReviewInstanceData = [accessReviewInstance getSerializedDataWithError:&error];
[urlRequest setHTTPBody:accessReviewInstanceData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
AccessReviewInstance accessReviewInstance = new AccessReviewInstance();
PrincipalResourceMembershipsScope scope = new PrincipalResourceMembershipsScope();
LinkedList<AccessReviewScope> principalScopesList = new LinkedList<AccessReviewScope>();
AccessReviewQueryScope principalScopes = new AccessReviewQueryScope();
principalScopes.query = "/v1.0/users";
principalScopes.queryType = "MicrosoftGraph";
principalScopesList.add(principalScopes);
AccessReviewQueryScope principalScopes1 = new AccessReviewQueryScope();
principalScopes1.query = "/v1.0/groups";
principalScopes1.queryType = "MicrosoftGraph";
principalScopesList.add(principalScopes1);
scope.principalScopes = principalScopesList;
LinkedList<AccessReviewScope> resourceScopesList = new LinkedList<AccessReviewScope>();
AccessReviewQueryScope resourceScopes = new AccessReviewQueryScope();
resourceScopes.query = "/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3";
resourceScopes.queryType = "MicrosoftGraph";
resourceScopesList.add(resourceScopes);
scope.resourceScopes = resourceScopesList;
accessReviewInstance.scope = scope;
LinkedList<AccessReviewReviewerScope> reviewersList = new LinkedList<AccessReviewReviewerScope>();
AccessReviewReviewerScope reviewers = new AccessReviewReviewerScope();
reviewers.query = "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5";
reviewers.queryType = "MicrosoftGraph";
reviewersList.add(reviewers);
accessReviewInstance.reviewers = reviewersList;
LinkedList<AccessReviewReviewerScope> fallbackReviewersList = new LinkedList<AccessReviewReviewerScope>();
AccessReviewReviewerScope fallbackReviewers = new AccessReviewReviewerScope();
fallbackReviewers.query = "/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e";
fallbackReviewers.queryType = "MicrosoftGraph";
fallbackReviewersList.add(fallbackReviewers);
AccessReviewReviewerScope fallbackReviewers1 = new AccessReviewReviewerScope();
fallbackReviewers1.query = "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5";
fallbackReviewers1.queryType = "MicrosoftGraph";
fallbackReviewersList.add(fallbackReviewers1);
accessReviewInstance.fallbackReviewers = fallbackReviewersList;
graphClient.identityGovernance().accessReviews().definitions("5dcfcc88-da88-4252-8629-a0807b4b076d").instances("720b8ee0-cee4-42ac-b164-894c48703acc")
.buildRequest()
.patch(accessReviewInstance);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewAccessReviewInstance()
scope := msgraphsdk.NewAccessReviewScope()
requestBody.SetScope(scope)
scope.SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": []Object {
}
"resourceScopes": []Object {
}
}
requestBody.SetReviewers( []AccessReviewReviewerScope {
msgraphsdk.NewAccessReviewReviewerScope(),
query := "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5"
SetQuery(&query)
queryType := "MicrosoftGraph"
SetQueryType(&queryType)
}
requestBody.SetFallbackReviewers( []AccessReviewReviewerScope {
msgraphsdk.NewAccessReviewReviewerScope(),
query := "/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e"
SetQuery(&query)
queryType := "MicrosoftGraph"
SetQueryType(&queryType)
msgraphsdk.NewAccessReviewReviewerScope(),
query := "/users/1ed8ac56-4827-4733-8f80-86adc2e67db5"
SetQuery(&query)
queryType := "MicrosoftGraph"
SetQueryType(&queryType)
}
accessReviewScheduleDefinitionId := "accessReviewScheduleDefinition-id"
accessReviewInstanceId := "accessReviewInstance-id"
graphClient.IdentityGovernance().AccessReviews().DefinitionsById(&accessReviewScheduleDefinitionId).InstancesById(&accessReviewInstanceId).Patch(requestBody)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider , consulte a documentação do SDK .
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('5dcfcc88-da88-4252-8629-a0807b4b076d')/instances/$entity",
"id": "720b8ee0-cee4-42ac-b164-894c48703acc",
"startDateTime": "2021-12-14T11:15:43.207Z",
"endDateTime": "2021-12-15T11:15:43.207Z",
"status": "InProgress",
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/users",
"queryType": "MicrosoftGraph",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/groups",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/beta/roleManagement/directory/roleDefinitions/9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
},
"reviewers": [
{
"query": "/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"fallbackReviewers": [
{
"query": "/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
"queryType": "MicrosoftGraph",
"queryRoot": null
},
{
"query": "/v1.0/users/1ed8ac56-4827-4733-8f80-86adc2e67db5",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
}