Comment utiliser Microsoft Entra ID pour accéder aux API Intune dans Microsoft Graph
Microsoft API Graph prend désormais en charge Microsoft Intune avec des API et des rôles d’autorisation spécifiques. Microsoft API Graph utilise Microsoft Entra ID pour l’authentification et le contrôle d’accès.
L’accès aux API Intune dans Microsoft Graph nécessite :
Un ID d’application avec :
- Autorisation d’appeler Microsoft Entra ID et les API Microsoft Graph.
- Les étendues d’autorisation pertinentes pour les tâches spécifiques de l’application.
Informations d'identification d'utilisateur avec :
- Autorisation d’accéder au locataire Microsoft Entra associé à l’application.
- Les autorisations de rôle requises pour prendre en charge les étendues d’autorisation de l’application.
L’utilisateur final doit accorder l’autorisation à l’application d’effectuer des tâches d’application pour son locataire Azure.
Cet article :
Montre comment inscrire une application avec accès au API Graph Microsoft et aux rôles d’autorisation appropriés.
Décrit les rôles d’autorisation d’API Intune.
Fournit Intune exemples d’authentification d’API pour C# et PowerShell.
Décrit comment prendre en charge plusieurs locataires.
Pour en savoir plus, reportez-vous à la rubrique :
- Autoriser l’accès aux applications web à l’aide d’OAuth 2.0 et Microsoft Entra ID
- Bien démarrer avec l’authentification Microsoft Entra
- Intégration d’applications à Microsoft Entra ID
- Comprendre OAuth 2.0
Inscrire des applications pour utiliser l’API Microsoft Graph
Pour inscrire une application pour qu’elle utilise l’API Microsoft Graph :
Connectez-vous au centre d’administration Microsoft Intune à l’aide des informations d’identification d’administration.
Selon le cas, vous pouvez utiliser :
- Le compte d’administrateur du client.
- Un compte d’utilisateur client avec le paramètre Utilisateurs peut inscrire des applications activé.
Sélectionnez Tous les services>M365 Microsoft Entra ID>Microsoft Entra ID>inscriptions d'applications.
Choisissez Nouvelle inscription pour créer une application ou choisissez une application existante. (Si vous choisissez une application existante, ignorez l’étape suivante.)
Dans le volet Inscrire une application , spécifiez les éléments suivants :
Nom de l’application (affiché lorsque les utilisateurs se connectent).
Type de compte pris en charge.
Valeur d’URI de redirection . Cette valeur est une option.
Remarque
Azure AD API Graph est en phase de mise hors service. Pour plus d’informations, consultez Mettre à jour vos applications afin d’utiliser la bibliothèque d’authentification Microsoft (MSAL) et l’API Microsoft Graph.
Pour plus d’informations, consultez Scénarios d’authentification pour Microsoft Entra ID.
Dans le volet d’application :
Notez la valeur de l’ID d’application (client).
Sélectionnez Autorisations API.
Dans le volet Autorisations d’API, choisissez Ajouter une autorisation>API> MicrosoftGraph. Ensuite, sélectionnez le type d’autorisations dont votre application a besoin.
Choisissez les rôles requis pour votre application en plaçant une coche à gauche des noms appropriés. Pour en savoir plus sur les étendues d’autorisation Intune spécifiques, consultez Intune étendues d’autorisation. Pour en savoir plus sur les autres étendues d’autorisation API Graph, consultez informations de référence sur les autorisations Microsoft Graph.
Pour de meilleurs résultats, choisissez le minimum de rôles nécessaires pour implémenter votre application.
Autorisations d’entrepôt de données et de création de rapports
Lorsque vous ajoutez une application via le centre d’administration Microsoft Entra, vous pouvez choisir les autorisations d’API Intune en fonction des exigences de votre application.
- get_data_warehouse : utilisez cette autorisation d’API pour accorder l’accès à l’API de l’entrepôt de données Intune à partir de Microsoft Intune. Pour plus d’informations, consultez Utilisation de la Microsoft Intune Data Warehouse.
API de solution partenaire
Les autorisations d’API Intune suivantes sont disponibles lors de l’ajout d’une application via le centre d’administration Microsoft Entra :
- get_device_compliance : cette autorisation d’API est utilisée pour obtenir des informations sur l’état et la conformité de l’appareil à partir de Microsoft Intune. Cette autorisation d’API est utilisée par les partenaires network Access Control. Pour plus d’informations, consultez Intégration du Access Control réseau à Intune.
- manage_partner_compliance_policy : cette autorisation d’API est utilisée pour gérer les stratégies de conformité des partenaires avec Microsoft Intune. Cette autorisation d’API permet à l’application d’envoyer des stratégies de conformité partenaire et son affectation de groupe Microsoft Entra à Microsoft Intune sans utilisateur connecté. Il est utilisé par les partenaires de conformité des appareils. Pour plus d’informations, consultez Partenaires de conformité des appareils tiers.
- pfx_cert_provider : cette autorisation d’API est utilisée pour envoyer des certificats PFX à Intune d’un utilisateur spécifique. Intune remet le certificat à tous les appareils inscrits par l’utilisateur. Pour plus d’informations, consultez PfX Import PowerShell.
- scep_challenge_provider : cette autorisation d’API est utilisée pour envoyer des défis SCEP à Intune pour la validation des demandes de certificat. Il est utilisé par les partenaires de l’autorité de certification. Pour plus d’informations, consultez Autorité de certification partenaire.
- update_device_attributes : cette autorisation d’API est utilisée pour envoyer des informations d’appareil aux Intune des partenaires de conformité des appareils et de défense contre les menaces mobiles. Pour plus d’informations, consultez Intégration de La défense contre les menaces mobiles avec Intune et des partenaires de conformité des appareils tiers.
- update_device_health : cette autorisation d’API est utilisée pour envoyer des informations sur l’intégrité des appareils et les status de menaces à Intune des partenaires de défense contre les menaces mobiles. Pour plus d’informations, consultez Intégration de Mobile Threat Defense à Intune.
Si vous êtes un partenaire intéressé par l’intégration à Intune à l’aide de ces autorisations d’API, contactez l’équipe Microsoft Intelligent Security Association] pour plus d’informations.
Lorsque vous avez terminé, choisissez Ajouter des autorisations pour enregistrer vos modifications.
À ce stade, vous pouvez également :
Choisissez d’accorder à tous les comptes de locataire l’autorisation d’utiliser l’application sans fournir d’informations d’identification.
Pour ce faire, vous pouvez accorder des autorisations et accepter l’invite de confirmation.
Lorsque vous exécutez l’application pour la première fois, vous êtes invité à accorder à l’application l’autorisation d’effectuer les rôles sélectionnés.
Mettent l’application à la disposition des utilisateurs en dehors de votre locataire. (Cela n’est généralement requis que pour les partenaires qui prennent en charge plusieurs locataires/organisations.)
Pour ce faire, procédez comme suit :
Choisissez Manifeste dans le volet de l’application.
Remplacez la valeur du paramètre par
availableToOtherTenants
true
.Enregistrez vos modifications.
Liste des applications
Si vous recevez une grande quantité de données lors de la demande de votre liste d’applications lors de l’utilisation de API Graph, vous pouvez rencontrer une erreur 503 Service indisponible. Nous vous recommandons de réessayer avec une taille de page plus petite, par exemple 20 éléments ou moins.
étendues d’autorisation Intune
Microsoft Entra ID et Microsoft Graph utilisent des étendues d’autorisation pour contrôler l’accès aux ressources d’entreprise.
Les étendues d’autorisation (également appelées étendues OAuth) contrôlent l’accès à des entités Intune spécifiques et à leurs propriétés. Cette section récapitule les étendues d’autorisation pour les fonctionnalités d’API Intune.
Pour en savoir plus :
Lorsque vous accordez une autorisation à Microsoft Graph, vous pouvez spécifier les étendues suivantes pour contrôler l’accès aux fonctionnalités Intune : le tableau suivant récapitule les étendues d’autorisation de l’API Intune. La première colonne affiche le nom de la fonctionnalité tel qu’il est affiché dans le centre d’administration Microsoft Intune et la deuxième colonne indique le nom de l’étendue d’autorisation.
Activer le paramètre Access | Nom de l’étendue |
---|---|
Effectuer des actions à distance à fort impact sur les appareils gérés par Microsoft Intune | DeviceManagementManagedDevices.PrivilegedOperations.All |
Accéder en lecture et en écriture aux appareils gérés par Microsoft Intune | DeviceManagementManagedDevices.ReadWrite.All |
Accéder en lecture aux appareils gérés par Microsoft Intune | DeviceManagementManagedDevices.Read.All |
Accéder en lecture et en écriture aux paramètres RBAC de Microsoft Intune | DeviceManagementRBAC.ReadWrite.All |
Accéder en lecture aux paramètres RBAC de Microsoft Intune | DeviceManagementRBAC.Read.All |
Accéder en lecture et en écriture aux applications gérées par Microsoft Intune | DeviceManagementApps.ReadWrite.All |
Accéder en lecture aux applications Microsoft Intune | DeviceManagementApps.Read.All |
Lire et écrire Microsoft Intune configuration et stratégies d’appareil | DeviceManagementConfiguration.ReadWrite.All |
Lire Microsoft Intune configuration et stratégies de l’appareil | DeviceManagementConfiguration.Read.All |
Accéder en lecture et en écriture à la configuration de Microsoft Intune | DeviceManagementServiceConfig.ReadWrite.All |
Accéder en lecture à la configuration de Microsoft Intune | DeviceManagementServiceConfig.Read.All |
Le tableau répertorie les paramètres tels qu’ils apparaissent dans le centre d’administration Microsoft Intune. Les sections suivantes décrivent les étendues par ordre alphabétique.
À ce stade, toutes les étendues d’autorisation Intune nécessitent un accès administrateur. Cela signifie que vous avez besoin d’informations d’identification correspondantes lors de l’exécution d’applications ou de scripts qui accèdent à Intune ressources d’API.
DeviceManagementApps.Read.All
Paramètre Activer l’accès : Lire Microsoft Intune applications
Autorise l’accès en lecture aux propriétés et status d’entité suivantes :
- Applications clientes
- Catégories d’applications mobiles
- Stratégies de protection des applications
- Configurations d’application
DeviceManagementApps.ReadWrite.All
Paramètre Activer l’accès : Lecture et écriture Microsoft Intune applications
Autorise les mêmes opérations que DeviceManagementApps.Read.All
Autorise également les modifications apportées aux entités suivantes :
- Applications clientes
- Catégories d’applications mobiles
- Stratégies de protection des applications
- Configurations d’application
DeviceManagementConfiguration.Read.All
Paramètre Activer l’accès : Lire Microsoft Intune la configuration et les stratégies d’appareil
Autorise l’accès en lecture aux propriétés et status d’entité suivantes :
- Configuration de l’appareil
- Stratégie de conformité des appareils
- Notification Messages
DeviceManagementConfiguration.ReadWrite.All
Paramètre Activer l’accès : lecture et écriture Microsoft Intune configuration et stratégies d’appareil
Autorise les mêmes opérations que DeviceManagementConfiguration.Read.All
Les applications peuvent également créer, affecter, supprimer et modifier les entités suivantes :
- Configuration de l’appareil
- Stratégie de conformité des appareils
- Notification Messages
DeviceManagementManagedDevices.PrivilegedOperations.All
Paramètre Activer l’accès : effectuer des actions à distance impactant l’utilisateur sur les appareils Microsoft Intune
Autorise les actions à distance suivantes sur un appareil géré :
- Mettre hors service
- Réinitialisation
- Réinitialiser/récupérer le code secret
- Verrouillage à distance
- Activer/désactiver le mode Perdu
- Nettoyer le PC
- Redémarrer
- Supprimer un utilisateur d’un appareil partagé
DeviceManagementManagedDevices.Read.All
Paramètre Activer l’accès : Appareils Microsoft Intune en lecture
Autorise l’accès en lecture aux propriétés et status d’entité suivantes :
- Appareil géré
- Catégorie d’appareil
- Application détectée
- Actions à distance.
- Informations sur les programmes malveillants
DeviceManagementManagedDevices.ReadWrite.All
Paramètre Activer l’accès : Lecture et écriture Microsoft Intune appareils
Autorise les mêmes opérations que DeviceManagementManagedDevices.Read.All
Les applications peuvent également créer, supprimer et modifier les entités suivantes :
- Appareil géré
- Catégorie d’appareil
Les actions à distance suivantes sont également autorisées :
- Localiser les appareils
- Désactiver le verrou d’activation
- Demander une assistance à distance
DeviceManagementRBAC.Read.All
Paramètre Activer l’accès : lecture Microsoft Intune paramètres RBAC
Autorise l’accès en lecture aux propriétés et status d’entité suivantes :
- Attributions de rôles
- Définitions de rôles
- Opérations sur les ressources
DeviceManagementRBAC.ReadWrite.All
Paramètre Activer l’accès : lecture et écriture Microsoft Intune paramètres RBAC
Autorise les mêmes opérations que DeviceManagementRBAC.Read.All
Les applications peuvent également créer, affecter, supprimer et modifier les entités suivantes :
- Attributions de rôles
- Définitions de rôles
DeviceManagementServiceConfig.Read.All
Paramètre Activer l’accès : configuration Microsoft Intune en lecture
Autorise l’accès en lecture aux propriétés et status d’entité suivantes :
- Inscription de l’appareil
- Certificat de notification Push Apple
- Programme d’inscription des appareils Apple
- Programme d’achat en volume Apple
- Connecteur Exchange
- Conditions générales
- PKI cloud
- Personnalisation
- Défense contre les menaces mobiles
DeviceManagementServiceConfig.ReadWrite.All
Paramètre Activer l’accès : configuration de Microsoft Intune en lecture et en écriture
Autorise les mêmes opérations que DeviceManagementServiceConfig.Read.All_
Les applications peuvent également configurer les fonctionnalités Intune suivantes :
- Inscription de l’appareil
- Certificat de notification Push Apple
- Programme d’inscription des appareils Apple
- Programme d’achat en volume Apple
- Connecteur Exchange
- Conditions générales
- PKI cloud
- Personnalisation
- Défense contre les menaces mobiles
exemples d’authentification Microsoft Entra
Cette section montre comment incorporer des Microsoft Entra ID dans vos projets C# et PowerShell.
Dans chaque exemple, vous devez spécifier un ID d’application qui a au moins l’étendue d’autorisation DeviceManagementManagedDevices.Read.All
(décrite précédemment).
Lors du test de l’un ou l’autre exemple, vous pouvez recevoir des erreurs HTTP status 403 (Interdit) similaires à ce qui suit :
{
"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"
}
}
}
Si cela se produit, vérifiez que :
Vous avez mis à jour l’ID d’application avec un id autorisé à utiliser microsoft API Graph et l’étendue d’autorisation
DeviceManagementManagedDevices.Read.All
.Vos informations d’identification de locataire prennent en charge les fonctions d’administration.
Votre code est similaire aux exemples affichés.
Authentifier Microsoft Entra ID en C#
Cet exemple montre comment utiliser C# pour récupérer une liste d’appareils associés à votre compte Intune.
Remarque
Azure AD API Graph est en phase de mise hors service. Pour plus d’informations, consultez Mettre à jour vos applications afin d’utiliser la bibliothèque d’authentification Microsoft (MSAL) et l’API Microsoft Graph.
Démarrez Visual Studio, puis créez un projet d’application console Visual C# (.NET Framework).
Entrez un nom pour votre projet et fournissez d’autres détails selon vos besoins.
Utilisez la Explorateur de solutions pour ajouter le package NuGet Microsoft MSAL au projet :
- Cliquez avec le bouton droit sur le Explorateur de solutions.
- Choisissez Gérer les packages NuGet...>Parcourir.
- Sélectionnez
Microsoft.Identity.Client
, puis choisissez Installer.
Ajoutez les instructions suivantes en haut de Program.cs :
using Microsoft.Identity.Client; using System.Net.Http;
Ajoutez une méthode pour créer l’en-tête d’autorisation :
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();
N’oubliez pas de modifier la valeur de
application_ID
pour qu’elle corresponde à celle accordée au moins à l’étendue de l’autorisationDeviceManagementManagedDevices.Read.All
, comme décrit précédemment.Ajoutez une méthode pour récupérer la liste des appareils :
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"); }
Mettez à jour Main pour appeler GetMyManagedDevices :
string devices = GetMyManagedDevices().GetAwaiter().GetResult(); Console.WriteLine(devices);
Compilez et exécutez votre programme.
Lorsque vous exécutez votre programme pour la première fois, vous devez recevoir deux invites. Le premier demande vos informations d’identification et le second accorde des autorisations pour la managedDevices
demande.
Pour référence, voici le programme terminé :
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");
}
}
}
Authentifier Microsoft Entra ID à l’aide de Microsoft Graph PowerShell
Les scripts PowerShell peuvent utiliser le module Microsoft Graph PowerShell pour l’authentification. Pour plus d’informations, consultez Microsoft Graph PowerShell et les exemples Intune PowerShell.
Prendre en charge plusieurs locataires et partenaires
Si votre organization prend en charge des organisations avec leurs propres locataires Microsoft Entra, vous pouvez autoriser vos clients à utiliser votre application avec leurs locataires respectifs.
Pour ce faire, procédez comme suit :
Vérifiez que le compte client existe dans le locataire Microsoft Entra cible.
Vérifiez que votre compte de locataire permet aux utilisateurs d’inscrire des applications (voir Paramètres utilisateur).
Établissez une relation entre chaque locataire.
Pour ce faire, procédez comme suit :
a. Utilisez l’Espace partenaires Microsoft pour définir une relation avec votre client et son adresse e-mail.
b. Invitez l’utilisateur à devenir un invité de votre locataire.
Pour inviter l’utilisateur à être l’invité de votre locataire :
Choisissez Ajouter un utilisateur invité dans le panneau Tâches rapides .
Entrez l’adresse e-mail du client et (éventuellement) ajoutez un message personnalisé pour l’invitation.
Choisissez Inviter.
Cette opération envoie une invitation à l’utilisateur.
L’utilisateur doit choisir le lien Prise en main pour accepter votre invitation.
Lorsque la relation est établie (ou que votre invitation a été acceptée), ajoutez le compte d’utilisateur au rôle d’annuaire.
N’oubliez pas d’ajouter l’utilisateur à d’autres rôles en fonction des besoins. Par exemple, pour permettre à l’utilisateur de gérer les paramètres Intune, il doit être au moins un administrateur de service Intune.
En outre :
Utilisez https://admin.microsoft.com pour attribuer une licence Intune à votre compte d’utilisateur.
Mettez à jour le code de l’application pour vous authentifier auprès du domaine de locataire Microsoft Entra du client, plutôt que le vôtre.
Par exemple, supposons que votre domaine de locataire est
contosopartner.onmicrosoft.com
et que le domaine de locataire de votre client estnorthwind.onmicrosoft.com
, vous devez mettre à jour votre code pour vous authentifier auprès du locataire de votre client.Pour ce faire, dans une application C# basée sur l’exemple précédent, vous devez modifier la valeur de la
authority
variable :string authority = "https://login.microsoftonline.com/common/";
au
string authority = "https://login.microsoftonline.com/northwind.onmicrosoft.com/";