Utilizar a Aprovação multiadministração com a Microsoft API do Graph

A Aprovação de Vários Administradores (MAA) impõe fluxos de trabalho de aprovação em chamadas à API autenticadas por aplicações (app-auth) efetuadas através da Microsoft API do Graph. Se a sua organização utilizar principais de serviço, scripts de automatização ou aplicações de terceiros para gerir recursos do Intune, essas chamadas são intercetados pelo MAA quando o recurso de destino está protegido por uma política de acesso.

Este artigo explica como atualizar a automatização para trabalhar com o fluxo de trabalho de aprovação do MAA e como excluir aplicações específicas da imposição quando uma alteração de código não é imediatamente viável.

Importante

O MAA está a optar ativamente por carga de trabalho para cada inquilino. Esta imposição aplica-se apenas a inquilinos que tenham políticas de acesso MAA configuradas. Não ativa automaticamente o MAA nem altera os inquilinos que têm MAA. Para obter mais informações sobre como configurar políticas de acesso, veja Utilizar políticas de acesso para exigir a aprovação de vários administradores.

Que alterações para chamadas de autenticação de aplicações

Anteriormente, apenas as ações de administração interativas (delegadas) estavam sujeitas a fluxos de trabalho de aprovação do MAA. Com esta alteração, as chamadas automatizadas e com script que utilizam tokens apenas de aplicação também são intercetados pelo MAA quando o recurso de destino está protegido por uma política de acesso.

Se a sua aplicação fizer chamadas à API para recursos protegidos por MAA através da autenticação de aplicação e não incluir os cabeçalhos de aprovação necessários, a chamada devolve um erro HTTP 403. O corpo da resposta indica que a operação requer Aprovação de Vários Administradores.

Tipos de recursos afetados

As políticas de acesso do MAA podem proteger os seguintes tipos de recursos. Se as chamadas de autenticação de aplicação forem direcionadas para qualquer um destes recursos e uma política de acesso estiver ativa, a automatização será afetada:

  • Aplicativos
  • Políticas de conformidade
  • Políticas de configuração
  • Ações de dispositivo
  • Controle de acesso baseado em função
  • Scripts
  • Configuração do Inquilino

O MAA aplica-se apenas a operações que modificam recursos protegidos (POST, PATCH, PUT, DELETE). As operações só de leitura (GET) não são afetadas.

Pré-requisitos

  • Um registo de aplicação com as permissões de aplicação do Microsoft Graph necessárias para os recursos do Intune que a sua aplicação gere (por exemplo, DeviceManagementApps.ReadWrite.All).
  • Políticas de acesso do MAA configuradas para as cargas de trabalho relevantes. Para obter mais informações, veja Criar uma política de acesso.
  • Uma conta de administrador separada que seja membro do grupo de aprovadores para a política de acesso. As aplicações não podem aprovar ou rejeitar pedidos maA – apenas as contas de administrador interativas podem aprovar pedidos.

Passo 1: Submeter um pedido com um cabeçalho de justificação

Quando o MAA estiver ativado, inclua um cabeçalho de justificação com o pedido. O x-msft-approval-justification valor do cabeçalho tem de ser codificado em Base64.

O exemplo seguinte cria um recurso de script do PowerShell no Intune e inclui o cabeçalho de justificação necessário:

POST https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts
Content-Type: application/json
x-msft-approval-justification: YXBwIG9ubHkgdGVzdA==

{
  "displayName": "My Test Script",
  "description": "Testing MAA with app-only token",
  "scriptContent": "V3JpdGUtT3V0cHV0ICJIZWxsbyBXb3JsZCI=",
  "runAsAccount": "system",
  "fileName": "TestScript.ps1",
  "roleScopeTagIds": ["0"]
}

Dica

O x-msft-approval-justification valor é Codificado em Base64. Por exemplo, YXBwIG9ubHkgdGVzdA== descodifica para app only test. Codifipe a sua própria cadeia de justificação antes de enviar.

Sem o cabeçalho da justificação, o pedido falha com um erro que indica que o x-msft-approval-justification cabeçalho é necessário.

Passo 2: Processar a resposta de aprovação

O pedido devolve um erro HTTP 403 com um ApprovalRequired código de erro. Esta resposta 403 é esperada e não indica um problema de permissões – é assim que o MAA sinaliza que o pedido foi recebido e está agora à espera de aprovação. A resposta inclui um x-msft-approval-code cabeçalho de que precisa para os passos restantes.

Resposta de exemplo:

{
  "error": {
    "code": "ApprovalRequired",
    "message": "Approval Required. Request Approval using the request ID returned as part of the x-msft-approval-code response header. x-msft-approval-code: aabb1234-5678-9012-abcd-ef0123456789"
  }
}

Extraia o x-msft-approval-code valor da resposta. Precisa dele no Passo 4 depois de o pedido ser aprovado.

Passo 3: Aguardar aprovação

Neste momento, o pedido de aprovação tem de ser revisto e aprovado por outro administrador no centro de administração do Microsoft Intune. As aplicações não podem aprovar ou rejeitar pedidos maA – apenas as contas de administrador interativas podem aprová-las.

Pode consultar o estado do pedido de aprovação em qualquer altura com o código de aprovação:

GET https://graph.microsoft.com/beta/deviceManagement/operationApprovalRequests?$filter=requestId eq 'aabb1234-5678-9012-abcd-ef0123456789'

O status campo indica o estado atual do pedido. Os valores comuns incluem needsApproval, approved, rejectede cancelled. Aguarde até que o estado mude para approved antes de continuar.

Passo 4: submeter novamente com o código de aprovação

Depois de o pedido ser aprovado, volte a submeter o pedido original. Substitua o cabeçalho de justificação pelo x-msft-approval-code cabeçalho e utilize o código de aprovação do Passo 2:

POST https://graph.microsoft.com/beta/deviceManagement/deviceManagementScripts
Content-Type: application/json
x-msft-approval-code: aabb1234-5678-9012-abcd-ef0123456789

{
  "displayName": "My Test Script",
  "description": "Testing MAA with app-only token",
  "scriptContent": "V3JpdGUtT3V0cHV0ICJIZWxsbyBXb3JsZCI=",
  "runAsAccount": "system",
  "fileName": "TestScript.ps1",
  "roleScopeTagIds": ["0"]
}

O pedido é concluído com êxito e o recurso é criado.

Excluir uma aplicação da imposição do MAA

Se não conseguir atualizar imediatamente a aplicação para incluir o fluxo de trabalho de aprovação, pode excluê-la da imposição do MAA na política de acesso. Para configurar uma exclusão, edite a política de acesso da carga de trabalho que a sua aplicação chama e adicione a aplicação no separador Exclusões . Um segundo administrador tem de aprovar a alteração antes que a exclusão entre em vigor.

As exclusões aplicam-se apenas a chamadas de autenticação de aplicações (autenticadas por aplicações) efetuadas pelo principal de serviço excluído. As ações de administração interativas (delegadas) nos mesmos recursos protegidos ainda necessitam da aprovação do MAA.

Para obter mais informações sobre exclusões, incluindo âmbito, limites e considerações de segurança, veja Excluir aplicações empresariais de uma política de acesso.

Monitorizar a atividade do MAA para chamadas de autenticação de aplicações

Os eventos relacionados com o MAA , incluindo aprovar, bloquear, passar, adicionar exclusão e remover exclusão, são registados no registo de auditoria do Intune existente. Utilize o registo de auditoria padrão e a exportação da API do Graph para ver que chamadas de autenticação de aplicação estão a passar pelo MAA e como estão a ser processadas.

Perguntas frequentes

Porque é que os meus scripts de automatização estão a falhar?

Se a automatização chamar o Microsoft Graph e destinar os recursos protegidos por uma política de acesso MAA, essas chamadas são intercetados pelo fluxo de trabalho de aprovação do MAA, independentemente de o script utilizar autenticação delegada ou apenas de aplicação. Atualize os scripts para incluir os cabeçalhos de justificação e aprovação descritos neste artigo. Se o script utilizar tokens apenas de aplicação (fluxo de credenciais de cliente), também pode excluir a aplicação da política de acesso.

O MAA afeta as chamadas à API só de leitura?

Não. O MAA aplica-se apenas a operações que modificam recursos protegidos (POST, PATCH, PUT, DELETE). Os pedidos GET não são afetados.

Uma aplicação pode aprovar os seus próprios pedidos do MAA?

Não. As aplicações não podem aprovar ou rejeitar pedidos do MAA. Uma conta de administrador interativa separada que seja membro do grupo de aprovadores tem de aprovar o pedido no centro de administração do Microsoft Intune.

Como posso verificar se o meu inquilino tem o MAA ativado?

No centro de administração do Microsoft Intune, aceda a Administração> deinquilinos Políticas de Acesso deAprovação> Multidmin. Se existirem políticas de acesso ativas listadas, o MAA está ativado para essas cargas de trabalho.

Posso desativar o MAA para impedir a imposição?

As políticas de acesso do MAA podem ser geridas por administradores com as permissões adequadas. No entanto, a Microsoft recomenda vivamente manter o MAA ativado como uma melhor prática de segurança.