Comment utiliser l’ID Microsoft Entra pour accéder aux API Intune dans Microsoft Graph
L’API Microsoft Graph prend désormais en charge Microsoft Intune avec des API et des rôles d’autorisation spécifiques. L’API Microsoft Graph utilise l’ID Microsoft Entra 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 l’ID Microsoft Entra 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 à l’API Microsoft Graph et aux rôles d’autorisation appropriés.
Décrit les rôles d’autorisation d’API Intune.
Fournit des exemples d’authentification d’API Intune 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 de l’ID Microsoft Entra
- Bien démarrer avec l’authentification Microsoft Entra
- Intégration d’applications avec l’ID Microsoft Entra
- 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>Inscriptions de l’application.
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
L’API Graph Azure AD 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 l’ID Microsoft Entra.
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 des étendues d’autorisation Intune spécifiques, consultez Étendues d’autorisation Intune. Pour en savoir plus sur les autres étendues d’autorisation de l’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 de l’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 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 de contrôle d’accès réseau. Pour plus d’informations, consultez Intégration du contrôle d’accès 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 pour 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 à Intune à partir de partenaires de conformité des appareils et de défense contre les menaces mobiles. Pour plus d’informations, consultez Intégration de Mobile Threat Defense à Intune et à des partenaires tiers de conformité des appareils.
- update_device_health : cette autorisation d’API est utilisée pour envoyer des informations sur l’intégrité et l’état des menaces des appareils à Intune à partir de 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 l’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
L’ID Microsoft Entra et Microsoft Graph utilisent des étendues d’autorisation pour contrôler l’accès aux ressources de l’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 de l’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 les stratégies et configuration des appareils Microsoft Intune | DeviceManagementConfiguration.ReadWrite.All |
Lire la configuration et les stratégies de l’appareil Microsoft Intune | 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 aux ressources de l’API Intune.
DeviceManagementApps.Read.All
Paramètre Activer l’accès : Lire les applications Microsoft Intune
Autorise l’accès en lecture aux propriétés et à l’état d’entité suivants :
- 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 : Lire et écrire des applications Microsoft Intune
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 la configuration et les stratégies des appareils Microsoft Intune
Autorise l’accès en lecture aux propriétés et à l’état d’entité suivants :
- Configuration de l’appareil
- Stratégie de conformité des appareils
- Notification Messages
DeviceManagementConfiguration.ReadWrite.All
Paramètre Activer l’accès : lire et écrire la configuration et les stratégies d’appareil Microsoft Intune
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 : Lire les appareils Microsoft Intune
Autorise l’accès en lecture aux propriétés et à l’état d’entité suivants :
- 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 : lire et écrire des appareils Microsoft Intune
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 : Lire les paramètres RBAC Microsoft Intune
Autorise l’accès en lecture aux propriétés et à l’état d’entité suivants :
- 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 des paramètres RBAC Microsoft Intune
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 : Lire la configuration Microsoft Intune
Autorise l’accès en lecture aux propriétés et à l’état d’entité suivants :
- 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
- Infrastructure à clé publique 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
- Infrastructure à clé publique cloud
- Personnalisation
- Défense contre les menaces mobiles
Exemples d’authentification Microsoft Entra
Cette section montre comment incorporer l’ID Microsoft Entra 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 d’état HTTP 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 l’API Microsoft 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 l’ID Microsoft Entra en C#
Cet exemple montre comment utiliser C# pour récupérer une liste d’appareils associés à votre compte Intune.
Remarque
L’API Graph Azure AD 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 l’Explorateur de solutions pour ajouter le package NuGet Microsoft MSAL au projet :
- Cliquez avec le bouton droit sur l’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 l’ID Microsoft Entra à 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 organisation 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 administrateur général ou 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/";