Share via


Intune Data Warehouse l’authentification d’application uniquement

Vous pouvez configurer une application à l’aide de l’ID Microsoft Entra et vous authentifier auprès du Data Warehouse Intune. Ce processus est utile pour les sites web, les applications et les processus en arrière-plan pour lesquels l’application ne doit pas avoir accès aux informations d’identification de l’utilisateur. En procédant comme suit, vous autorisez votre application avec l’ID Microsoft Entra à l’aide d’OAuth 2.0.

Autorisation

Microsoft Entra ID utilise OAuth 2.0 pour vous permettre d’autoriser l’accès aux applications web et aux API web dans votre locataire Microsoft Entra. Ce guide vous montre comment authentifier votre application à l’aide de C#. Le flux de code d’autorisation OAuth 2.0 est décrit dans la section 4.1 de la spécification OAuth 2.0. Pour plus d’informations, consultez Autoriser l’accès aux applications web à l’aide d’OAuth 2.0 et Microsoft Entra ID.

Azure KeyVault

Le processus suivant utilise une méthode privée pour traiter et convertir une clé d’application. Cette méthode privée a été nommée SecureString. Vous pouvez également utiliser Azure KeyVault pour stocker la clé d’application. Pour plus d’informations, consultez Key Vault.

Créer une application web

Dans cette section, vous fournissez des détails sur l’application web vers laquelle vous souhaitez pointer sur Intune. Une application web est une application client-serveur. Le serveur fournit l’application web, qui englobe l’interface utilisateur, le contenu et les fonctionnalités. Ce type d’application est géré séparément sur le web. Vous utilisez Intune pour accorder à une application web l’accès à Intune. Le flux de données est initié par l’application web.

  1. Connectez-vous au Centre d’administration Microsoft Intune.

  2. Sélectionnez Tous les services>M365 Microsoft Entra ID>Microsoft Entra ID>inscriptions d'applications.

  3. Cliquez sur Nouvelle inscription pour afficher le volet Inscrire une application .

  4. Dans le volet Inscrire une application , ajoutez les détails de votre application :

  5. Cliquez sur S'inscrire.

    Remarque

    Copiez l’ID d’application (client) à partir du volet d’application pour l’utiliser ultérieurement.

Créer une clé (mot de passe)

Dans cette section, Microsoft Entra ID génère une valeur de clé pour votre application.

  1. Dans le volet inscriptions d'applications, sélectionnez l’application que vous venez de créer pour afficher le volet Application.

  2. Sélectionnez Certificats & secrets en haut du volet pour afficher le volet Certificats & secrets .

  3. Sélectionnez Clés secrètes client dans le volet Certificats & secrets .

  4. Ajoutez la description de la clé et une durée d’expiration pour la clé.

  5. Cliquez sur Ajouter pour enregistrer et mettre à jour les clés de l’application.

  6. Vous devez copier la valeur de clé générée (encodée en base64).

    Remarque

    La valeur de clé disparaît une fois que vous avez quitté le volet Certificats & secrets . Vous ne pouvez pas récupérer la clé à partir de ce volet ultérieurement. Copiez-le pour l’utiliser ultérieurement.

Accorder des autorisations d’application

Dans cette section, vous accordez des autorisations aux applications.

  1. Sélectionnez Autorisations d’API>Ajouter une autorisation>Autorisations d’applicationIntune>.
  2. Choisissez l’option get_data_warehouse (Obtenir des informations sur l’entrepôt de données à partir de Microsoft Intune).
  3. Cliquez sur Ajouter des autorisations.
  4. Cliquez sur Terminé dans le volet Ajouter un accès à l’API .
  5. Cliquez sur Accorder le consentement de l’administrateur dans le volet Autorisations de l’API, puis cliquez sur Oui lorsque vous êtes promu pour mettre à jour les autorisations existantes dont dispose déjà cette application.

Générer un jeton

À l’aide de Visual Studio, créez un projet d’application console (.NET Framework) qui prend en charge le .NET Framework et utilise C# comme langage de codage.

  1. Sélectionnez Fichier>Nouveau>projet pour afficher la boîte de dialogue Nouveau projet .

  2. Sur la gauche, sélectionnez Visual C# pour afficher tous les projets .NET Framework.

  3. Sélectionnez Application console (.NET Framework), ajoutez un nom d’application, puis cliquez sur OK pour créer l’application.

  4. Dans Explorateur de solutions, sélectionnez Program.cs pour afficher le code.

  5. Dans Explorateur de solutions, ajoutez une référence à l’assembly System.Configuration.

  6. Dans le menu contextuel, sélectionnez Ajouter un>nouvel élément. La boîte de dialogue Ajouter un nouvel élément s’affiche.

  7. Sur la gauche, sous Visual C#, sélectionnez Code.

  8. Sélectionnez Classe, remplacez le nom de la classe par IntuneDataWarehouseClass.cs, puis cliquez sur Ajouter.

  9. Ajoutez le code suivant dans la Main méthode :

         var applicationId = ConfigurationManager.AppSettings["appId"].ToString();
         SecureString applicationSecret = ConvertToSecureStr(ConfigurationManager.AppSettings["appKey"].ToString()); // Load as SecureString from configuration file or secret store (i.e. Azure KeyVault)
         var tenantDomain = ConfigurationManager.AppSettings["tenantDomain"].ToString();
         var msalContext = new AuthenticationContext($"https://login.windows.net/" + tenantDomain + "/oauth2/token");
    
         AuthenticationResult authResult = msalContext.AcquireTokenAsync(
             resource: "https://api.manage.microsoft.com/",
             clientCredential: new ClientCredential(
                 applicationId,
                 new SecureClientSecret(applicationSecret))).Result;
    
  10. Ajoutez des espaces de noms supplémentaires en ajoutant le code suivant en haut du fichier de code :

     using System.Security;
     using Microsoft.Identity.Client;
     using System.Configuration;
    

    Remarque

    Vous devez utiliser la bibliothèque d’authentification Microsoft (MSAL). Pour plus d’informations, consultez Mettre à jour vos applications afin d’utiliser la bibliothèque d’authentification Microsoft (MSAL) et l’API Microsoft Graph.

  11. Après la Main méthode , ajoutez la méthode privée suivante pour traiter et convertir la clé d’application :

    private static SecureString ConvertToSecureStr(string appkey)
    {
        if (appkey == null)
            throw new ArgumentNullException("AppKey must not be null.");
    
        var secureAppKey = new SecureString();
    
        foreach (char c in appkey)
            secureAppKey.AppendChar(c);
    
        secureAppKey.MakeReadOnly();
        return secureAppKey;
    }
    
  12. Dans le Explorateur de solutions, cliquez avec le bouton droit sur Références, puis sélectionnez Gérer les packages NuGet.

  13. Recherchez Microsoft.Identity.Client et installez le package Microsoft NuGet associé.

  14. Dans Explorateur de solutions sélectionnez et ouvrez le fichier App.config.

  15. Ajoutez la appSettings section afin que le code xml s’affiche comme suit :

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <appSettings>
          <add key="appId" value="App ID created from 'Create a Web App' procedure"/>
          <add key="appKey" value="Key created from 'Create a key' procedure" />
          <add key="tenantDomain" value="contoso.onmicrosoft.com"/>
        </appSettings>
    </configuration>
    
  16. Mettez à jour les appIdvaleurs , appKeyet tenantDomain pour qu’elles correspondent à vos valeurs uniques liées à l’application.

  17. Générez votre application.

    Remarque

    Pour voir le code d’implémentation supplémentaire, consultez Exemple de code Intune-Data-Warehouse.

Étapes suivantes

Pour en savoir plus sur Azure Key Vault, consultez Qu’est-ce qu’Azure Key Vault ?