Authentification Intune Data Warehouse Application-Only

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

Autorisation

Microsoft Entra ID utilise OAuth 2.0 pour vous permettre d’autoriser l’accès aux applications et 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 à 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 de 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é de l’application. Pour plus d’informations, consultez la section Key Vault.

Créer une application web

Dans cette section, vous fournissez des détails sur l’application web vers laquelle vous souhaitez pointer vers 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électionner tous les services>M365 Microsoft Entra IDMicrosoft>Entra ID> des inscriptions d’applications.

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

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

  5. Cliquez sur S'inscrire.

    Remarque

    Copiez l’ID d’application (client) à partir du volet de l’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 votre application nouvellement créée pour afficher le volet de l’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 de 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 la clé disparaît une fois que vous quittez le volet Certificats & secrets . Vous ne pourrez pas récupérer la clé ultérieurement dans ce volet. Copiez-le pour l’utiliser ultérieurement.

Accorder des autorisations d’application

Dans cette section, vous accordez des autorisations aux applications.

  1. Sélectionner les autorisations> d’APIAjouter une autorisation>Intune>autorisations d’application.
  2. Sélectionnez l’option get_data_warehouse (Obtenir les informations de 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 API .
  5. Cliquez sur Accorder le consentement de l’administrateur dans le volet Autorisations de l’API, puis 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 .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 l’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 l’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 de sorte que le fichier 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 aux valeurs associées à l’application.

  17. Construisez votre application.

    Remarque

    Pour voir du code d’implémentation supplémentaire, consultez l’exemple de code Intune-Data-Warehouse.

Étapes suivantes

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