Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Multi Admin Approval (MAA) framtvingar godkännandearbetsflöden för programautentiserade (app-auth) API-anrop som görs via Microsoft Graph API. Om din organisation använder tjänstens huvudnamn, automatiseringsskript eller program från tredje part för att hantera Intune resurser fångas dessa samtal upp av MAA när målresursen skyddas av en åtkomstprincip.
I den här artikeln förklarar vi hur du uppdaterar automatiseringen så att den fungerar med arbetsflödet för MAA-godkännande och hur du undantar specifika program från tillämpning när en kodändring inte är omedelbart möjlig.
Viktigt
MAA är opt-in per arbetsbelastning för varje klientorganisation. Den här tillämpningen gäller endast för klienter som har konfigurerade MAA-åtkomstprinciper. Det aktiverar inte automatiskt MAA eller ändrar vilka klienter som har MAA. Mer information om hur du konfigurerar åtkomstprinciper finns i Använda åtkomstprinciper för att kräva godkännande från flera administratörer.
Vad ändras för app-auth-anrop?
Tidigare var det bara interaktiva (delegerade) administratörsåtgärder som omfattades av MAA-godkännandearbetsflöden. Med den här ändringen fångas automatiserade och skriptbaserade anrop som använder app-only-token också upp av MAA när målresursen skyddas av en åtkomstprincip.
Om ditt program gör API-anrop till MAA-skyddade resurser med app-auth och inte innehåller de nödvändiga godkännandehuvudena returnerar anropet ett HTTP 400-fel. Svarstexten anger att åtgärden kräver godkännande av flera Admin.
Resurstyper som påverkas
MAA-åtkomstprinciper kan skydda följande resurstyper. Om dina app-auth-anrop riktar sig mot någon av dessa resurser och en åtkomstprincip är aktiv påverkas automatiseringen:
- Appar
- Kompatibilitetsprinciper
- Konfigurationsprinciper
- Enhetsåtgärder
- Rollbaserad åtkomstkontroll
- Skript
- Konfiguration av klientorganisation
MAA gäller endast för åtgärder som ändrar skyddade resurser (POST, PATCH, PUT, DELETE). Skrivskyddade åtgärder (GET) påverkas inte.
Förhandskrav
- En appregistrering med de Microsoft Graph-programbehörigheter som krävs för de Intune resurser som din app hanterar (till exempel
DeviceManagementApps.ReadWrite.All). - MAA-åtkomstprinciper som konfigurerats för relevanta arbetsbelastningar. Mer information finns i Skapa en åtkomstprincip.
- Ett separat administratörskonto som är medlem i godkännargruppen för åtkomstprincipen. Program kan inte godkänna eller avvisa MAA-begäranden – endast interaktiva administratörskonton kan godkänna begäranden.
Steg 1: Skicka en begäran med ett justeringshuvud
När MAA är aktiverat inkluderar du ett justeringshuvud med din begäran. Rubrikvärdet x-msft-approval-justification måste vara Base64-kodat.
I följande exempel skapas en PowerShell-skriptresurs i Intune och innehåller det nödvändiga justeringshuvudet:
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"]
}
Tips
Värdet x-msft-approval-justification är Base64-kodat. Avkodar YXBwIG9ubHkgdGVzdA== till exempel till app only test. Koda din egen justeringssträng innan du skickar.
Utan justeringshuvudet misslyckas begäran med ett fel som anger att huvudet x-msft-approval-justification krävs.
Steg 2: Hantera svaret på godkännande
Begäran returnerar HTTP 412 (Precondition Failed) med den yttre Microsoft Graph-felkoden BadRequest. Det här svaret är förväntat och tyder inte på något behörighetsproblem – det är så MAA signalerar att begäran togs emot och nu väntar på godkännande. Den information som krävs för godkännande är kapslad i felmeddelandet.
Svaret innehåller en x-msft-approval-code rubrik som du behöver för de återstående stegen. Använd förekomsten av det här huvudet tillsammans med HTTP 412 som signal om att MAA accepterade begäran och skapade en begäran om godkännande.
Exempel på svar:
HTTP/1.1 412 Precondition Failed
x-msft-approval-code: aabb1234-5678-9012-abcd-ef0123456789
Content-Type: application/json
{
"error": {
"code": "BadRequest",
"message": "{\r\n \"_version\": 3,\r\n \"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 - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: <activity-id> - Url: <service-url>\",\r\n \"CustomApiErrorPhrase\": \"\",\r\n \"RetryAfter\": null,\r\n \"ErrorSourceService\": \"\",\r\n \"HttpHeaders\": \"{\\\"x-msft-approval-code\\\":\\\"aabb1234-5678-9012-abcd-ef0123456789\\\"}\"\r\n}"
}
}
Extrahera x-msft-approval-code värdet från svaret. Spara den ursprungliga HTTP-metoden, URL:en och begärandetexten med det här värdet eftersom du måste skicka samma begäran igen i steg 4 efter godkännandet.
Steg 3: Vänta på godkännande
I det här läget måste godkännandebegäran granskas och godkännas av en annan administratör i Microsoft Intune administrationscenter. Program kan inte godkänna eller avvisa MAA-begäranden – endast interaktiva administratörskonton kan godkänna dem.
Du kan fråga efter status för godkännandebegäran när som helst med hjälp av godkännandekoden:
GET https://graph.microsoft.com/beta/deviceManagement/operationApprovalRequests?$filter=requestId eq 'aabb1234-5678-9012-abcd-ef0123456789'
Fältet status anger aktuell status för begäran. Vanliga värden är needsApproval, approved, rejected, och cancelled. Vänta tills statusen ändras till approved innan du fortsätter.
Steg 4: Skicka in igen med godkännandekoden
När begäran har godkänts skickar du in den ursprungliga begäran på nytt. Byt ut justeringshuvudet mot x-msft-approval-code rubriken och använd godkännandekoden från steg 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"]
}
Begäran slutförs och resursen skapas.
Undanta ett program från MAA-tillämpning
Om du inte omedelbart kan uppdatera programmet så att det inkluderar arbetsflödet för godkännande kan du undanta det från MAA-tillämpning i åtkomstprincipen. Om du vill konfigurera ett undantag redigerar du åtkomstprincipen för den arbetsbelastning som appen anropar och lägger till programmet på fliken Undantag . En andra administratör måste godkänna ändringarna innan undantaget börjar gälla.
Undantag gäller endast för app-auth-anrop (programautentiserade) som görs av den undantagna tjänstens huvudnamn. Interaktiva (delegerade) administratörsåtgärder för samma skyddade resurser kräver fortfarande MAA-godkännande.
Mer information om undantag, inklusive omfång, gränser och säkerhetsöverväganden, finns i Skapa en åtkomstprincip.
Övervaka MAA-aktivitet för app-auth-anrop
MAA-relaterade händelser – inklusive godkänna, blockera, passera, lägga till undantag och ta bort undantag – registreras i den befintliga Intune granskningsloggen. Använd standardgranskningsloggen och Graph API-exporten för att se vilka app-auth-anrop som går genom MAA och hur de hanteras.
Vanliga frågor och svar
Varför fungerar inte mina automatiseringsskript?
Om automatiseringen anropar Microsoft Graph och riktar in sig på resurser som skyddas av en MAA-åtkomstprincip, fångas dessa anrop upp av MAA-godkännandearbetsflödet oavsett om skriptet använder delegerad eller appspecifik autentisering. Uppdatera skripten så att de innehåller rubrikerna för justering och godkännande som beskrivs i den här artikeln. Om skriptet använder app-only-token (flöde för klientautentiseringsuppgifter) kan du också undanta programmet från åtkomstprincipen.
Påverkar MAA skrivskyddade API-anrop?
Nej. MAA gäller endast för åtgärder som ändrar skyddade resurser (POST, PATCH, PUT, DELETE). GET-begäranden påverkas inte.
Kan en ansökan godkänna sina egna MAA-förfrågningar?
Nej. Program kan inte godkänna eller avvisa MAA-begäranden. Ett separat interaktivt administratörskonto som ingår i godkännargruppen måste godkänna begäran i administrationscentret för Microsoft Intune.
Hur gör jag för att kontrollera om min klientorganisation har MAA aktiverat?
I administrationscentret för Microsoft Intune går du till Principer för åtkomst> till klientorganisationför godkännande av flera administratörer>. Om det finns aktiva åtkomstprinciper listade är MAA aktiverat för dessa arbetsbelastningar.
Kan jag inaktivera MAA för att stoppa disciplinära åtgärder?
MAA-åtkomstprinciper kan hanteras av administratörer med rätt behörigheter. Microsoft rekommenderar dock att behålla MAA aktiverat som en säkerhetsmetod.