Intune Data Warehouse uwierzytelnianie tylko dla aplikacji
Aplikację można skonfigurować przy użyciu Tożsamość Microsoft Entra i uwierzytelnić się w Intune Data Warehouse. Ten proces jest przydatny w przypadku witryn internetowych, aplikacji i procesów w tle, w których aplikacja nie powinna mieć dostępu do poświadczeń użytkownika. Korzystając z poniższych kroków, autoryzujesz aplikację przy użyciu Tożsamość Microsoft Entra przy użyciu protokołu OAuth 2.0.
Autoryzacja
Tożsamość Microsoft Entra używa protokołu OAuth 2.0, aby umożliwić autoryzację dostępu do aplikacji internetowych i internetowych interfejsów API w dzierżawie Microsoft Entra. W tym przewodniku przedstawiono sposób uwierzytelniania aplikacji przy użyciu języka C#. Przepływ kodu autoryzacji OAuth 2.0 został opisany w sekcji 4.1 specyfikacji OAuth 2.0. Aby uzyskać więcej informacji, zobacz Autoryzowanie dostępu do aplikacji internetowych przy użyciu protokołu OAuth 2.0 i Tożsamość Microsoft Entra.
Azure KeyVault
Poniższy proces używa metody prywatnej do przetwarzania i konwertowania klucza aplikacji. Ta metoda prywatna ma nazwę SecureString. Alternatywnie możesz użyć usługi Azure KeyVault do przechowywania klucza aplikacji. Aby uzyskać więcej informacji, zobacz Key Vault.
Tworzenie aplikacji internetowej
W tej sekcji podasz szczegółowe informacje o aplikacji internetowej, na którą chcesz wskazać Intune. Aplikacja internetowa to aplikacja klient-serwer. Serwer udostępnia aplikację internetową, która obejmuje interfejs użytkownika, zawartość i funkcje. Ten typ aplikacji jest oddzielnie obsługiwany w Sieci Web. Użyjesz Intune, aby udzielić aplikacji internetowej dostępu do Intune. Przepływ danych jest inicjowany przez aplikację internetową.
Zaloguj się do Centrum administracyjnego usługi Microsoft Intune.
Wybierz pozycję Wszystkie usługi>M365 Tożsamość Microsoft Entra>Tożsamość Microsoft Entra>Rejestracje aplikacji.
Kliknij pozycję Nowa rejestracja , aby wyświetlić okienko Rejestrowanie aplikacji .
W okienku Rejestrowanie aplikacji dodaj szczegóły aplikacji:
- Nazwa aplikacji, na przykład Intune App-Only uwierzytelniania.
- Obsługiwany typ konta.
- Identyfikator URI przekierowania aplikacji. Jest to lokalizacja, do która użytkownicy automatycznie nawiguje podczas procesu uwierzytelniania. Muszą udowodnić, że są tym, kim mówią, że są. Aby uzyskać więcej informacji, zobacz Co to jest dostęp do aplikacji i logowanie jednokrotne za pomocą Tożsamość Microsoft Entra?
Kliknij pozycję Zarejestruj.
Uwaga
Skopiuj identyfikator aplikacji (klienta) z okienka aplikacji, aby użyć go później.
Tworzenie klucza (hasła)
W tej sekcji Tożsamość Microsoft Entra generuje wartość klucza dla aplikacji.
W okienku Rejestracje aplikacji wybierz nowo utworzoną aplikację, aby wyświetlić okienko aplikacji.
Wybierz pozycję Certyfikaty & wpisów tajnych w górnej części okienka, aby wyświetlić okienko Certyfikaty & wpisów tajnych .
Wybierz pozycję Klucze tajne klienta w okienku Certyfikaty & wpisów tajnych .
Dodaj klucz Opisi czas wygaśnięcia klucza.
Kliknij przycisk Dodaj , aby zapisać i zaktualizować klucze aplikacji.
Musisz skopiować wygenerowaną wartość klucza (zakodowana w formacie base64).
Uwaga
Wartość klucza zniknie po opuszczeniu okienka Certyfikaty & wpisów tajnych . Nie można później pobrać klucza z tego okienka. Skopiuj go do użycia później.
Udzielanie uprawnień aplikacji
W tej sekcji udzielasz uprawnień aplikacjom.
- Wybierz pozycję Uprawnienia interfejsu APIDodaj uprawnienie>>Intune>Aplikacja uprawnień.
- Wybierz opcję get_data_warehouse (Pobierz informacje o magazynie danych z Microsoft Intune).
- Kliknij pozycję Dodaj uprawnienia.
- Kliknij pozycję Gotowe w okienku Dodawanie dostępu interfejsu API .
- Kliknij pozycję Udziel zgody administratora w okienku uprawnienia interfejsu API i kliknij pozycję Tak po podwyższeniu poziomu, aby zaktualizować wszystkie istniejące uprawnienia, które ta aplikacja ma już.
Generowanie tokenu
Za pomocą programu Visual Studio utwórz projekt aplikacji konsolowej (.NET Framework), który obsługuje .NET Framework i używa języka C# jako języka kodowania.
Wybierz pozycję Plik>nowy>projekt , aby wyświetlić okno dialogowe Nowy projekt .
Po lewej stronie wybierz pozycję Visual C#, aby wyświetlić wszystkie .NET Framework projekty.
Wybierz pozycję Aplikacja konsolowa (.NET Framework), dodaj nazwę aplikacji, a następnie kliknij przycisk OK, aby utworzyć aplikację.
W Eksplorator rozwiązań wybierz pozycję Program.cs, aby wyświetlić kod.
W Eksplorator rozwiązań dodaj odwołanie do zestawu
System.Configuration
.W menu podręcznym wybierz pozycję Dodaj>nowy element. Zostanie wyświetlone okno dialogowe Dodawanie nowego elementu .
Po lewej stronie w obszarze Visual C# wybierz pozycję Kod.
Wybierz pozycję Klasa, zmień nazwę klasy na IntuneDataWarehouseClass.cs, a następnie kliknij przycisk Dodaj.
Dodaj następujący kod w metodzie
Main
: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;
Dodaj dodatkowe przestrzenie nazw, dodając następujący kod w górnej części pliku kodu:
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
Uwaga
Należy użyć biblioteki uwierzytelniania firmy Microsoft (MSAL). Aby uzyskać więcej informacji, zobacz Aktualizowanie aplikacji w celu używania biblioteki Microsoft Authentication Library (MSAL) i microsoft interfejs Graph API.
Po metodzie
Main
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; }
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy pozycję Odwołania, a następnie wybierz pozycję Zarządzaj pakietami NuGet.
Wyszukaj plik Microsoft.Identity.Client i zainstaluj powiązany pakiet NuGet firmy Microsoft.
W Eksplorator rozwiązań wybierz i otwórz plik App.config.
Dodaj sekcję,
appSettings
aby plik XML był wyświetlany w następujący sposób:<?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>
Zaktualizuj
appId
wartości ,appKey
itenantDomain
, aby były zgodne z unikatowymi wartościami związanymi z aplikacją.Skompiluj aplikację.
Uwaga
Aby wyświetlić dodatkowy kod implementacji, zobacz przykład kodu Intune-Data-Warehouse.
Następne kroki
Dowiedz się więcej o usłudze Azure Key Vault, przeglądając temat Co to jest usługa Azure Key Vault?