Jak používat Microsoft Entra ID pro přístup k rozhraním API Intune v Microsoft Graphu

Microsoft Graph API teď podporuje Microsoft Intune se specifickými rozhraními API a rolemi oprávnění. Microsoft Graph API používá k ověřování a řízení přístupu Microsoft Entra ID. Přístup k rozhraním API Intune v Microsoft Graphu vyžaduje:

  • ID aplikace s:

    • Oprávnění volat rozhraní Microsoft Entra ID a rozhraní Microsoft Graph API.
    • Rozsahy oprávnění relevantní pro konkrétní úlohy aplikace.
  • Přihlašovací údaje uživatele:

    • Oprávnění pro přístup k tenantovi služby Microsoft Entra přidruženému k aplikaci.
    • Oprávnění rolí vyžadovaná pro podporu oborů oprávnění aplikace.
  • Koncový uživatel, který udělí aplikaci oprávnění k provádění aplikačních úloh pro svého tenanta Azure.

Tento článek:

  • Ukazuje, jak zaregistrovat aplikaci s přístupem k rozhraní Microsoft Graph API a relevantním rolím oprávnění.

  • Popisuje role oprávnění rozhraní API aplikace Intune.

  • Poskytuje příklady ověřování rozhraní API pro Intune pro C# a PowerShell.

  • Popisuje, jak podporovat více tenantů.

Více k tomu najdete tady:

Registrace aplikací k používání rozhraní Microsoft Graph API

Registrace aplikace k používání rozhraní Microsoft Graph API:

  1. Přihlaste se do Centra pro správu Microsoft Entra pomocí přihlašovacích údajů správce.

    Podle potřeby můžete použít:

    • Účet správce tenanta.
    • Uživatelský účet tenanta s povoleným nastavením Uživatelé mohou registrovat aplikace .
  2. V Centru pro správu rozbalte položku Aplikace identit> a pak vyberte možnost Registrace aplikací.

    Snímek obrazovky s umístěním nabídky registrací aplikací v centru pro správu Entra.

  3. Buď zvolte Nová registrace a vytvořte novou aplikaci, nebo zvolte existující aplikaci. (Pokud zvolíte existující aplikaci, přeskočte další krok.)

  4. V podokně Zaregistrovat aplikaci zadejte tyto údaje:

  5. Vyberte Registrovat a přidejte svou novou aplikaci.

    Výběrem možnosti Registrovat vyjadřujete souhlas se zásadami platformy společnosti Microsoft.

  6. V podokně aplikace pro vaši aplikaci:

    1. Poznamenejte si hodnotu ID aplikace (klienta ).

    2. Pak v navigační nabídce vyberte Oprávnění rozhraní API.

  7. V podokně oprávnění rozhraní API :

    1. Vyberte Přidat oprávnění a pak na kartě Rozhraní API Microsoftu vyberte dlaždici Microsoft Graph .

    2. Výběrem možnosti Oprávnění aplikace zobrazte všechna dostupná oprávnění a pak vyberte typ oprávnění, která vaše aplikace vyžaduje.

    3. Zvolte role požadované pro vaši aplikaci zaškrtnutím vlevo od příslušných názvů. Další informace o konkrétních Intune oborech oprávnění najdete v tématu Intune oborů oprávnění. Další informace o dalších oborech oprávnění rozhraní Graph API najdete v referenčních informacích k oprávněním Microsoft Graphu.

    Nejlepších výsledků dosáhnete, když zvolíte co nejméně rolí potřebných k implementaci vaší aplikace.

Oprávnění k datovému skladu a vytváření sestav

Když přidáte aplikaci prostřednictvím Centra pro správu Microsoft Entra, můžete zvolit oprávnění rozhraní API pro Intune na základě požadavků vaší aplikace.

  • get_data_warehouse – Pomocí tohoto oprávnění rozhraní API můžete udělit přístup k rozhraní API datového skladu Intune z Microsoft Intune. Další informace naleznete v tématu Použití Microsoft Intune Data Warehouse.

Rozhraní API partnerských řešení

Následující oprávnění rozhraní API pro Intune jsou k dispozici při přidávání aplikace prostřednictvím Centra pro správu Microsoft Entra:

  • get_device_compliance – Toto oprávnění rozhraní API slouží k získání informací o stavu zařízení a dodržování předpisů z Microsoft Intune. Toto oprávnění rozhraní API používají partneři Network Access Control. Další informace najdete v tématu Integrace Network Access Control s Intune.
  • manage_partner_compliance_policy – Toto oprávnění rozhraní API se používá ke správě zásad dodržování předpisů partnerů u Microsoft Intune. Toto oprávnění rozhraní API umožňuje aplikaci odesílat partnerské zásady dodržování předpisů a přiřazení skupiny Microsoft Entra do služby Microsoft Intune bez přihlášeného uživatele. Používají ho partneři pro dodržování předpisů v zařízeních. Další informace najdete v tématu Partneři třetích stran pro dodržování předpisů zařízením.
  • pfx_cert_provider – Toto oprávnění rozhraní API se používá k odesílání certifikátů PFX do Intune konkrétnímu uživateli. Intune doručí certifikát do všech zařízení zaregistrovaných uživatelem. Další informace najdete v tématu PFX Import Powershellu.
  • scep_challenge_provider – Toto oprávnění rozhraní API se používá k odesílání výzev SCEP Intune k ověření žádosti o certifikát. Používají ho partneři certifikační autority. Další informace naleznete v tématu Partnerská certifikační autorita.
  • update_device_attributes – Toto oprávnění rozhraní API slouží k odesílání informací o zařízení partnerům zajišťujícím dodržování předpisů v zařízeních a ochranu před mobilními hrozbami na Intune. Další informace najdete v tématu Integrace ochrany před mobilními hrozbami s Intune a partnery třetích stran pro dodržování předpisů na zařízeních.
  • update_device_health – Toto oprávnění rozhraní API slouží k odesílání informací o stavu zařízení a stavu hrozeb Intune od partnerů ochrany před mobilními hrozbami. Další informace najdete v tématu Integrace ochrany před mobilními hrozbami s Intune.

Pokud jste partnerem, který má zájem o integraci s Intune pomocí těchto oprávnění rozhraní API, požádejte o informace tým Microsoft Intelligent Security Association].

Až to dokončíte, zvolte Přidat oprávnění , abyste změny uložili.

V tomto okamžiku můžete také:

  • Všem účtům tenantů udělíte oprávnění k používání aplikace bez zadání přihlašovacích údajů.

    Uděláte to tak, že udělíte oprávnění a přijmete potvrzovací výzvu.

    Při prvním spuštění aplikace se zobrazí výzva, abyste aplikaci udělili oprávnění k provádění vybraných rolí.

  • Zpřístupněte aplikaci uživatelům mimo vašeho tenanta. (Obvykle se to vyžaduje jenom u partnerů, kteří podporují více tenantů nebo organizací.)

    Postup:

    1. V podokně aplikace zvolte Manifest .

    2. Změňte hodnotu availableToOtherTenants nastavení na true.

    3. Uložte provedené změny.

Popis aplikace

Pokud při žádosti o výpis aplikace při používání rozhraní Graph API obdržíte velké množství dat, může dojít k chybě 503 – služba není k dispozici. Doporučujeme zkusit to znovu s menší velikostí stránky, například 20 nebo méně prvků.

Obory oprávnění pro Intune

Microsoft Entra ID a Microsoft Graph používají obory oprávnění k řízení přístupu k podnikovým prostředkům.

Obory oprávnění (označované také jako obory OAuth) řídí přístup ke konkrétním entitám Intune a jejich vlastnostem. Tato část shrnuje obory oprávnění pro funkce rozhraní API služby Intune.

Další informace:

Když udělíte oprávnění pro Microsoft Graph, můžete zadat následující obory pro řízení přístupu k funkcím Intune: Následující tabulka shrnuje obory oprávnění rozhraní API služby Intune. V prvním sloupci se zobrazuje název funkce, který se zobrazuje v Centru pro správu služby Microsoft Intune, a ve druhém sloupci je název oboru oprávnění.

Povolení nastavení Accessu Název oboru
Provádění vzdálených akcí ovlivňujících uživatele na zařízeních Microsoft Intune DeviceManagementManagedDevices.PrivilegedOperations.All
Čtení a zápis zařízení Microsoft Intune DeviceManagementManagedDevices.ReadWrite.All
Čtení zařízení Microsoft Intune DeviceManagementManagedDevices.Read.All
Čtení a zápis nastavení RBAC služby Microsoft Intune DeviceManagementRBAC.ReadWrite.All
Čtení nastavení RBAC pro Microsoft Intune DeviceManagementRBAC.Read.All
Čtení skriptů Microsoft Intune DeviceManagementScripts.Read.All
Čtení a zápis skriptů aplikace Microsoft Intune DeviceManagementScripts.ReadWrite.All
Čtení a zápis aplikací Microsoft Intune DeviceManagementApps.ReadWrite.All
Čtení aplikací Microsoft Intune DeviceManagementApps.Read.All
Čtení a zápis Microsoft Intune konfiguraci a zásadách zařízení DeviceManagementConfiguration.ReadWrite.All
Čtení Microsoft Intune konfigurace a zásad zařízení DeviceManagementConfiguration.Read.All
Čtení a zápis konfigurace Microsoft Intune DeviceManagementServiceConfig.ReadWrite.All
Přečtěte si konfiguraci Microsoft Intune DeviceManagementServiceConfig.Read.All

V tabulce jsou uvedena nastavení, která jsou zobrazená v Centru pro správu služby Microsoft Intune. Následující části popisují obory v abecedním pořadí.

V tuto chvíli všechny obory oprávnění služby Intune vyžadují přístup správce. To znamená, že při spouštění aplikací nebo skriptů, které přistupují k prostředkům rozhraní API pro Intune, potřebujete odpovídající přihlašovací údaje.

DeviceManagementApps.Read.All

  • Povolení nastavení přístupu: Čtení aplikací Microsoft Intune

  • Umožňuje přístup ke čtení k následujícím vlastnostem a stavům entit:

    • Klientské aplikace
    • Kategorie mobilních aplikací
    • Zásady ochrany aplikací
    • Konfigurace aplikací

DeviceManagementApps.ReadWrite.All

  • Povolení nastavení Accessu: Čtení a zápis aplikací Microsoft Intune

  • Umožňuje stejné operace jako DeviceManagementApps.Read.All

  • Povoluje také změny následujících entit:

    • Klientské aplikace
    • Kategorie mobilních aplikací
    • Zásady ochrany aplikací
    • Konfigurace aplikací

DeviceManagementConfiguration.Read.All

  • Povolení nastavení přístupu: Čtení konfigurace a zásad zařízení s Microsoft Intune

  • Umožňuje přístup ke čtení k následujícím vlastnostem a stavům entit:

    • Konfigurace zařízení
    • Zásady dodržování předpisů zařízením
    • Oznamovací zprávy

Poznámka

Od 31. července 2025 nahradil Microsoft Graph použití oprávnění DeviceManagementConfiguration.Read.All za DeviceManagementScripts.ReadWrite.All pro následující volání rozhraní API:

  • ~/deviceManagement/deviceShellScripts
  • ~/deviceManagement/deviceHealthScripts
  • ~/deviceManagement/deviceComplianceScripts
  • ~/deviceManagement/deviceCustomAttributeShellScripts
  • ~/deviceManagement/deviceManagementScripts

DeviceManagementConfiguration.ReadWrite.All

  • Nastavení povolení přístupu: Konfigurace a zásady zařízení s aplikací Microsoft Intune pro čtení a zápis

  • Umožňuje stejné operace jako DeviceManagementConfiguration.Read.All

  • Aplikace můžou také vytvářet, přiřazovat, odstraňovat a měnit následující entity:

    • Konfigurace zařízení
    • Zásady dodržování předpisů zařízením
    • Oznamovací zprávy

Poznámka

Od 31. července 2025 nahradil Microsoft Graph použití oprávnění DeviceManagementConfiguration.ReadWrite.All za DeviceManagementScripts.ReadWrite.All pro následující volání rozhraní API:

  • ~/deviceManagement/deviceShellScripts
  • ~/deviceManagement/deviceHealthScripts
  • ~/deviceManagement/deviceComplianceScripts
  • ~/deviceManagement/deviceCustomAttributeShellScripts
  • ~/deviceManagement/deviceManagementScripts

DeviceManagementManagedDevices.PrivilegedOperations.All

  • Nastavení Povolit přístup: Provádění vzdálených akcí ovlivňujících uživatele na zařízeních Microsoft Intune

  • Povoluje následující vzdálené akce na spravovaném zařízení:

    • Vyřazení
    • Vymazání
    • Resetování nebo obnovení hesla
    • Vzdálené uzamčení
    • Povolit/zakázat režim ztráty
    • čistý počítač
    • Restartování počítače
    • Odstranit uživatele ze sdíleného zařízení

DeviceManagementManagedDevices.Read.All

  • Nastavení povolení přístupu: Čtení zařízení Microsoft Intune

  • Umožňuje přístup ke čtení k následujícím vlastnostem a stavům entit:

    • Spravované zařízení
    • Kategorie zařízení
    • Zjištěná aplikace
    • Vzdálené akce
    • Informace o malwaru

DeviceManagementManagedDevices.ReadWrite.All

  • Povolení nastavení přístupu: Čtení a zápis zařízení Microsoft Intune

  • Umožňuje stejné operace jako DeviceManagementManagedDevices.Read.All

  • Aplikace můžou také vytvářet, odstraňovat a měnit následující entity:

    • Spravované zařízení
    • Kategorie zařízení
  • Povolené jsou taky následující vzdálené akce:

    • Vyhledávání zařízení
    • Zakázání zámku aktivace
    • Vyžádání vzdálené pomoci

DeviceManagementRBAC.Read.All

  • Povolení přístupu nastavení: Čtení nastavení RBAC pro Microsoft Intune

  • Umožňuje přístup ke čtení k následujícím vlastnostem a stavům entit:

    • Přiřazení rolí
    • Definice rolí
    • Operace se zdroji

DeviceManagementRBAC.ReadWrite.All

  • Povolení nastavení Accessu: Čtení a zápis nastavení RBAC služby Microsoft Intune

  • Umožňuje stejné operace jako DeviceManagementRBAC.Read.All.

  • Aplikace můžou také vytvářet, přiřazovat, odstraňovat a měnit následující entity:

    • Přiřazení rolí
    • Definice rolí

DeviceManagementScripts.Read.All

  • Nastavení Povolení přístupu: Čtení skriptů služby Microsoft Intune

  • Aplikace můžou zobrazit (přečíst) skript, konkrétně:

    • Skripty prostředí zařízení
    • Skripty stavu zařízení
    • Skripty dodržování předpisů zařízením
    • Skripty prostředí vlastních atributů zařízení
    • Skripty pro Správa zařízení

DeviceManagementScripts.ReadWrite.All

  • Nastavení povolení přístupu: Čtení a zápis skriptů aplikace Microsoft Intune
    Umožňuje stejné operace jako DeviceManagementScripts.Read.All

  • Aplikace můžou vytvářet, aktualizovat nebo odstraňovat skripty, konkrétně:

    • Skripty prostředí zařízení
    • Skripty stavu zařízení
    • Skripty dodržování předpisů zařízením
    • Skripty prostředí vlastních atributů zařízení
    • Skripty pro Správa zařízení

DeviceManagementServiceConfig.Read.All

  • Povolení nastavení Accessu: Čtení konfigurace Microsoft Intune

  • Umožňuje přístup ke čtení k následujícím vlastnostem a stavům entit:

    • Registrace zařízení
    • Certifikát Apple Push Notification
    • Program registrace zařízení Apple
    • Apple Volume Purchase Program
    • Konektor Exchange
    • Podmínky a ujednání
    • Cloudová infrastruktura veřejných klíčů
    • Branding
    • Ochrana před mobilními hrozbami

DeviceManagementServiceConfig.ReadWrite.All

  • Nastavení Povolení přístupu: Čtení a zápis konfigurace služby Microsoft Intune

  • Umožňuje stejné operace jako DeviceManagementServiceConfig.Read.All_

  • Aplikace můžou také konfigurovat následující funkce Intune:

    • Registrace zařízení
    • Certifikát Apple Push Notification
    • Program registrace zařízení Apple
    • Apple Volume Purchase Program
    • Konektor Exchange
    • Podmínky a ujednání
    • Cloudová infrastruktura veřejných klíčů
    • Branding
    • Ochrana před mobilními hrozbami

Příklady ověřování v aplikaci Microsoft Entra

V této části se dozvíte, jak začlenit Microsoft Entra ID do projektů C# a PowerShell.

V každém příkladu budete muset zadat ID aplikace, která má alespoň obor DeviceManagementManagedDevices.Read.All oprávnění (popsáno výše).

Při testování obou příkladů se můžou zobrazit chyby stavu HTTP 403 (Zakázáno) podobné následujícímu:

{
  "error": {
    "code": "Forbidden",
    "message": "Application is not authorized to perform this operation - Operation ID " +
       "(for customer support): 00000000-0000-0000-0000-000000000000 - " +
       "Activity ID: cc7fa3b3-bb25-420b-bfb2-1498e598ba43 - " +
       "Url: https://example.manage.microsoft.com/" +
       "Service/Resource/RESTendpoint?" +
       "api-version=2017-03-06 - CustomApiErrorPhrase: ",
    "innerError": {
      "request-id": "00000000-0000-0000-0000-000000000000",
      "date": "1980-01-0112:00:00"
    }
  }
}

Pokud k tomu dojde, ověřte, že:

  • Aktualizovali jste ID aplikace na oprávnění používat Microsoft Graph API a DeviceManagementManagedDevices.Read.All obor oprávnění.

  • Vaše přihlašovací údaje tenanta podporují funkce správy.

  • Váš kód je podobný zobrazeným ukázkám.

Ověření Microsoft Entra ID v C#

Tento příklad ukazuje, jak pomocí jazyka C# načíst seznam zařízení přidružených k vašemu účtu Intune.

Poznámka

Azure AD Graph API je ve své důchodové fázi. Další informace najdete v tématu Aktualizace aplikací tak, aby používaly knihovnu Identity a ověřování Microsoftu (MSAL) a Microsoft Graph API.

  1. Spusťte Visual Studio a pak vytvořte nový projekt konzolové aplikace Visual C# (.NET Framework).

  2. Zadejte název projektu a podle potřeby uveďte další podrobnosti.

    Vytvoření projektu konzolové aplikace C# v sadě Visual Studio
  3. Pomocí Průzkumník řešení přidejte do projektu balíček Microsoft MSAL NuGet:

    1. Klikněte pravým tlačítkem na Průzkumník řešení.
    2. Zvolte Spravovat balíčky NuGet...>Procházet.
    3. Vyberte Microsoft.Identity.Client a pak zvolte Nainstalovat.
  4. Na začátek Program.cs přidejte následující příkazy:

    using Microsoft.Identity.Client;
    using System.Net.Http;
    
  5. Přidejte metodu pro vytvoření autorizační hlavičky:

    private static async Task<string> GetAuthorizationHeader()
    {
        string applicationId = "<Your Application ID>";
        string authority = "https://login.microsoftonline.com/common/";
        Uri redirectUri = new Uri("urn:ietf:wg:oauth:2.0:oob");
        AuthenticationContext context = new AuthenticationContext(authority);
        AuthenticationResult result = await context.AcquireTokenAsync(
            "https://graph.microsoft.com",
            applicationId, redirectUri,
            new PlatformParameters(PromptBehavior.Auto));
        return result.CreateAuthorizationHeader();
    

    Nezapomeňte změnit hodnotu tak application_ID , aby odpovídala té, která má udělený alespoň obor DeviceManagementManagedDevices.Read.All oprávnění, jak je popsáno výše.

  6. Přidejte metodu pro načtení seznamu zařízení:

    private static async Task<string> GetMyManagedDevices()
    {
        string authHeader = await GetAuthorizationHeader();
        HttpClient graphClient = new HttpClient();
        graphClient.DefaultRequestHeaders.Add("Authorization", authHeader);
        return await graphClient.GetStringAsync(
            "https://graph.microsoft.com/beta/me/managedDevices");
    }
    
  7. Aktualizujte hlavní volání GetMyManagedDevices:

    string devices = GetMyManagedDevices().GetAwaiter().GetResult();
    Console.WriteLine(devices);
    
  8. Zkompilujte a spusťte program.

Při prvním spuštění programu by se měly zobrazit dvě výzvy. První požaduje vaše přihlašovací údaje a druhá uděluje oprávnění k managedDevices žádosti.

Pro informaci je zde dokončený program:

using Microsoft.Identity.Client;
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace IntuneGraphExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string devices = GetMyManagedDevices().GetAwaiter().GetResult();
            Console.WriteLine(devices);
        }

        private static async Task<string> GetAuthorizationHeader()
        {
            string applicationId = "<Your Application ID>";
            string authority = "https://login.microsoftonline.com/common/";
            Uri redirectUri = new Uri("urn:ietf:wg:oauth:2.0:oob");
            AuthenticationContext context = new AuthenticationContext(authority);
            AuthenticationResult result = await context.AcquireTokenAsync("https://graph.microsoft.com", applicationId, redirectUri, new PlatformParameters(PromptBehavior.Auto));
            return result.CreateAuthorizationHeader();
        }

        private static async Task<string> GetMyManagedDevices()
        {
            string authHeader = await GetAuthorizationHeader();
            HttpClient graphClient = new HttpClient();
            graphClient.DefaultRequestHeaders.Add("Authorization", authHeader);
            return await graphClient.GetStringAsync("https://graph.microsoft.com/beta/me/managedDevices");
        }
    }
}

Ověření Microsoft Entra ID pomocí Microsoft Graph PowerShellu

Skripty PowerShellu můžou k ověřování používat modul Microsoft Graph PowerShellu. Další informace najdete v tématu Microsoft Graph PowerShell a příklady Intune PowerShellu.

Podpora více tenantů a partnerů

Pokud vaše organizace podporuje organizace s vlastními tenanty Microsoft Entra, můžete svým klientům povolit používání vaší aplikace s příslušnými tenanty.

Postup:

  1. Ověřte, že účet klienta existuje v cílovém tenantovi aplikace Microsoft Entra.

  2. Ověřte, že váš účet tenanta umožňuje uživatelům registrovat aplikace (viz Nastavení uživatele).

  3. Vytvořte vztah mezi jednotlivými tenanty.

    Můžete to udělat buď:

    a. K definování relace s klientem a jeho e-mailovou adresou použijte Partnerské centrum Microsoftu .

    b. Pozvěte uživatele, aby se stal hostem vašeho tenanta.

Pozvání uživatele, aby se stal hostem vašeho tenanta:

  1. Na panelu Rychlé úkoly zvolte Přidat uživatele typu host.

  2. Zadejte e-mailovou adresu klienta a (volitelně) přidejte osobní zprávu k pozvánce.

  3. Zvolte Pozvat.

Tím se uživateli odešle pozvánka.

Uživatel musí zvolit odkaz Začínáme , aby mohl vaši pozvánku přijmout.

Po navázání vztahu (nebo po přijetí pozvánky) přidejte uživatelský účet do role Adresář.

Podle potřeby nezapomeňte přidat uživatele do dalších rolí. Pokud chcete například uživateli povolit správu nastavení služby Intune, musí být alespoň správcem služby Intune.

Zkuste také:

  • Slouží https://admin.microsoft.com k přiřazení licence na Intune k vašemu uživatelskému účtu.

  • Aktualizujte kód aplikace tak, aby se ověřoval ve Microsoft Entra doméně tenanta klienta, nikoli ve vaší vlastní.

    Předpokládejme například, že doména vašeho tenanta contosopartner.onmicrosoft.com je a doména tenanta northwind.onmicrosoft.comvašeho klienta, měli byste aktualizovat kód tak, aby se ověřoval na tenantovi klienta.

    Chcete-li to provést v aplikaci jazyka C# na základě předchozího příkladu, změnili byste hodnotu proměnné authority :

    string authority = "https://login.microsoftonline.com/common/";
    

    na

    string authority = "https://login.microsoftonline.com/northwind.onmicrosoft.com/";