Intune Data Warehouse programbaserad autentisering
Du kan konfigurera ett program med hjälp av Microsoft Entra ID och autentisera till Intune Data Warehouse. Den här processen är användbar för webbplatser, appar och bakgrundsprocesser där programmet inte ska ha åtkomst till användarautentiseringsuppgifter. Med hjälp av följande steg auktoriserar du ditt program med Microsoft Entra ID med hjälp av OAuth 2.0.
Tillstånd
Microsoft Entra ID använder OAuth 2.0 för att ge åtkomst till webbprogram och webb-API:er i din Microsoft Entra klientorganisation. Den här guiden visar hur du autentiserar ditt program med C#. OAuth 2.0-auktoriseringskodflödet beskrivs i avsnitt 4.1 i OAuth 2.0-specifikationen. Mer information finns i Auktorisera åtkomst till webbprogram med OAuth 2.0 och Microsoft Entra ID.
Azure KeyVault
Följande process använder en privat metod för att bearbeta och konvertera en appnyckel. Den här privata metoden har fått namnet SecureString. Alternativt kan du använda Azure KeyVault för att lagra appnyckeln. Mer information finns i Key Vault.
Skapa en webbapp
I det här avsnittet anger du information om den webbapp som du vill peka på vid Intune. En webbapp är ett klientserverprogram. Servern tillhandahåller webbappen, som innehåller användargränssnitt, innehåll och funktioner. Den här typen av app underhålls separat på webben. Du använder Intune för att ge en webbapp åtkomst till Intune. Dataflödet initieras av webbappen.
Logga in på Microsoft Intune administrationscenter.
Välj Alla tjänster>M365 Microsoft Entra ID>Microsoft Entra ID>Appregistreringar.
Klicka på Ny registrering för att visa fönstret Registrera ett program .
I fönstret Registrera ett program lägger du till din appinformation:
- Ett appnamn, till exempel Intune App-Only Auth.
- Kontotypen Som stöds.
- Programmets omdirigerings-URI. Det här är den plats som användarna automatiskt navigerar till under autentiseringsprocessen. De måste bevisa att de är de de säger att de är. Mer information finns i Vad är programåtkomst och enkel inloggning med Microsoft Entra ID?
Klicka på Registrera.
Obs!
Kopiera program-ID:t (klient) från appfönstret för senare användning.
Skapa en nyckel (lösenord)
I det här avsnittet genererar Microsoft Entra ID ett nyckelvärde för din app.
I fönstret Appregistreringar väljer du den nyligen skapade appen för att visa appfönstret.
Välj Certifikat & hemligheter längst upp i fönstret för att visa fönstret Certifikat & hemligheter .
Välj Klienthemligheter i fönstret Certifikat & hemligheter .
Lägg till nyckelbeskrivningen och varaktigheten Förfaller för nyckeln.
Klicka på Lägg till för att spara och uppdatera programmets nycklar.
Du måste kopiera det genererade nyckelvärdet (base64-kodat).
Obs!
Nyckelvärdet försvinner när du har lämnat fönstret Certifikat & hemligheter . Du kan inte hämta nyckeln från det här fönstret senare. Kopiera den så att den används senare.
Bevilja programbehörigheter
I det här avsnittet beviljar du behörigheter till programmen.
- Välj API-behörigheter>Lägg till en behörighet>Intune>Programbehörigheter.
- Välj alternativet get_data_warehouse (Hämta information om informationslager från Microsoft Intune).
- Klicka på Lägg till behörigheter.
- Klicka på Klar i fönstret Lägg till API-åtkomst .
- Klicka på Bevilja administratörsmedgivande i fönstret API-behörigheter och klicka på Ja när det uppgraderas för att uppdatera befintliga behörigheter som programmet redan har.
Generera token
Med Visual Studio skapar du ett konsolappsprojekt (.NET Framework) som stöder .NET Framework och använder C# som kodningsspråk.
Välj Arkiv>Nytt>projekt för att visa dialogrutan Nytt projekt .
Till vänster väljer du Visual C# för att visa alla .NET Framework projekt.
Välj Konsolapp (.NET Framework), lägg till ett appnamn och klicka sedan på OK för att skapa appen.
I Solution Explorer väljer du Program.cs för att visa koden.
I Solution Explorer lägger du till en referens till sammansättningen
System.Configuration
.I popup-menyn väljer du Lägg till>nytt objekt. Dialogrutan Lägg till nytt objekt visas.
Välj Kod under Visual C# till vänster.
Välj Klass, ändra namnet på klassen till IntuneDataWarehouseClass.cs och klicka på Lägg till.
Lägg till följande kod i
Main
metoden: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;
Lägg till ytterligare namnområden genom att lägga till följande kod överst i kodfilen:
using System.Security; using Microsoft.Identity.Client; using System.Configuration;
Obs!
Du måste använda Microsoft Authentication Library (MSAL). Mer information finns i Uppdatera dina program så att de använder Microsoft Authentication Library (MSAL) och Microsoft Graph API.
Main
Efter metoden lägger du till följande privata metod för att bearbeta och konvertera appnyckeln: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; }
I Solution Explorerhögerklickar du på Referenser och väljer sedan Hantera NuGet-paket.
Sök efter Microsoft.Identity.Client och installera det relaterade Microsoft NuGet-paketet.
I Solution Explorer väljer du och öppnar App.config-filen.
Lägg till avsnittet
appSettings
så att XML-koden visas på följande sätt:<?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
Uppdatera värdena ,appKey
ochtenantDomain
så att de matchar dina unika apprelaterade värden.Skapa din app.
Obs!
Mer implementeringskod finns i kodexemplet Intune-Data-Warehouse.
Nästa steg
Läs mer om Azure Key Vault genom att läsa Vad är Azure Key Vault?