Microsoft Entra ID gebruiken voor toegang tot de Intune-API's in Microsoft Graph
De 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:
- Toegang tot webtoepassingen autoriseren met OAuth 2.0 en Microsoft Entra ID
- Aan de slag met Microsoft Entra-verificatie
- Toepassingen integreren met Microsoft Entra ID
- OAuth 2.0 begrijpen
Apps registreren voor het gebruik van de Microsoft Graph API
Een app registreren voor het gebruik van Microsoft Graph API:
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.
Selecteer Alle services>M365 Microsoft Entra ID>Microsoft Entra ID>App-registraties.
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.)
Geef in het deelvenster Een toepassing registreren het volgende op:
Een naam voor de toepassing (weergegeven wanneer gebruikers zich aanmelden).
Het type Ondersteund account.
Een omleidings-URI-waarde . Deze waarde is optie.
Opmerking
Azure AD Graph API bevindt zich in de buitengebruikstellingsfase. Zie Uw toepassingen bijwerken om Microsoft Authentication Library (MSAL) en Microsoft Graph API te gebruiken voor meer informatie.
Zie Verificatiescenario's voor Microsoft Entra ID voor meer informatie.
Vanuit het toepassingsvenster:
Noteer de waarde van de toepassings-id (client).
Selecteer API-machtigingen.
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 Naslaginformatie over Microsoft Graph-machtigingen 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 het Microsoft Entra-beheercentrum, kunt u de Intune API-machtigingen kiezen op basis van de vereisten van uw toepassing.
- get_data_warehouse : gebruik deze API-machtiging om toegang te verlenen tot de Intune-datawarehouse-API vanuit Microsoft Intune. Zie Het Microsoft Intune-datawarehouse gebruiken voor meer informatie.
Partneroplossing-API's
De volgende Intune API-machtigingen zijn beschikbaar wanneer u een toepassing toevoegt via het 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 partners voor netwerktoegangsbeheer. Zie Integratie van netwerktoegangsbeheer 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:
Kies Manifest in het toepassingsvenster.
Wijzig de waarde van de
availableToOtherTenants
instelling intrue
.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 worden weergegeven. 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. In de eerste kolom wordt de naam van de functie 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 |
Microsoft Intune RBAC-instellingen lezen en schrijven | DeviceManagementRBAC.ReadWrite.All |
Microsoft Intune RBAC-instellingen lezen | DeviceManagementRBAC.Read.All |
Microsoft Intune-apps lezen en schrijven | DeviceManagementApps.ReadWrite.All |
Microsoft Intune-apps lezen | DeviceManagementApps.Read.All |
Microsoft Intune-apparaatconfiguratie en -beleid lezen en schrijven | DeviceManagementConfiguration.ReadWrite.All |
Microsoft Intune-apparaatconfiguratie en -beleid lezen | DeviceManagementConfiguration.Read.All |
Microsoft Intune-configuratie lezen en schrijven | DeviceManagementServiceConfig.ReadWrite.All |
Microsoft Intune-configuratie 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 : Microsoft Intune-apps lezen en schrijven
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 : Microsoft Intune-apparaatconfiguratie en -beleid lezen
Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:
- Apparaatconfiguratie
- Nalevingsbeleid voor apparaten
- Meldingsberichten
DeviceManagementConfiguration.ReadWrite.All
Instelling Toegang inschakelen : Microsoft Intune-apparaatconfiguratie en -beleid lezen en schrijven
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
Instelling Toegang 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
Instelling Toegang inschakelen : Microsoft Intune-apparaten lezen en schrijven
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 : Microsoft Intune RBAC-instellingen lezen
Hiermee staat u leestoegang toe tot de volgende entiteitseigenschappen en -status:
- Roltoewijzingen
- Roldefinities
- Resourcebewerkingen
DeviceManagementRBAC.ReadWrite.All
Toegangsinstelling inschakelen : Microsoft Intune RBAC-instellingen lezen en schrijven
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 : Microsoft Intune-configuratie 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
Instelling Toegang inschakelen : Microsoft Intune-configuratie lezen en schrijven
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
Voorbeelden van Microsoft Entra-verificatie
In deze sectie ziet u 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 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 om Microsoft Authentication Library (MSAL) en Microsoft Graph API te gebruiken voor meer informatie.
Start Visual Studio en maak vervolgens een nieuw Visual C# Console-app-project (.NET Framework).
Voer een naam in voor uw project en geef desgewenst andere gegevens op.
Gebruik Solution Explorer om het Microsoft MSAL NuGet-pakket toe te voegen aan het project:
- Klik met de rechtermuisknop op Solution Explorer.
- Kies NuGet-pakketten beheren...>Bladeren.
- Selecteer
Microsoft.Identity.Client
en kies vervolgens Installeren.
Voeg de volgende instructies toe aan het begin van Program.cs:
using Microsoft.Identity.Client; using System.Net.Http;
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 hetDeviceManagementManagedDevices.Read.All
machtigingsbereik heeft gekregen, zoals eerder is beschreven.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"); }
Werk Main bij om GetMyManagedDevices aan te roepen:
string devices = GetMyManagedDevices().GetAwaiter().GetResult(); Console.WriteLine(devices);
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:
Controleer of het clientaccount bestaat in de Microsoft Entra-doeltenant.
Controleer of uw tenantaccount toestaat dat gebruikers toepassingen registreren (zie Gebruikersinstellingen).
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:
Kies Een gastgebruiker toevoegen in het deelvenster Snelle taken .
Voer het e-mailadres van de client in en voeg (optioneel) een persoonlijk bericht toe voor de uitnodiging.
Kies Uitnodigen.
Hiermee wordt een uitnodiging naar de gebruiker verzonden.
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 uw eigen.
Stel dat uw tenantdomein is
contosopartner.onmicrosoft.com
en het tenantdomein van uw client isnorthwind.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/";