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.
Microsoft Graph API stöder nu Microsoft Intune med specifika API: er och behörighetsroller. Microsoft Graph API använder Microsoft Entra ID för autentisering och åtkomstkontroll. För åtkomst till Intune API:er i Microsoft Graph krävs:
Ett program-ID med:
- Behörighet att anropa Microsoft Entra ID och Microsoft Graph API: er.
- Behörighetsomfattningar som är relevanta för de specifika programuppgifterna.
Användarautentiseringsuppgifter med:
- Behörighet att komma åt den Microsoft Entra klientorganisation som är associerad med programmet.
- Rollbehörigheter som krävs för att stödja programmets behörighetsomfång.
Slutanvändaren ska ge appen behörighet att utföra programuppgifter för sin Azure klientorganisation.
Den här artikeln:
Visar hur du registrerar ett program med åtkomst till Microsoft Graph API och relevanta behörighetsroller.
Beskriver behörighetsrollerna i Intune API.
Innehåller exempel på Intune API-autentisering för C# och PowerShell.
Beskriver hur du har stöd för flera klientorganisationer.
Mer information finns i:
- Auktorisera åtkomst till webbprogram med OAuth 2.0 och Microsoft Entra ID
- Komma igång med Microsoft Entra autentisering
- Integrera program med Microsoft Entra ID
- Förstå OAuth 2.0
Registrera appar för att använda Microsoft Graph API
Så här registrerar du en app för att använda Microsoft Graph API:
Logga in på Microsoft Entra administrationscenter med administrativa autentiseringsuppgifter.
Beroende på vad som är lämpligt kan du använda:
- Klientorganisationens administratörskonto.
- Ett klientanvändarkonto med inställningen Användare kan registrera program aktiverad.
I administrationscentret expanderar du Identitetsprogram> och väljer sedan Appregistreringar.
Välj antingen Ny registrering för att skapa en ny ansökan eller välj en befintlig ansökan. (Om du väljer ett befintligt program hoppar du över nästa steg.)
I fönstret Registrera ett program anger du följande:
Ett namn för programmet (visas när användarna loggar in).
Den kontotyp som stöds.
Ett värde för omdirigerings-URI . Det här värdet är valfritt.
Obs!
Azure AD Graph API är i pensionsfasen. Mer information finns i Uppdatera dina program så de använder Microsofts autentiseringsbibliotek (MSAL) och Microsoft Graph API.
Mer information finns i Autentiseringsscenarier för Microsoft Entra ID.
Välj Registrera för att lägga till ditt nya program.
Genom att välja Registrera godkänner du Microsofts plattformspolicyer.
Från programfönstret för programmet:
Observera värdet för program-ID (klient).
Välj sedan API-behörigheter i navigeringsmenyn.
I fönstret API-behörigheter :
Välj Lägg till en behörighet och välj sedan panelen Microsoft Graph på fliken Microsoft API:er.
Välj alternativet Programbehörigheter för att visa alla tillgängliga behörigheter och välj sedan vilken typ av behörigheter som programmet kräver.
Välj de roller som krävs för din app genom att placera en bockmarkering till vänster om de relevanta namnen. Mer information om specifika Intune behörighetsomfattningar finns i Intune behörighetsomfattningar. Mer information om andra behörighetsomfattningar för Graph API finns i referensen för Microsoft Graph-behörigheter.
För bästa resultat väljer du det minsta antalet roller som behövs för att implementera programmet.
Behörigheter för informationslager och rapportering
När du lägger till ett program via Microsoft Entra administrationscenter kan du välja API-behörigheter för Intune baserat på programmets krav.
- get_data_warehouse – Använd den här API-behörigheten för att bevilja åtkomst till Intune informationslager-API:et från Microsoft Intune. Mer information finns i Använda Microsoft Intune Data Warehouse.
API:er för partnerlösningar
Följande API-behörigheter för Intune är tillgängliga när du lägger till ett program via Microsoft Entra administrationscenter:
- get_device_compliance – Den här API-behörigheten används för att hämta information om enhetstillstånd och efterlevnad från Microsoft Intune. Den här API-behörigheten används av Network Access Control partners. Mer information finns i Nätverksintegration av Access Control med Intune.
- manage_partner_compliance_policy – Den här API-behörigheten används för att hantera partnerefterlevnadsprinciper med Microsoft Intune. Med den här API-behörigheten kan appen skicka partnerefterlevnadsprinciper och dess Microsoft Entra grupptilldelning till Microsoft Intune utan en inloggad användare. Den används av partner för enhetsefterlevnad. Mer information finns i Partner för enhetsefterlevnad från tredje part.
- pfx_cert_provider – Den här API-behörigheten används för att skicka PFX-certifikat till Intune för en specifik användare. Intune levererar certifikatet till alla enheter som registrerats av användaren. Mer information finns i PFX Import Powershell.
- scep_challenge_provider – Den här API-behörigheten används för att skicka SCEP-utmaningar till Intune för validering av certifikatbegäran. Den används av partner för certifikatutfärdare. Mer information finns i Partnercertifikatutfärdare.
- update_device_attributes – Den här API-behörigheten används för att skicka enhetsinformation till Intune från partner för enhetsefterlevnad och skydd mot mobilhot. Mer information finns i Mobile Threat Defense-integrering med Intune och tredjepartspartner för enhetsefterlevnad.
- update_device_health – Den här API-behörigheten används för att skicka information om enhetens hälsotillstånd och hotstatus till Intune från partner för skydd mot mobilhot. Mer information finns i Mobile Threat Defense-integrering med Intune.
Om du är en partner som är intresserad av att integrera med Intune med hjälp av dessa API-behörigheter kontaktar du Microsoft Intelligent Security Association]-teamet för information.
När du är klar väljer du Lägg till behörigheter för att spara ändringarna.
I det här skedet kan du också:
Välj att ge behörighet för alla klientkonton att använda appen utan att ange autentiseringsuppgifter.
Om du vill göra det kan du bevilja behörigheter och acceptera bekräftelsemeddelandet.
När du kör programmet för första gången uppmanas du att ge appen behörighet att utföra de valda rollerna.
Gör appen tillgänglig för användare utanför klientorganisationen. (Detta krävs vanligtvis endast för partner som stöder flera klientorganisationer/organisationer.)
Gör så här:
Välj Manifest i programfönstret.
Ändra värdet
availableToOtherTenantsför inställningen tilltrue.Spara ändringarna.
Appbeskrivning
Om du får en stor mängd data när du begär applistan när du använder Graph API kan du stöta på felet 503 Tjänsten är inte tillgänglig. Vi rekommenderar att du försöker igen med en mindre sidstorlek, till exempel 20 eller färre element.
Intune behörighetsomfattningar
Microsoft Entra ID och Microsoft Graph använder behörighetsomfattningar för att styra åtkomsten till företagsresurser.
Behörighetsomfattningar (kallas även OAuth-omfattningar) styr åtkomsten till specifika Intune entiteter och deras egenskaper. Det här avsnittet sammanfattar behörighetsomfattningarna för Intune API-funktioner.
Mer information finns i:
När du beviljar behörighet till Microsoft Graph kan du ange följande omfång för att styra åtkomsten till Intune funktioner: I följande tabell sammanfattas Intune API-behörighetsomfattningar. Den första kolumnen visar namnet på funktionen som visas i Microsoft Intune administrationscenter och den andra kolumnen innehåller namnet på behörighetsomfattningen.
| Aktivera inställning för Access | Omfattningsnamn |
|---|---|
| Utföra fjärråtgärder som påverkar användaren på Microsoft Intune enheter | DeviceManagementManagedDevices.PrivilegedOperations.All |
| Läsa och skriva Microsoft Intune enheter | DeviceManagementManagedDevices.ReadWrite.All |
| Läsa Microsoft Intune enheter | DeviceManagementManagedDevices.Read.All |
| Läsa och skriva RBAC-inställningar för Microsoft Intune | DeviceManagementRBAC.ReadWrite.All |
| Läs RBAC-inställningar för Microsoft Intune | DeviceManagementRBAC.Read.All |
| Läs Microsoft Intune skript | DeviceManagementScripts.Read.All |
| Läsa och skriva Microsoft Intune skript | DeviceManagementScripts.ReadWrite.All |
| Läsa och skriva Microsoft Intune appar | DeviceManagementApps.ReadWrite.All |
| Läs Microsoft Intune appar | DeviceManagementApps.Read.All |
| Läsa och skriva Enhetskonfiguration och principer för Microsoft Intune | DeviceManagementConfiguration.ReadWrite.All |
| Läs Enhetskonfiguration och principer för Microsoft Intune | DeviceManagementConfiguration.Read.All |
| Läsa och skriva Microsoft Intune konfiguration | DeviceManagementServiceConfig.ReadWrite.All |
| Läs Microsoft Intune konfiguration | DeviceManagementServiceConfig.Read.All |
I tabellen visas inställningarna som de visas i Microsoft Intune administrationscenter. I följande avsnitt beskrivs omfattningarna i alfabetisk ordning.
För närvarande kräver alla Intune behörighetsomfattningar administratörsåtkomst. Det innebär att du behöver motsvarande autentiseringsuppgifter när du kör appar eller skript som har åtkomst till Intune API-resurser.
DeviceManagementApps.Read.All
Inställningen Aktivera åtkomst: Läs Microsoft Intune appar
Tillåter läsbehörighet till följande entitetsegenskaper och status:
- Klientappar
- Kategorier i mobilappar
- Appskyddsprinciper
- Appkonfigurationer
DeviceManagementApps.ReadWrite.All
Inställningen Aktivera åtkomst: Läsa och skriva Microsoft Intune appar
Tillåter samma åtgärder som DeviceManagementApps.Read.All
Tillåter även ändringar av följande entiteter:
- Klientappar
- Kategorier i mobilappar
- Appskyddsprinciper
- Appkonfigurationer
DeviceManagementConfiguration.Read.All
Aktivera åtkomstinställning: Läs Microsoft Intune enhetskonfiguration och principer
Tillåter läsbehörighet till följande entitetsegenskaper och status:
- Enhetskonfiguration
- Policy för enhetsefterlevnad
- Meddelanden
Obs!
Från och med den 31 juli 2025 ersatte Microsoft Graph användningen av behörigheten DeviceManagementConfiguration.Read.All med DeviceManagementScripts.ReadWrite.All för följande API-anrop:
- ~/deviceManagement/deviceShellScripts
- ~/deviceManagement/deviceHealthScripts
- ~/deviceManagement/deviceComplianceScripts
- ~/deviceManagement/deviceCustomAttributeShellScripts
- ~/deviceManagement/deviceManagementScripts
DeviceManagementConfiguration.ReadWrite.All
Aktivera åtkomstinställning: Läsa och skriva Enhetskonfiguration och principer för Microsoft Intune
Tillåter samma åtgärder som DeviceManagementConfiguration.Read.All
Appar kan också skapa, tilldela, ta bort och ändra följande entiteter:
- Enhetskonfiguration
- Policy för enhetsefterlevnad
- Meddelanden
Obs!
Från och med den 31 juli 2025 ersatte Microsoft Graph användningen av behörigheten DeviceManagementConfiguration.ReadWrite.All med DeviceManagementScripts.ReadWrite.All för följande API-anrop:
- ~/deviceManagement/deviceShellScripts
- ~/deviceManagement/deviceHealthScripts
- ~/deviceManagement/deviceComplianceScripts
- ~/deviceManagement/deviceCustomAttributeShellScripts
- ~/deviceManagement/deviceManagementScripts
DeviceManagementManagedDevices.PrivilegedOperations.All
Aktivera åtkomstinställning: Utför fjärråtgärder som påverkar användaren på Microsoft Intune enheter
Tillåter följande fjärråtgärder på en hanterad enhet:
- Pensionera
- Rensa
- Återställ/Återskapa lösenord
- Fjärrlås
- Aktivera/avaktivera förlorat läge
- Rengör dator
- Starta om
- Ta bort användare från delad enhet
DeviceManagementManagedDevices.Read.All
Inställningen Aktivera åtkomst: Läsa Microsoft Intune enheter
Tillåter läsbehörighet till följande entitetsegenskaper och status:
- Hanterad enhet
- Enhetskategori
- Upptäckt app
- Fjärråtgärder
- Information om skadlig programvara
DeviceManagementManagedDevices.ReadWrite.All
Inställningen Aktivera åtkomst: Läsa och skriva Microsoft Intune enheter
Tillåter samma åtgärder som DeviceManagementManagedDevices.Read.All
Appar kan också skapa, ta bort och ändra följande entiteter:
- Hanterad enhet
- Enhetskategori
Följande fjärråtgärder tillåts också:
- Hitta enheter
- Inaktivera aktiveringslås
- Begär fjärrhjälp
DeviceManagementRBAC.Read.All
Aktivera åtkomstinställning: Läs RBAC-inställningar för Microsoft Intune
Tillåter läsbehörighet till följande entitetsegenskaper och status:
- Rolltilldelningar
- Rolldefinitioner
- Resursåtgärder
DeviceManagementRBAC.ReadWrite.All
Aktivera åtkomstinställning: Läsa och skriva RBAC-inställningar för Microsoft Intune
Tillåter samma åtgärder som DeviceManagementRBAC.Read.All
Appar kan också skapa, tilldela, ta bort och ändra följande entiteter:
- Rolltilldelningar
- Rolldefinitioner
DeviceManagementScripts.Read.All
Inställningen Aktivera åtkomst: Läs Microsoft Intune skript
Appar kan visa (läsa) ett skript, särskilt:
- Skript för enhetsgränssnittet
- Skript för enhetshälsa
- Skript för enhetsefterlevnad
- Skript för enhetsanpassat attributgränssnitt
- Skript för enhetshantering
DeviceManagementScripts.ReadWrite.All
Inställningen Aktivera åtkomst: Läs och skriv Microsoft Intune skript
Tillåter samma åtgärder som DeviceManagementScripts.Read.AllAppar kan skapa, uppdatera eller ta bort ett skript, särskilt:
- Skript för enhetsgränssnittet
- Skript för enhetshälsa
- Skript för enhetsefterlevnad
- Skript för enhetsanpassat attributgränssnitt
- Skript för enhetshantering
DeviceManagementServiceConfig.Read.All
Aktivera åtkomstinställning: Läs Microsoft Intune konfiguration
Tillåter läsbehörighet till följande entitetsegenskaper och status:
- Enhetsregistrering
- Apple Push Notification-certifikat
- Apples program för enhetsregistrering
- Apples volymköpsprogram
- Exchange Connector
- Regler och villkor
- Cloud PKI
- Varumärke
- Mobile Threat Defense
DeviceManagementServiceConfig.ReadWrite.All
Inställningen Aktivera åtkomst: Konfiguration av Microsoft Intune för läsning och skrivning
Tillåter samma åtgärder som DeviceManagementServiceConfig.Read.All_
Appar kan också konfigurera följande Intune funktioner:
- Enhetsregistrering
- Apple Push Notification-certifikat
- Apples program för enhetsregistrering
- Apples volymköpsprogram
- Exchange Connector
- Regler och villkor
- Cloud PKI
- Varumärke
- Mobile Threat Defense
Exempel på Microsoft Entra-autentisering
Det här avsnittet visar hur du införlivar Microsoft Entra ID i dina C#- och PowerShell-projekt.
I varje exempel måste du ange ett program-ID som har minst behörighetsomfånget DeviceManagementManagedDevices.Read.All (diskuterades tidigare).
När du testar något av exemplen kan du få HTTP-status 403 (förbjuden) fel som liknar följande:
{
"error": {
"code": "Forbidden",
"message": "Application is not authorized to perform this operation - Operation ID " +
"(for customer support): 00000000-0000-0000-0000-000000000000 - " +
"Activity ID: cc7fa3b3-bb25-420b-bfb2-1498e598ba43 - " +
"Url: https://example.manage.microsoft.com/" +
"Service/Resource/RESTendpoint?" +
"api-version=2017-03-06 - CustomApiErrorPhrase: ",
"innerError": {
"request-id": "00000000-0000-0000-0000-000000000000",
"date": "1980-01-0112:00:00"
}
}
}
Om det händer kontrollerar du att:
Du har uppdaterat program-ID:t till ett som har behörighet att använda Microsoft Graph API och behörighetsomfattningen
DeviceManagementManagedDevices.Read.All.Dina autentiseringsuppgifter för klientorganisationen har stöd för administrativa funktioner.
Koden liknar exemplen som visas.
Autentisera Microsoft Entra ID i C#
Det här exemplet visar hur du använder C# för att hämta en lista över enheter som är associerade med ditt Intune konto.
Obs!
Azure AD Graph API är i pensionsfasen. Mer information finns i Uppdatera dina program så de använder Microsofts autentiseringsbibliotek (MSAL) och Microsoft Graph API.
Starta Visual Studio och skapa sedan ett nytt Visual C#-konsolappprojekt (.NET Framework).
Ange ett namn för projektet och ange annan information efter behov.
Använd Prieskumník riešení för att lägga till Microsoft MSAL NuGet-paketet i projektet:
- Högerklicka på Prieskumník riešení.
- Välj Hantera NuGet-paket...>Bläddra.
- Markera
Microsoft.Identity.Clientoch välj sedan Installera.
Lägg till följande uttryck överst i Program.cs:
using Microsoft.Identity.Client; using System.Net.Http;Lägg till en metod för att skapa auktoriseringshuvudet:
private static async Task<string> GetAuthorizationHeader() { string applicationId = "<Your Application ID>"; string authority = "https://login.microsoftonline.com/common/"; Uri redirectUri = new Uri("urn:ietf:wg:oauth:2.0:oob"); AuthenticationContext context = new AuthenticationContext(authority); AuthenticationResult result = await context.AcquireTokenAsync( "https://graph.microsoft.com", applicationId, redirectUri, new PlatformParameters(PromptBehavior.Auto)); return result.CreateAuthorizationHeader();Kom ihåg att ändra värdet
application_IDför för att matcha ett objekt som beviljats minst behörighetsomfattningenDeviceManagementManagedDevices.Read.All, enligt beskrivningen ovan.Lägg till en metod för att hämta listan över enheter:
private static async Task<string> GetMyManagedDevices() { string authHeader = await GetAuthorizationHeader(); HttpClient graphClient = new HttpClient(); graphClient.DefaultRequestHeaders.Add("Authorization", authHeader); return await graphClient.GetStringAsync( "https://graph.microsoft.com/beta/me/managedDevices"); }Uppdatera Main för att anropa GetMyManagedDevices:
string devices = GetMyManagedDevices().GetAwaiter().GetResult(); Console.WriteLine(devices);Kompilera och kör programmet.
När du först kör programmet bör du få två uppmaningar. Den första begär åtkomst till dina autentiseringsuppgifter och den andra beviljar behörighet för begäran managedDevices .
Som referens kommer här det färdiga programmet:
using Microsoft.Identity.Client;
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace IntuneGraphExample
{
class Program
{
static void Main(string[] args)
{
string devices = GetMyManagedDevices().GetAwaiter().GetResult();
Console.WriteLine(devices);
}
private static async Task<string> GetAuthorizationHeader()
{
string applicationId = "<Your Application ID>";
string authority = "https://login.microsoftonline.com/common/";
Uri redirectUri = new Uri("urn:ietf:wg:oauth:2.0:oob");
AuthenticationContext context = new AuthenticationContext(authority);
AuthenticationResult result = await context.AcquireTokenAsync("https://graph.microsoft.com", applicationId, redirectUri, new PlatformParameters(PromptBehavior.Auto));
return result.CreateAuthorizationHeader();
}
private static async Task<string> GetMyManagedDevices()
{
string authHeader = await GetAuthorizationHeader();
HttpClient graphClient = new HttpClient();
graphClient.DefaultRequestHeaders.Add("Authorization", authHeader);
return await graphClient.GetStringAsync("https://graph.microsoft.com/beta/me/managedDevices");
}
}
}
Autentisera Microsoft Entra ID med Microsoft Graph PowerShell
PowerShell-skript kan använda Microsoft Graph PowerShell-modulen för autentisering. Mer information finns i Microsoft Graph PowerShell och Intune PowerShell-exemplen.
Stöd flera klientorganisationer och partners
Om din organisation stöder organisationer med egna Microsoft Entra -klienter kanske du vill tillåta dina klienter att använda ditt program med sina respektive klienter.
Gör så här:
Kontrollera att klientkontot finns i Microsoft Entra -målklientorganisationen.
Kontrollera att ditt klientkonto tillåter användare att registrera program (se Användarinställningar).
Upprätta en relation mellan varje klientorganisation.
Gör något av följande:
a. Använd Microsoft Partner Center för att definiera en relation med klienten och deras e-postadress.
b. Bjud in användaren att bli gäst hos din klientorganisation.
Så här bjuder du in användaren som gäst hos klientorganisationen:
Välj Lägg till en gästanvändare på snabbaktivitetspanelen .
Ange kundens e-postadress och lägg (valfritt) till ett personligt meddelande för inbjudan.
Välj Bjud in.
Då skickas en inbjudan till användaren.
Användaren måste välja länken Kom igång för att acceptera inbjudan.
När relationen är upprättad (eller din inbjudan har accepterats) lägger du till användarkontot i katalogrollen.
Kom ihåg att lägga till användaren i andra roller efter behov. För att användaren till exempel ska kunna hantera Intune inställningar måste de vara minst en Intune tjänstadministratör.
Gör även följande:
Använd https://admin.microsoft.com för att tilldela en Intune licens till ditt användarkonto.
Uppdatera programkoden för att autentisera till klientens Microsoft Entra klientdomän i stället för din egen.
Anta till exempel att klientorganisationens domän är
contosopartner.onmicrosoft.comoch klientens klientdomän ärnorthwind.onmicrosoft.comoch att du uppdaterar koden så att den autentiseras för klientens klientorganisation.Om du vill göra det i ett C#-program baserat på det tidigare exemplet ändrar du värdet för variabeln
authority:string authority = "https://login.microsoftonline.com/common/";till
string authority = "https://login.microsoftonline.com/northwind.onmicrosoft.com/";