Microsoft Entra ID gebruiken voor toegang tot de Intune-API's in Microsoft Graph

Microsoft Graph API ondersteunt nu Microsoft Intune met specifieke API's en machtigingsrollen. De Microsoft Graph API maakt gebruik van Microsoft Entra ID voor verificatie en toegangsbeheer.
Voor toegang tot de Intune-API's in Microsoft Graph is het volgende vereist:

  • Een toepassings-id met:

    • Machtiging om Microsoft Entra ID en de Microsoft Graph API's aan te roepen.
    • Machtigingsbereiken die relevant zijn voor de specifieke toepassingstaken.
  • Gebruikersreferenties met:

    • Machtiging voor toegang tot de Microsoft Entra tenant die is gekoppeld aan de toepassing.
    • Rolmachtigingen die vereist zijn voor de ondersteuning van de toepassingsmachtigingsbereiken.
  • De eindgebruiker kan de app toestemming geven om toepassingstaken uit te voeren voor hun Azure-tenant.

Dit artikel:

  • Laat zien hoe u een toepassing registreert met toegang tot de Microsoft Graph API en relevante machtigingsrollen.

  • Beschrijft de Intune API-machtigingsrollen.

  • Biedt Intune API-verificatievoorbeelden voor C# en PowerShell.

  • Hierin wordt beschreven hoe u meerdere tenants kunt ondersteunen.

Hier vindt u meer informatie:

Apps registreren voor het gebruik van de Microsoft Graph API

Een app registreren voor het gebruik van Microsoft Graph API:

  1. Meld u aan bij het Microsoft Intune-beheercentrum met beheerdersreferenties.

    Indien van toepassing kunt u het volgende gebruiken:

    • Het tenantbeheerdersaccount.
    • Een tenantgebruikersaccount met de instelling Gebruikers kunnen toepassingen registreren ingeschakeld.
  2. Selecteer Alle services>M365 Microsoft Entra ID>Microsoft Entra ID>App-registraties.

    De App-registraties menuopdracht
  3. Kies Nieuwe registratie om een nieuwe toepassing te maken of kies een bestaande toepassing. (Als u een bestaande toepassing kiest, slaat u de volgende stap over.)

  4. Geef in het deelvenster Een toepassing registreren het volgende op:

  5. Vanuit het toepassingsvenster:

    1. Noteer de waarde van de toepassings-id (client).

    2. Selecteer API-machtigingen.

  6. Kies in het deelvenster API-machtigingende optie Een machtiging> toevoegenMicrosoft API's>Microsoft Graph. Selecteer vervolgens het type machtigingen dat voor uw toepassing is vereist.

    Kies de vereiste rollen voor uw app door links van de relevante namen een vinkje te plaatsen. Zie Intune-machtigingsbereiken voor meer informatie over specifieke Intune-machtigingsbereiken. Zie Microsoft Graph-machtigingsreferentie voor meer informatie over andere Graph API machtigingsbereiken.

    Kies voor de beste resultaten de minste rollen die nodig zijn om uw toepassing te implementeren.

Machtigingen voor datawarehouse en rapportage

Wanneer u een toepassing toevoegt via de Microsoft Entra-beheercentrum, kunt u de Intune-API-machtigingen kiezen op basis van de vereisten van uw toepassing.

Partneroplossing-API's

De volgende Intune API-machtigingen zijn beschikbaar wanneer u een toepassing toevoegt via de Microsoft Entra-beheercentrum:

  • get_device_compliance: deze API-machtiging wordt gebruikt om informatie over de apparaatstatus en naleving op te halen uit Microsoft Intune. Deze API-machtiging wordt gebruikt door network Access Control partners. Zie Integratie van netwerk Access Control met Intune voor meer informatie.
  • manage_partner_compliance_policy: deze API-machtiging wordt gebruikt voor het beheren van partnernalevingsbeleid met Microsoft Intune. Met deze API-machtiging kan de app partnernalevingsbeleid en de bijbehorende Microsoft Entra groepstoewijzing verzenden naar Microsoft Intune zonder een aangemelde gebruiker. Het wordt gebruikt door partners voor apparaatnaleving. Zie Externe apparaatnalevingspartners voor meer informatie.
  • pfx_cert_provider : deze API-machtiging wordt gebruikt om PFX-certificaten naar Intune te verzenden voor een specifieke gebruiker. Intune levert het certificaat aan alle apparaten die door de gebruiker zijn ingeschreven. Zie PFX Import Powershell voor meer informatie.
  • scep_challenge_provider : deze API-machtiging wordt gebruikt om SCEP-uitdagingen naar Intune te verzenden voor validatie van certificaataanvragen. Het wordt gebruikt door partners van de certificeringsinstantie. Zie Partnercertificeringsinstantie voor meer informatie.
  • update_device_attributes : deze API-machtiging wordt gebruikt om apparaatgegevens naar Intune te verzenden vanuit partners voor apparaatnaleving en mobile threat defense. Zie Mobile Threat Defense-integratie met Intune en externe apparaatnalevingspartners voor meer informatie.
  • update_device_health : deze API-machtiging wordt gebruikt om informatie over de status en bedreigingsstatus van apparaten naar Intune te verzenden vanuit mobile threat defense-partners. Zie Mobile Threat Defense-integratie met Intune voor meer informatie.

Als u een partner bent die geïnteresseerd is in integratie met Intune met behulp van deze API-machtigingen, neemt u contact op met het Microsoft Intelligent Security Association]-team voor informatie.

Wanneer u klaar bent, kiest u Machtigingen toevoegen om uw wijzigingen op te slaan.

Op dit moment kunt u ook het volgende doen:

  • Kies ervoor om alle tenantaccounts toestemming te geven om de app te gebruiken zonder referenties op te geven.

    Hiervoor kunt u machtigingen verlenen en de bevestigingsprompt accepteren.

    Wanneer u de toepassing voor de eerste keer uitvoert, wordt u gevraagd de app toestemming te geven om de geselecteerde rollen uit te voeren.

  • Maak de app beschikbaar voor gebruikers buiten uw tenant. (Dit is doorgaans alleen vereist voor partners die meerdere tenants/organisaties ondersteunen.)

    U gaat hiervoor als volgt te werk:

    1. Kies Manifest in het toepassingsvenster.

      De blade Manifest bewerken
    2. Wijzig de waarde van de availableToOtherTenants instelling in true.

    3. Sla uw wijzigingen op.

App-vermelding

Als u een grote hoeveelheid gegevens ontvangt tijdens het aanvragen van uw app-vermelding wanneer u Graph API gebruikt, kan de fout 503 Service niet beschikbaar zijn. We raden u aan het opnieuw te proberen met een kleiner paginaformaat, zoals 20 of minder elementen.

Intune-machtigingsbereiken

Microsoft Entra ID en Microsoft Graph gebruiken machtigingsbereiken om de toegang tot bedrijfsresources te beheren.

Machtigingsbereiken (ook wel OAuth-bereiken genoemd) beheren de toegang tot specifieke Intune-entiteiten en hun eigenschappen. In deze sectie vindt u een overzicht van de machtigingsbereiken voor Intune API-functies.

Voor meer informatie:

Wanneer u toestemming verleent aan Microsoft Graph, kunt u de volgende bereiken opgeven om de toegang tot Intune-functies te beheren: de volgende tabel bevat een overzicht van de Intune API-machtigingsbereiken. De eerste kolom bevat de naam van de functie zoals weergegeven in het Microsoft Intune beheercentrum en de tweede kolom bevat de naam van het machtigingsbereik.

Toegangsinstelling inschakelen Bereiknaam
Externe acties uitvoeren die invloed hebben op gebruikers op Microsoft Intune-apparaten DeviceManagementManagedDevices.PrivilegedOperations.All
Microsoft Intune-apparaten lezen en schrijven DeviceManagementManagedDevices.ReadWrite.All
Microsoft Intune-apparaten lezen DeviceManagementManagedDevices.Read.All
RBAC-instellingen lezen en schrijven Microsoft Intune DeviceManagementRBAC.ReadWrite.All
RBAC-instellingen Microsoft Intune lezen DeviceManagementRBAC.Read.All
Apps lezen en schrijven Microsoft Intune DeviceManagementApps.ReadWrite.All
Microsoft Intune-apps lezen DeviceManagementApps.Read.All
Lezen en schrijven Microsoft Intune apparaatconfiguratie en -beleid DeviceManagementConfiguration.ReadWrite.All
Apparaatconfiguratie en -beleid Microsoft Intune lezen DeviceManagementConfiguration.Read.All
Configuratie Microsoft Intune lezen en schrijven DeviceManagementServiceConfig.ReadWrite.All
Configuratie Microsoft Intune lezen DeviceManagementServiceConfig.Read.All

De tabel bevat de instellingen zoals deze worden weergegeven in het Microsoft Intune-beheercentrum. In de volgende secties worden de bereiken in alfabetische volgorde beschreven.

Op dit moment is voor alle Intune-machtigingsbereiken beheerderstoegang vereist. Dit betekent dat u overeenkomstige referenties nodig hebt bij het uitvoeren van apps of scripts die toegang hebben tot Intune API-resources.

DeviceManagementApps.Read.All

  • Instelling Toegang inschakelen: Microsoft Intune-apps lezen

  • Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:

    • Client-apps
    • Categorieën voor mobiele apps
    • App-beveiligingsbeleid
    • App-configuraties

DeviceManagementApps.ReadWrite.All

  • Instelling Toegang inschakelen: Lezen en schrijven Microsoft Intune apps

  • Staat dezelfde bewerkingen toe als DeviceManagementApps.Read.All

  • Hiermee kunnen ook wijzigingen worden aangebracht in de volgende entiteiten:

    • Client-apps
    • Categorieën voor mobiele apps
    • App-beveiligingsbeleid
    • App-configuraties

DeviceManagementConfiguration.Read.All

  • Instelling Toegang inschakelen: configuratie en beleidsregels Microsoft Intune apparaat lezen

  • Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:

    • Apparaatconfiguratie
    • Nalevingsbeleid voor apparaten
    • Meldingsberichten

DeviceManagementConfiguration.ReadWrite.All

  • Instelling Voor toegang inschakelen: configuratie en beleidsregels voor lezen en schrijven Microsoft Intune apparaat

  • Staat dezelfde bewerkingen toe als DeviceManagementConfiguration.Read.All

  • Apps kunnen ook de volgende entiteiten maken, toewijzen, verwijderen en wijzigen:

    • Apparaatconfiguratie
    • Nalevingsbeleid voor apparaten
    • Meldingsberichten

DeviceManagementManagedDevices.PrivilegedOperations.All

  • Instelling Toegang inschakelen: externe acties uitvoeren die invloed hebben op gebruikers op Microsoft Intune apparaten

  • Hiermee kunnen de volgende externe acties worden uitgevoerd op een beheerd apparaat:

    • Buiten gebruik stellen
    • Wissen
    • Wachtwoordcode opnieuw instellen/herstellen
    • Extern vergrendelen
    • Modus Verloren in-/uitschakelen
    • Pc opschonen
    • Opnieuw opstarten
    • Gebruiker verwijderen van gedeeld apparaat

DeviceManagementManagedDevices.Read.All

  • Toegangsinstelling inschakelen: Microsoft Intune-apparaten lezen

  • Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:

    • Beheerd apparaat
    • Apparaatcategorie
    • Gedetecteerde app
    • Externe acties
    • Malware-informatie

DeviceManagementManagedDevices.ReadWrite.All

  • Toegangsinstelling inschakelen: Lezen en schrijven Microsoft Intune apparaten

  • Staat dezelfde bewerkingen toe als DeviceManagementManagedDevices.Read.All

  • Apps kunnen ook de volgende entiteiten maken, verwijderen en wijzigen:

    • Beheerd apparaat
    • Apparaatcategorie
  • De volgende externe acties zijn ook toegestaan:

    • Apparaten zoeken
    • Activeringsvergrendeling uitschakelen
    • Hulp op afstand aanvragen

DeviceManagementRBAC.Read.All

  • Instelling Toegang inschakelen: RBAC-instellingen Microsoft Intune lezen

  • Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:

    • Roltoewijzingen
    • Roldefinities
    • Resourcebewerkingen

DeviceManagementRBAC.ReadWrite.All

  • Toegangsinstelling inschakelen: Lezen en schrijven Microsoft Intune RBAC-instellingen

  • Staat dezelfde bewerkingen toe als DeviceManagementRBAC.Read.All

  • Apps kunnen ook de volgende entiteiten maken, toewijzen, verwijderen en wijzigen:

    • Roltoewijzingen
    • Roldefinities

DeviceManagementServiceConfig.Read.All

  • Toegangsinstelling inschakelen: configuratie Microsoft Intune lezen

  • Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:

    • Apparaatinschrijving
    • Apple Push Notification Certificate
    • Apple Device Enrollment Program
    • Apple Volume Purchase Program
    • Exchange Connector
    • Voorwaarden
    • Cloud PKI
    • Branding
    • Verdediging tegen mobiele dreigingen

DeviceManagementServiceConfig.ReadWrite.All

  • Toegangsinstelling inschakelen: configuratie voor lezen en schrijven Microsoft Intune

  • Staat dezelfde bewerkingen toe als DeviceManagementServiceConfig.Read.All_

  • Apps kunnen ook de volgende Intune-functies configureren:

    • Apparaatinschrijving
    • Apple Push Notification Certificate
    • Apple Device Enrollment Program
    • Apple Volume Purchase Program
    • Exchange Connector
    • Voorwaarden
    • Cloud PKI
    • Branding
    • Verdediging tegen mobiele dreigingen

Microsoft Entra verificatievoorbeelden

In deze sectie wordt beschreven hoe u Microsoft Entra ID kunt opnemen in uw C#- en PowerShell-projecten.

In elk voorbeeld moet u een toepassings-id opgeven die ten minste het DeviceManagementManagedDevices.Read.All machtigingsbereik heeft (eerder besproken).

Wanneer u een van beide voorbeelden test, ontvangt u mogelijk HTTP-status 403 -fouten (verboden) die vergelijkbaar zijn met het volgende:

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

Als dit gebeurt, controleert u of:

  • U hebt de toepassings-id bijgewerkt naar een id die is geautoriseerd voor het gebruik van de Microsoft-Graph API en het DeviceManagementManagedDevices.Read.All machtigingsbereik.

  • Uw tenantreferenties ondersteunen beheerfuncties.

  • Uw code is vergelijkbaar met de weergegeven voorbeelden.

Microsoft Entra ID verifiëren in C#

In dit voorbeeld ziet u hoe u C# gebruikt om een lijst met apparaten op te halen die zijn gekoppeld aan uw Intune-account.

Opmerking

Azure AD Graph API bevindt zich in de buitengebruikstellingsfase. Zie Uw toepassingen bijwerken voor gebruik van Microsoft Authentication Library (MSAL) en Microsoft Graph API voor meer informatie.

  1. Start Visual Studio en maak een nieuw visual C#-console-app-project (.NET Framework).

  2. Voer een naam in voor uw project en geef desgewenst andere gegevens op.

    Een C#-console-app-project maken in Visual Studio
  3. Gebruik de Solution Explorer om het Microsoft MSAL NuGet-pakket toe te voegen aan het project:

    1. Klik met de rechtermuisknop op de Solution Explorer.
    2. Kies NuGet-pakketten beheren...>Bladeren.
    3. Selecteer Microsoft.Identity.Client en kies vervolgens Installeren.
  4. Voeg de volgende instructies toe aan het begin van Program.cs:

    using Microsoft.Identity.Client;
    using System.Net.Http;
    
  5. Voeg een methode toe om de autorisatieheader te maken:

    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();
    

    Vergeet niet om de waarde van application_ID te wijzigen zodat deze overeenkomt met een die ten minste het DeviceManagementManagedDevices.Read.All machtigingsbereik heeft gekregen, zoals eerder is beschreven.

  6. Voeg een methode toe om de lijst met apparaten op te halen:

    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");
    }
    
  7. Werk Main bij om GetMyManagedDevices aan te roepen:

    string devices = GetMyManagedDevices().GetAwaiter().GetResult();
    Console.WriteLine(devices);
    
  8. Compileer en voer uw programma uit.

Wanneer u uw programma voor het eerst uitvoert, ontvangt u twee prompts. De eerste vraagt uw referenties aan en de tweede verleent machtigingen voor de managedDevices aanvraag.

Ter referentie: dit is het voltooide programma:

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");
        }
    }
}

Microsoft Entra ID verifiëren met Microsoft Graph PowerShell

PowerShell-scripts kunnen de Microsoft Graph PowerShell-module gebruiken voor verificatie. Zie Microsoft Graph PowerShell en de Intune PowerShell-voorbeelden voor meer informatie.

Ondersteuning voor meerdere tenants en partners

Als uw organisatie organisaties ondersteunt met hun eigen Microsoft Entra tenants, kunt u uw klanten toestaan uw toepassing te gebruiken met hun respectieve tenants.

U gaat hiervoor als volgt te werk:

  1. Controleer of het clientaccount bestaat in de doel-Microsoft Entra tenant.

  2. Controleer of uw tenantaccount toestaat dat gebruikers toepassingen registreren (zie Gebruikersinstellingen).

  3. Breng een relatie tot stand tussen elke tenant.

    Ga als volgt te werk om dit te doen:

    a. Gebruik het Microsoft Partner Center om een relatie met uw client en hun e-mailadres te definiëren.

    b. Nodig de gebruiker uit om gast van uw tenant te worden.

De gebruiker uitnodigen als gast van uw tenant:

  1. Kies Een gastgebruiker toevoegen in het deelvenster Snelle taken .

    Snelle taken gebruiken om een gastgebruiker toe te voegen
  2. Voer het e-mailadres van de client in en voeg (optioneel) een persoonlijk bericht toe voor de uitnodiging.

    Een externe gebruiker uitnodigen als gast
  3. Kies Uitnodigen.

Hiermee wordt een uitnodiging naar de gebruiker verzonden.

Een voorbeeld van een gastuitnodiging

De gebruiker moet de koppeling Aan de slag kiezen om uw uitnodiging te accepteren.

Wanneer de relatie tot stand is gebracht (of uw uitnodiging is geaccepteerd), voegt u het gebruikersaccount toe aan de rol Directory.

Vergeet niet om de gebruiker indien nodig toe te voegen aan andere rollen. Als u wilt dat de gebruiker bijvoorbeeld Intune-instellingen kan beheren, moet deze een globale beheerder of een Intune-servicebeheerder zijn.

Ook:

  • Gebruik https://admin.microsoft.com om een Intune-licentie toe te wijzen aan uw gebruikersaccount.

  • Werk de toepassingscode bij om te verifiëren bij het Microsoft Entra tenantdomein van de client, in plaats van bij uw eigen domein.

    Stel dat uw tenantdomein is contosopartner.onmicrosoft.com en het tenantdomein van uw client is northwind.onmicrosoft.com, werkt u uw code bij om te verifiëren bij de tenant van uw client.

    Als u dit wilt doen in een C#-toepassing op basis van het eerdere voorbeeld, wijzigt u de waarde van de authority variabele:

    string authority = "https://login.microsoftonline.com/common/";
    

    Aan

    string authority = "https://login.microsoftonline.com/northwind.onmicrosoft.com/";