Intune Data Warehouse Application-Only Authenticatie

U kunt een toepassing instellen met Microsoft Entra ID en u verifiëren bij de Intune Data Warehouse. Dit proces is nuttig voor websites, apps en achtergrondprocessen waarbij de toepassing geen toegang mag hebben tot gebruikersreferenties. Met behulp van de volgende stappen autoriseert u uw toepassing met Microsoft Entra ID met behulp van OAuth 2.0.

Autorisatie

Microsoft Entra ID maakt gebruik van OAuth 2.0 om u in staat te stellen toegang te verlenen tot webtoepassingen en web-API's in uw Microsoft Entra-tenant. In deze handleiding wordt beschreven hoe u uw toepassing kunt verifiëren met C#. De stroom van de OAuth 2.0-autorisatiecode wordt beschreven in sectie 4.1 van de OAuth 2.0-specificatie. Zie Toegang tot webtoepassingen autoriseren met OAuth 2.0 en Microsoft Entra ID voor meer informatie.

Azure KeyVault

Bij het volgende proces wordt een persoonlijke methode gebruikt om een app-sleutel te verwerken en te converteren. Deze persoonlijke methode heet SecureString. Als alternatief kunt u Azure KeyVault gebruiken om de app-sleutel op te slaan. Zie voor meer informatie Key Vault.

Een web-app maken

In deze sectie geeft u informatie over de web-app waarnaar u wilt verwijzen bij Intune. Een web-app is een client-servertoepassing. De server levert de web-app, die de gebruikersinterface, inhoud en functionaliteit bevat. Dit type app wordt afzonderlijk onderhouden op het web. U gebruikt Intune om een web-app toegang te verlenen tot Intune. De gegevensstroom wordt geïnitieerd door de web-app.

  1. Meld je aan bij het Microsoft Intune-beheercentrum.

  2. Selecteer Alle services>M365 Microsoft Entra ID>Microsoft Entra ID>App-registraties.

  3. Klik op Nieuwe registratie om het deelvenster Een toepassing registreren weer te geven.

  4. Voeg in het deelvenster Een toepassing registreren uw app-gegevens toe:

    • Een app-naam, zoals Intune App-Only Auth.
    • Het ondersteunde accounttype.
    • De omleidings-URI van de toepassing. Dit is de locatie waar gebruikers automatisch naartoe navigeren tijdens het verificatieproces. Ze moeten bewijzen dat ze zijn wie ze zeggen dat ze zijn. Zie Wat is toegang tot apps en eenmalige aanmelding met Microsoft Entra ID? voor meer informatie?
  5. Klik op Registreren.

    Opmerking

    Kopieer de toepassings-id (client) uit het app-venster voor later gebruik.

Een sleutel (wachtwoord) maken

In deze sectie genereert Microsoft Entra ID een sleutelwaarde voor uw app.

  1. Selecteer in het deelvenster App-registraties de zojuist gemaakte app om het app-deelvenster weer te geven.

  2. Selecteer Certificaten & geheimen bovenaan het deelvenster om het deelvenster Certificaten & geheimen weer te geven.

  3. Selecteer Clientgeheimen in het deelvenster Certificaten & geheimen .

  4. Voeg de sleutelbeschrijving en een vervaldatum voor de sleutel toe.

  5. Klik op Toevoegen om de sleutels van de toepassing op te slaan en bij te werken.

  6. U moet de gegenereerde sleutelwaarde kopiëren (met base64-codering).

    Opmerking

    De sleutelwaarde verdwijnt wanneer u het deelvenster Certificaten & geheimen verlaat. U kunt de sleutel later niet uit dit deelvenster ophalen. Kopieer het om het later te gebruiken.

Toepassingsmachtigingen verlenen

In deze sectie verleent u machtigingen aan de toepassingen.

  1. API-machtigingen>selecteren Een machtiging> toevoegen Intune>Toepassingsmachtigingen.
  2. Kies de optie get_data_warehouse (Datawarehouse-informatie ophalen uit Microsoft Intune).
  3. Klik op Machtigingen toevoegen.
  4. Klik op Gereed in het deelvenster API-toegang toevoegen .
  5. Klik in het deelvenster API-machtigingen op Beheerderstoestemming verlenen en klik op Ja wanneer u promoveert om bestaande machtigingen die deze toepassing al heeft bij te werken.

Token genereren

Maak met Visual Studio een Console App (.NET Framework)-project dat de .NET Framework ondersteunt en C# gebruikt als codeertaal.

  1. Selecteer Bestand>Nieuw>project om het dialoogvenster Nieuw project weer te geven.

  2. Selecteer aan de linkerkant Visual C# om alle .NET Framework-projecten weer te geven.

  3. Selecteer Console-app (.NET Framework), voeg een app-naam toe en klik op OK om de app te maken.

  4. Selecteer Solution ExplorerProgram.cs om de code weer te geven.

  5. Voeg in Solution Explorer een verwijzing naar de assembly System.Configurationtoe.

  6. Selecteer Nieuwitemtoevoegen> in het snelmenu. Het dialoogvenster Nieuw item toevoegen wordt weergegeven.

  7. Selecteer aan de linkerkant onder Visual C# de optie Code.

  8. Selecteer Klas, wijzig de naam van de klas in IntuneDataWarehouseClass.cs en klik op Toevoegen.

  9. Voeg de volgende code toe aan de Main methode:

         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. Voeg extra naamruimten toe door de volgende code aan het begin van het codebestand toe te voegen:

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

    Opmerking

    U moet de Microsoft Authentication Library (MSAL) gebruiken. Zie Je toepassingen bijwerken voor het gebruik van Microsoft Authentication Library (MSAL) en Microsoft Graph API voor meer informatie.

  11. Voeg na de Main methode de volgende persoonlijke methode toe om de app-sleutel te verwerken en te converteren:

    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. Klik in de Solution Explorer met de rechtermuisknop op Verwijzingen en selecteer vervolgens NuGet-pakketten beheren.

  13. Zoek naar Microsoft.Identity.Client en installeer het bijbehorende Microsoft NuGet-pakket.

  14. Selecteer en open het App.config bestand in Solution Explorer.

  15. Voeg de appSettings sectie zodanig toe dat de xml er als volgt uitziet:

    <?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. Werk de , appKey, en tenantDomain waarden bij zodat deze overeenkomen met uw appIdunieke app-gerelateerde waarden.

  17. Bouw uw app.

    Opmerking

    Zie het codevoorbeeld van Intune-Data-Warehouse voor meer informatie.

Volgende stappen

Meer informatie over Azure Key Vault vindt u in Wat is Azure Key Vault?