Usare l'approvazione multi Amministrazione con microsoft API Graph

L'approvazione multi Amministrazione (MAA) applica i flussi di lavoro di approvazione alle chiamate API autenticate dall'applicazione (autenticazione dell'app) eseguite tramite microsoft API Graph. Se l'organizzazione usa entità servizio, script di automazione o applicazioni di terze parti per gestire le risorse Intune, tali chiamate vengono intercettate da MAA quando la risorsa di destinazione è protetta da criteri di accesso.

Questo articolo illustra come aggiornare l'automazione in modo che funzioni con il flusso di lavoro di approvazione MAA e come escludere applicazioni specifiche dall'imposizione quando una modifica del codice non è immediatamente fattibile.

Importante

MAA è consenso esplicito per ogni carico di lavoro per ogni tenant. Questa imposizione si applica solo ai tenant con criteri di accesso MAA configurati. Non abilita automaticamente MAA o modifica i tenant con MAA. Per altre informazioni sulla configurazione dei criteri di accesso, vedere Usare i criteri di accesso per richiedere l'approvazione multiamministratore.

Modifiche per le chiamate di autenticazione dell'app

In precedenza, solo le azioni di amministratore interattive (delegate) erano soggette ai flussi di lavoro di approvazione MAA. Con questa modifica, anche le chiamate automatizzate e con script che usano token solo app vengono intercettate da MAA quando la risorsa di destinazione è protetta da criteri di accesso.

Se l'applicazione effettua chiamate API a risorse protette da MAA usando l'autenticazione dell'app e non include le intestazioni di approvazione necessarie, la chiamata restituisce un errore HTTP 403. Il corpo della risposta indica che l'operazione richiede l'approvazione multi Amministrazione.

Tipi di risorse interessati

I criteri di accesso MAA possono proteggere i tipi di risorse seguenti. Se le chiamate di autenticazione dell'app sono destinate a una qualsiasi di queste risorse e un criterio di accesso è attivo, l'automazione è interessata:

  • App
  • Criteri di conformità
  • Criteri di configurazione
  • Azioni del dispositivo
  • Controllo dell'accesso basato sui ruoli
  • Script
  • Configurazione del tenant

MAA si applica solo alle operazioni che modificano le risorse protette (POST, PATCH, PUT, DELETE). Le operazioni di sola lettura (GET) non sono interessate.

Prerequisiti

  • Registrazione di un'app con le autorizzazioni dell'applicazione Microsoft Graph necessarie per le risorse Intune gestite dall'app, DeviceManagementApps.ReadWrite.Allad esempio .
  • Criteri di accesso MAA configurati per i carichi di lavoro pertinenti. Per altre informazioni, vedere Creare un criterio di accesso.
  • Un account amministratore separato membro del gruppo responsabile approvazione per i criteri di accesso. Le applicazioni non possono approvare o rifiutare le richieste MAA. Solo gli account amministratore interattivi possono approvare le richieste.

Passaggio 1: Inviare una richiesta con un'intestazione di giustificazione

Quando MAA è abilitato, includere un'intestazione di giustificazione con la richiesta. Il valore dell'intestazione x-msft-approval-justification deve essere con codifica Base64.

Nell'esempio seguente viene creata una risorsa script di PowerShell in Intune e viene inclusa l'intestazione della giustificazione necessaria:

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"]
}

Consiglio

Il x-msft-approval-justification valore è con codifica Base64. Ad esempio, YXBwIG9ubHkgdGVzdA== decodifica in app only test. Codificare la propria stringa di giustificazione prima dell'invio.

Senza l'intestazione della giustificazione, la richiesta ha esito negativo e viene visualizzato un errore che indica che l'intestazione x-msft-approval-justification è obbligatoria.

Passaggio 2: Gestire la risposta di approvazione

La richiesta restituisce un errore HTTP 403 con un codice di ApprovalRequired errore. Questa risposta 403 è prevista e non indica un problema di autorizzazioni: è il modo in cui MAA segnala che la richiesta è stata ricevuta e ora è in attesa di approvazione. La risposta include un'intestazione x-msft-approval-code necessaria per i passaggi rimanenti.

Risposta di esempio:

{
  "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"
  }
}

Estrarre il x-msft-approval-code valore dalla risposta. È necessario nel passaggio 4 dopo l'approvazione della richiesta.

Passaggio 3: Attendere l'approvazione

A questo punto, la richiesta di approvazione deve essere esaminata e approvata da un altro amministratore nell'interfaccia di amministrazione Microsoft Intune. Le applicazioni non possono approvare o rifiutare le richieste MAA, ma solo gli account amministratore interattivi possono approvarle.

È possibile eseguire query sullo stato della richiesta di approvazione in qualsiasi momento usando il codice di approvazione:

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

Il status campo indica lo stato corrente della richiesta. I valori comuni includono needsApproval, approved, rejectede cancelled. Attendere che lo stato venga modificato in approved prima di procedere.

Passaggio 4: Inviare di nuovo con il codice di approvazione

Dopo l'approvazione della richiesta, inviare di nuovo la richiesta originale. Sostituire l'intestazione della giustificazione con l'intestazione x-msft-approval-code e usare il codice di approvazione del passaggio 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"]
}

La richiesta viene completata correttamente e la risorsa viene creata.

Escludere un'applicazione dall'applicazione MAA

Se non è possibile aggiornare immediatamente l'applicazione per includere il flusso di lavoro di approvazione, è possibile escluderla dall'applicazione MAA nei criteri di accesso. Per configurare un'esclusione, modificare i criteri di accesso per il carico di lavoro chiamato dall'app e aggiungere l'applicazione nella scheda Esclusioni . Un secondo amministratore deve approvare la modifica prima che l'esclusione abbia effetto.

Le esclusioni si applicano solo alle chiamate di autenticazione dell'app (autenticate dall'applicazione) eseguite dall'entità servizio esclusa. Le azioni di amministratore interattive (delegate) sulle stesse risorse protette richiedono ancora l'approvazione MAA.

Per altre informazioni sulle esclusioni, tra cui ambito, limiti e considerazioni sulla sicurezza, vedere Creare criteri di accesso.

Monitorare l'attività MAA per le chiamate di autenticazione dell'app

Gli eventi correlati a MAA, tra cui approvazione, blocco, passaggio, esclusione e rimozione dell'esclusione, vengono registrati nel log di controllo Intune esistente. Usare il log di controllo standard e API Graph l'esportazione per vedere quali chiamate di autenticazione dell'app stanno passando tramite MAA e come vengono gestite.

Domande frequenti

Perché gli script di automazione hanno esito negativo?

Se l'automazione chiama Microsoft Graph e fa riferimento a risorse protette da criteri di accesso MAA, tali chiamate vengono intercettate dal flusso di lavoro di approvazione MAA indipendentemente dal fatto che lo script usi l'autenticazione delegata o solo app. Aggiornare gli script per includere le intestazioni di giustificazione e approvazione descritte in questo articolo. Se lo script usa token solo app (flusso di credenziali client), è anche possibile escludere l'applicazione dai criteri di accesso.

MAA influisce sulle chiamate API di sola lettura?

No. MAA si applica solo alle operazioni che modificano le risorse protette (POST, PATCH, PUT, DELETE). Le richieste GET non sono interessate.

Un'applicazione può approvare le proprie richieste MAA?

No. Le applicazioni non possono approvare o rifiutare le richieste MAA. Un account amministratore interattivo separato membro del gruppo responsabile approvazione deve approvare la richiesta nell'interfaccia di amministrazione Microsoft Intune.

Ricerca per categorie verificare se il tenant ha maa abilitato?

Nell'interfaccia di amministrazione Microsoft Intune passare a Amministrazione tenantCriteri diaccesso > multi Amministrazione approvazione>. Se sono elencati criteri di accesso attivi, MAA è abilitato per tali carichi di lavoro.

È possibile disattivare MAA per arrestare l'imposizione?

I criteri di accesso MAA possono essere gestiti dagli amministratori con le autorizzazioni appropriate. Tuttavia, Microsoft consiglia vivamente di mantenere maa abilitato come procedura consigliata per la sicurezza.