Intune Data Warehouse ověřování jen pro aplikace
Aplikaci můžete nastavit pomocí Microsoft Entra ID a ověřit ji na Intune Data Warehouse. Tento proces je užitečný pro weby, aplikace a procesy na pozadí, kde by aplikace neměla mít přístup k přihlašovacím údajům uživatele. Pomocí následujícího postupu autorizujete aplikaci pomocí Microsoft Entra ID pomocí OAuth 2.0.
Oprávnění
Microsoft Entra ID pomocí OAuth 2.0 můžete autorizovat přístup k webovým aplikacím a webovým rozhraním API ve vašem tenantovi Microsoft Entra. V této příručce se dozvíte, jak ověřit aplikaci pomocí jazyka C#. Tok autorizačního kódu OAuth 2.0 je popsaný v části 4.1 specifikace OAuth 2.0. Další informace najdete v tématu Autorizace přístupu k webovým aplikacím pomocí OAuth 2.0 a Microsoft Entra ID.
Azure KeyVault
Následující proces používá privátní metodu ke zpracování a převodu klíče aplikace. Tato privátní metoda má název SecureString. Jako alternativu můžete k uložení klíče aplikace použít Azure KeyVault. Další informace najdete v tématu Key Vault.
Vytvoření webové aplikace
V této části zadáte podrobnosti o webové aplikaci, na kterou chcete odkazovat, na Intune. Webová aplikace je aplikace klient-server. Server poskytuje webovou aplikaci, která zahrnuje uživatelské rozhraní, obsah a funkce. Tento typ aplikace se udržuje samostatně na webu. Pomocí Intune udělíte webové aplikaci přístup k Intune. Tok dat je inicializován webovou aplikací.
Přihlaste se k Centru pro správu Microsoft 365.
Vyberte Všechny služby>M365 Microsoft Entra ID>Microsoft Entra ID>Registrace aplikací.
Kliknutím na Nová registracezobrazte podokno Zaregistrovat aplikaci .
V podokně Zaregistrovat aplikaci přidejte podrobnosti o aplikaci:
- Název aplikace, například Intune App-Only ověřování.
- Typ podporovaného účtu.
- Identifikátor URI přesměrování aplikace. Toto je umístění, na které uživatelé během procesu ověřování automaticky přecházet. Jsou povinni prokázat, že jsou tím, kým říkají, že jsou. Další informace najdete v tématu Co je přístup k aplikacím a jednotné přihlašování pomocí Microsoft Entra ID?
Klikněte na Zaregistrovat.
Poznámka
Zkopírujte ID aplikace (klienta) z podokna aplikace a použijte ho později.
Vytvoření klíče (hesla)
V této části Microsoft Entra ID vygeneruje hodnotu klíče pro vaši aplikaci.
V podokně Registrace aplikací vyberte nově vytvořenou aplikaci, aby se zobrazilo podokno aplikace.
V horní části podokna vyberte Certifikáty & tajné kódy a zobrazte podokno Certifikáty & tajné kódy .
V podokně Certifikáty & tajné kódy vyberte Tajné kódy klienta.
Přidejte popis klíče a dobu platnosti klíče.
Kliknutím na Přidat uložte a aktualizujte klíče aplikace.
Musíte zkopírovat vygenerovanou hodnotu klíče (v kódování base64).
Poznámka
Hodnota klíče zmizí po opuštění podokna Certifikáty & tajných kódů . Klíč nebude možné z tohoto podokna později načíst. Zkopírujte ho pro pozdější použití.
Udělení oprávnění aplikacím
V této části udělíte oprávnění aplikacím.
- Vyberte Oprávnění> rozhraní APIPřidat oprávnění>Intune>Použít oprávnění.
- Zvolte možnost get_data_warehouse (Získat informace o datovém skladu z Microsoft Intune).
- Klikněte na Přidat oprávnění.
- V podokně Přidat přístup k rozhraní API klikněte na Hotovo.
- V podokně Oprávnění rozhraní API klikněte na Udělit souhlas správce a kliknutím na Ano při zvýšení úrovně aktualizujte všechna existující oprávnění, která už tato aplikace má.
Vygenerovat token
Pomocí sady Visual Studio vytvořte projekt konzolové aplikace (.NET Framework), který podporuje rozhraní .NET Framework a jako kódovací jazyk používá jazyk C#.
Vyberte Soubor>Nový>projekt , aby se zobrazilo dialogové okno Nový projekt .
Na levé straně vyberte Visual C# , aby se zobrazily všechny projekty .NET Framework.
Vyberte Konzolová aplikace (.NET Framework), přidejte název aplikace a kliknutím na OK aplikaci vytvořte.
V Průzkumník řešení vyberte Program.cs a zobrazte kód.
V Průzkumník řešení přidejte odkaz na sestavení
System.Configuration
.V místní nabídce vyberte Přidat>novou položku. Zobrazí se dialogové okno Přidat novou položku .
Na levé straně v části Visual C# vyberte Kód.
Vyberte Třída, změňte název třídy na IntuneDataWarehouseClass.cs a klikněte na Přidat.
Do metody přidejte následující kód
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;
Přidejte další obory názvů tak, že na začátek souboru kódu přidáte následující kód:
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
Poznámka
Musíte použít knihovnu MSAL (Microsoft Authentication Library). Další informace najdete v tématu Aktualizace aplikací tak, aby používaly knihovnu MSAL (Microsoft Authentication Library) a Microsoft Graph API.
Za metodu
Main
přidejte následující privátní metodu pro zpracování a převod klíče aplikace: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; }
V Průzkumník řešení klikněte pravým tlačítkem na Odkazy a pak vyberte Spravovat balíčky NuGet.
Vyhledejte Microsoft.Identity.Client a nainstalujte související balíček NuGet od Microsoftu.
V Průzkumník řešení vyberte a otevřete soubor App.config.
appSettings
Přidejte oddíl tak, aby se xml zobrazil následujícím způsobem:<?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>
appId
Aktualizujte hodnoty ,appKey
atenantDomain
tak, aby odpovídaly jedinečným hodnotám souvisejícím s aplikací.Sestavte aplikaci.
Poznámka
Další kód implementace najdete v příkladu kódu Intune-Data-Warehouse.
Další kroky
Další informace o Azure Key Vault najdete v tématu Co je Azure Key Vault?