Uwierzytelnianie Intune Data Warehouse Application-Only

Za pomocą Microsoft Entra ID można skonfigurować aplikację i uwierzytelnić się w Intune Data Warehouse. Ten proces jest przydatny w przypadku witryn internetowych, aplikacji i procesów działających w tle, w przypadku których aplikacja nie powinna mieć dostępu do poświadczeń użytkownika. Wykonując poniższe kroki, autoryzujesz aplikację przy użyciu usługi Microsoft Entra ID przy użyciu protokołu OAuth 2.0.

Autoryzacja

Usługa Microsoft Entra ID wykorzystuje protokół OAuth 2.0, aby umożliwić autoryzację dostępu do aplikacji internetowych i internetowych interfejsów API w dzierżawie usługi Microsoft Entra. W tym przewodniku pokazano, jak uwierzytelnić aplikację przy użyciu języka C#. Przepływ kodu autoryzacji OAuth 2.0 jest opisany w sekcji 4.1 specyfikacji OAuth 2.0. Aby uzyskać więcej informacji, zobacz Autoryzuj dostęp do aplikacji internetowych przy użyciu protokołu OAuth 2.0 i usługi Microsoft Entra ID.

Azure KeyVault

W poniższym procesie do przetwarzania i konwertowania klucza aplikacji używana jest metoda prywatna. Ta prywatna metoda została nazwana SecureString. Alternatywnie możesz użyć usługi Azure KeyVault do przechowywania klucza aplikacji. Aby uzyskać więcej informacji, zobacz Key Vault.

Tworzenie aplikacji sieci Web

W tej sekcji podaj szczegółowe informacje o aplikacji sieci Web, którą chcesz wskazać w usłudze Intune. Aplikacja internetowa to aplikacja klient-serwer. Serwer udostępnia aplikację sieci Web, która zawiera interfejs użytkownika, zawartość i funkcje. Ten typ aplikacji jest osobno obsługiwany w sieci Web. Używasz usługi Intune, aby udzielić aplikacji sieci Web dostępu do usługi Intune. Przepływ danych jest inicjowany przez aplikację sieci Web.

  1. Zaloguj się do Centrum administracyjnego usługi Microsoft Intune.

  2. Wybierz wszystkie usługi>M365 Microsoft Entra ID> Microsoft Entra ID Microsoft Entra IDRejestracje>aplikacji.

  3. Kliknij pozycję Nowa rejestracja , aby wyświetlić okienko Zarejestruj aplikację .

  4. W okienku Rejestrowanie aplikacji dodaj szczegóły aplikacji:

  5. Kliknij przycisk Zarejestruj.

    Uwaga

    Skopiuj identyfikator aplikacji (klienta) z okienka aplikacji, aby użyć go później.

Tworzenie klucza (hasła)

W tej sekcji usługa Microsoft Entra ID generuje wartość klucza dla aplikacji.

  1. W okienku Rejestracje aplikacji wybierz nowo utworzoną aplikację, aby wyświetlić okienko aplikacji.

  2. Wybierz pozycję Certyfikaty & wpisy tajne w górnej części okienka, aby wyświetlić okienko Certyfikaty & wpisy tajne .

  3. Wybierz pozycję Wpisy tajne klienta w okienku Certyfikaty & wpisy tajne .

  4. Dodaj opis klucza i okres ważności klucza.

  5. Kliknij przycisk Dodaj , aby zapisać i zaktualizować klucze aplikacji.

  6. Należy skopiować wygenerowaną wartość klucza (zakodowaną w standardzie base64).

    Uwaga

    Wartość klucza znika po opuszczeniu okienka Certyfikaty & wpisy tajne . Klucza nie można później odzyskać z tego okienka. Skopiuj go, aby użyć go później.

Udzielanie uprawnień aplikacji

W tej sekcji udzielasz uprawnień aplikacjom.

  1. Select API permissions>Add a permission>:IntuneApplication>permissions.
  2. Wybierz opcję get_data_warehouse (Pobierz informacje o hurtowni danych z Microsoft Intune).
  3. Kliknij przycisk Dodaj uprawnienia.
  4. Kliknij przycisk Gotowe w okienku Dodawanie dostępu API .
  5. Kliknij pozycję Udziel zgody administratora w okienku uprawnień interfejsu API , a następnie kliknij pozycję Tak , gdy poziom zostanie podwyższony, aby zaktualizować wszystkie istniejące uprawnienia, które aplikacja już posiada.

Wygeneruj token

Przy użyciu programu Visual Studio utwórz projekt aplikacji konsoli (.NET Framework), który obsługuje platformę .NET Framework i używa języka C# jako języka kodowania.

  1. Wybierz pozycję Plik,>nowy>projekt , aby wyświetlić okno dialogowe Nowy projekt .

  2. Po lewej stronie wybierz Visual C#, aby wyświetlić wszystkie projekty .NET Framework.

  3. Wybierz pozycję Aplikacja konsolowa (.NET Framework), dodaj nazwę aplikacji, a następnie kliknij przycisk OK, aby utworzyć aplikację.

  4. W Eksplorator rozwiązań wybierz Program.cs, aby wyświetlić kod.

  5. W eksploratorze rozwiązań dodaj odwołanie do zestawuSystem.Configuration.

  6. W menu podręcznym wybierz pozycję Dodaj>nowy element. Zostanie wyświetlone okno dialogowe Dodawanie nowego elementu .

  7. Po lewej stronie w obszarze Visual C# wybierz pozycję Kod.

  8. Wybierz pozycję Zajęcia, zmień nazwę zajęć na IntuneDataWarehouseClass.cs, a następnie kliknij przycisk Dodaj.

  9. Dodaj następujący kod w Main ramach metody:

         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. Dodaj więcej przestrzeni nazw, dodając następujący kod u góry pliku kodu:

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

    Uwaga

    Należy użyć biblioteki Microsoft Authentication Library (MSAL). Aby uzyskać więcej informacji, zobacz Aktualizowanie aplikacji do korzystania z biblioteki Microsoft Authentication Library (MSAL) i interfejsu interfejs Graph API Microsoft.

  11. Main Po metodzie dodaj następującą metodę prywatną, aby przetworzyć i przekonwertować klucz aplikacji:

    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. W eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję Odwołania, a następnie wybierz pozycję Zarządzaj pakietami NuGet.

  13. Wyszukaj element Microsoft.Identity.Client i zainstaluj powiązany pakiet NuGet firmy Microsoft.

  14. W Eksplorator rozwiązań wybierz i otwórz plik App.config.

  15. appSettings Dodaj sekcję tak, aby plik xml wyglądał następująco:

    <?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. Zaktualizuj appIdwartości , appKeyi tenantDomain , aby dopasować je do unikatowych wartości związanych z aplikacjami.

  17. Skompiluj aplikację.

    Uwaga

    Aby zobaczyć dodatkowy kod implementacji, zobacz przykładowy kod Intune-Data-Warehouse.

Następne kroki

Dowiedz się więcej o Azure Key Vault, przeglądając Co to jest Azure Key Vault?