Az Intune Graph API elérése az Azure AD használatávalHow to use Azure AD to access the Intune Graph API

A Microsoft Graph API mostantól megfelelő API-kkal és engedélyezési szerepkörökkel támogatja a Microsoft Intune szolgáltatást.The Microsoft Graph API now supports Microsoft Intune with specific APIs and permission roles. A Graph API az Azure Active Directoryt (Azure AD) használja a hitelesítéshez és a hozzáférés-vezérléshez.The Graph API uses Azure Active Directory (Azure AD) for authentication and access control.
Az Intune Graph API-hoz való hozzáféréshez a következőkre van szükség:Access to the Intune Graph API requires:

  • Alkalmazásazonosító, amely tartalmazza:An application ID with:

    • az Azure AD és a Graph API-k hívásához szükséges engedélyt,Permission to call Azure AD and Graph APIs.
    • az adott alkalmazásfeladatokhoz kapcsolódó engedélyhatóköröket.Permission scopes relevant to the specific application tasks.
  • Felhasználói hitelesítő adatok, amelyek tartalmazzák:User credentials with:

    • a hozzáférési engedélyt az alkalmazáshoz társított Azure AD-bérlőhöz,Permission to access the Azure AD tenant associated with the application.
    • az alkalmazás-engedélyhatókörök támogatásához szükséges szerepkörengedélyeket.Role permissions required to support the application permission scopes.
  • Végfelhasználó, aki engedélyezi az alkalmazásnak az Azure-bérlőhöz kapcsolódó alkalmazásfeladatokat.The end user to grant permission to the app to perform applications tasks for their Azure tenant.

Ez a cikk:This article:

  • Bemutatja, hogy kell regisztrálni egy Graph API-hozzáféréssel és a kapcsolódó engedélyezési szerepkörökkel rendelkező alkalmazást.Shows how to register an application with access to the Graph API and relevant permission roles.

  • Leírja az Intune Graph API engedélyezési szerepköreit.Describes the Intune Graph API permission roles.

  • Példákat ad az Intune Graph API hitelesítésére C# és PowerShell környezetben.Provides Intune Graph API authentication examples for C# and PowerShell.

  • Leírja, hogyan állítható be több bérlő támogatása.Describes how to support multiple tenants

További tudnivalókért lásd:To learn more, see:

Alkalmazások regisztrálása a Graph API használatáhozRegister apps to use Graph API

A következőképpen regisztrálhat egy alkalmazást a Graph API használatához:To register an app to use Graph API:

  1. Jelentkezzen be az Azure Portalon rendszergazdai hitelesítő adatokkal.Sign into the Azure portal using administrative credentials.

    Igény szerint az alábbiak közül bármelyiket használhatja:As appropriate, you may use:

    • A bérlői rendszergazdafiókot.The tenant admin account.
    • Olyan bérlői felhasználói fiókot, amelyen engedélyezve van A felhasználók regisztrálhatnak alkalmazásokat beállítás.A tenant user account with the Users can register applications setting enabled.
  2. A menüben válassza az Azure Active Directory > Alkalmazásregisztrációk elemet.From the menu, choose Azure Active Directory > App Registrations.

    The App registrations menu command

  3. Hozzon létre új alkalmazást az Új alkalmazás regisztrálása elemre kattintva, vagy válasszon egy meglévő alkalmazást.Either choose New application registration to create a new application or choose an existing application. (Ha meglévő alkalmazást választott, hagyja ki a következő lépést.)(If you choose an existing application, skip the next step.)

  4. A Létrehozás panelen adja meg a következőket:On the Create blade, specify the following:

    1. A Név mezőben adja meg az alkalmazás nevét (amely megjelenik a felhasználók bejelentkezésekor).A Name for the application (displayed when users sign in).

    2. Az Alkalmazás típusa és az Átirányítási URI mező értékét.The Application type and Redirect URI values.

      Ezek az igényektől függően változhatnak.These vary according to your requirements. Például ha Azure AD-alapú hitelesítési tárat (ADAL) használ, az Alkalmazás típusa legyen Native az Átirányítási URI pedig legyen urn:ietf:wg:oauth:2.0:oob.For example, if you're using an Azure AD Authentication Library (ADAL), set Application Type to Native and Redirect URI to urn:ietf:wg:oauth:2.0:oob.

      New app properties and values

      További tudnivalókért lásd: Hitelesítési forgatókönyvek az Azure AD-ban.To learn more, see Authentication Scenarios for Azure AD.

  5. Az alkalmazás paneljén:From the application blade:

    1. Jegyezze fel az Alkalmazás azonosítója mező értékét.Note the Application ID value.

    2. Válassza a Beállítások > API-hozzáférés > Szükséges engedélyek lehetőséget.Choose Settings > API access > Required permissions.

    The Required permissions setting

  6. A Szükséges engedélyek panelen válassza a Hozzáadás > API-hozzáférés hozzáadása > API kiválasztása lehetőséget.From the Required Permissions blade, choose Add > Add API access > Select an API.

    The Microsoft Graph setting

  7. Az API kiválasztása panelen válassza a Microsoft Graph > Kiválasztás lehetőséget.From the Select an API blade, choose Microsoft Graph > Select. Ekkor megnyílik a Hozzáférés engedélyezése panel, amelyen látható az alkalmazás számára elérhető engedélyhatókörök listája.The Enable access blade opens and lists permission scopes available to your application.

    Intune Graph API permission scopes

    Helyezzen pipát az alkalmazás számára szükséges szerepkörök nevétől balra.Choose the roles required for your app by placing a checkmark to the left of the relevant names. Az adott Intune-engedélyhatókörök megismeréséhez lásd: Intune-engedélyhatókörök.To learn about specific Intune permission scopes, see Intune permission scopes. Egyéb Graph API-engedélyhatókörök megismeréséhez lásd a Microsoft Graph-engedélyekkel kapcsolatos segédanyagot.To learn about other Graph API permission scopes, see Microsoft Graph permissions reference.

    A legjobb eredményt akkor éri el, ha az alkalmazás implementálásához szükséges lehető legkevesebb szerepkört választja.For best results, choose the fewest roles needed to implement your application.

    Ha elkészült, kattintson a Kiválasztás, majd a Kész elemre a változások mentéséhez.When finished, choose Select and Done to save you changes.

Ezen a ponton lehetősége van:At this point, you may also:

  • Engedélyt adhat minden bérlői fióknak, hogy hitelesítő adatok megadása nélkül használja az alkalmazást.Choose to grant permission for all tenant accounts to use the app without providing credentials.

    Ehhez válassza az Engedélyek megadása lehetőséget, és fogadja el a megerősítési kérést.To do so, choose Grant permissions and accept the confirmation prompt.

    Amikor először futtatja az alkalmazást, a rendszer kérni fogja, hogy adja meg az engedélyt az alkalmazásnak a kiválasztott szerepkörök végrehajtásához.When you run the application for the first time, you're prompted to grant the app permission to perform the selected roles.

    The Grant permissions button

  • Elérhetővé teheti az alkalmazást a bérlőn kívüli felhasználók számára.Make the app available to users outside your tenant. (Ez általában csak olyan partnerek esetén szükséges, akik több bérlőt, illetve céget támogatnak.)(This is typically only required for partners supporting multiple tenants/organizations.)

    Ehhez tegye a következőket:To do so:

    1. Az alkalmazás paneljén kattintson a Jegyzékfájl elemre, amely megnyitja a Jegyzékfájl szerkesztése panelt.Choose Manifest from the application blade, which opens the Edit Manifest blade.

      The Edit manifest blade

    2. Módosítsa az availableToOtherTenants beállítást true értékűre.Change the value of the availableToOtherTenants setting to true.

    3. Mentse a változtatásokat.Save your changes.

Intune-engedélyhatókörökIntune permission scopes

Az Azure AD és a Graph API engedélyhatókörök segítségével szabályozza a céges erőforrásokhoz való hozzáférést.Azure AD and the Graph API use permission scopes to control access to corporate resources.

Az engedélyhatókörök (más néven OAuth-hatókörök) az adott Intune-entitásokhoz és tulajdonságaikhoz való hozzáférést szabályozzák.Permission scopes (also called the OAuth scopes) control access to specific Intune entities and their properties. Ez a szakasz az Intune Graph API-funkciók engedélyhatóköreit foglalja össze.This section summarizes the permission scopes for Intune Graph API features.

További tudnivalók:To learn more:

A Graph API engedélyezésekor az alábbi táblázatban összefoglalt Intune Graph API-engedélyhatóköröket adhatja meg az Intune-funkciókhoz való hozzáférés szabályozásához.When you grant permission to the Graph API, you can specify the following scopes to control access to Intune features: The following table summarizes the Intune Graph API permission scopes. Az első oszlop a funkció nevét tünteti fel abban a formában, ahogy az Azure Portalon megjelenik, a második oszlopban az engedélyhatókör neve látható.The first column shows the name of the feature as displayed in the Azure portal and the second column provides the permission scope name.

Hozzáférés engedélyezése beállításEnable Access setting Hatókör neveScope name
Felhasználót érintő távoli műveletek végzése Microsoft Intune-eszközökönPerform user-impacting remote actions on Microsoft Intune devices DeviceManagementManagedDevices.PrivilegedOperations.AllDeviceManagementManagedDevices.PrivilegedOperations.All
Microsoft Intune-eszközök olvasása és írás rájukRead and write Microsoft Intune devices DeviceManagementManagedDevices.ReadWrite.AllDeviceManagementManagedDevices.ReadWrite.All
Microsoft Intune-eszközök olvasásaRead Microsoft Intune devices DeviceManagementManagedDevices.Read.AllDeviceManagementManagedDevices.Read.All
Microsoft Intune RBAC beállításainak olvasása és írásaRead and write Microsoft Intune RBAC settings DeviceManagementRBAC.ReadWrite.AllDeviceManagementRBAC.ReadWrite.All
Microsoft Intune RBAC beállításainak olvasásaRead Microsoft Intune RBAC settings DeviceManagementRBAC.Read.AllDeviceManagementRBAC.Read.All
Microsoft Intune-alkalmazások olvasása és írás rájukRead and write Microsoft Intune apps DeviceManagementApps.ReadWrite.AllDeviceManagementApps.ReadWrite.All
Microsoft Intune-alkalmazások olvasásaRead Microsoft Intune apps DeviceManagementApps.Read.AllDeviceManagementApps.Read.All
Microsoft Intune-beli eszközkonfiguráció és szabályzatok olvasása és írásaRead and write Microsoft Intune Device Configuration and Policies DeviceManagementConfiguration.ReadWrite.AllDeviceManagementConfiguration.ReadWrite.All
Microsoft Intune-beli eszközkonfiguráció és szabályzatok olvasásaRead Microsoft Intune Device Configuration and Policies DeviceManagementConfiguration.Read.AllDeviceManagementConfiguration.Read.All
Microsoft Intune-konfiguráció olvasása és írásaRead and write Microsoft Intune configuration DeviceManagementServiceConfig.ReadWrite.AllDeviceManagementServiceConfig.ReadWrite.All
Microsoft Intune-konfiguráció olvasásaRead Microsoft Intune configuration DeviceManagementServiceConfig.Read.AllDeviceManagementServiceConfig.Read.All

A táblázat az Azure Portalon látható sorrendben listázza a beállításokat.The table lists the settings as they appear in the Azure portal. Az alábbi szakaszokban a hatókörök betűrendes listája és a hozzájuk tartozó leírás olvasható.The following sections describe the scopes in alphabetical order.

Jelenleg minden Intune-engedélyhatókörhöz rendszergazdai hozzáférés szükséges.At this time, all Intune permission scopes require administrator access. Ez azt jelenti, hogy az Intune Graph API-erőforrásokhoz hozzáférő alkalmazások vagy szkriptek futtatásához rendelkeznie kell a megfelelő hitelesítő adatokkal.This means you need corresponding credentials when running apps or scripts that access Intune Graph API resources.

DeviceManagementApps.Read.AllDeviceManagementApps.Read.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-alkalmazások olvasásaEnable Access setting: Read Microsoft Intune apps

  • Olvasási hozzáférést biztosít a következő entitástulajdonságokhoz és -állapotokhoz:Permits read access to the following entity properties and status:

    • MobilalkalmazásokMobile Apps
    • Mobilalkalmazás-kategóriákMobile App Categories
    • Alkalmazásvédelmi szabályzatokApp Protection Policies
    • Alkalmazáskonfigurációs szabályzatokApp Configurations

DeviceManagementApps.ReadWrite.AllDeviceManagementApps.ReadWrite.All

  • Hozzáférés engedélyezés beállítás: Microsoft Intune-alkalmazások olvasása és írásaEnable Access setting: Read and write Microsoft Intune apps

  • Lehetővé teszi ugyanazokat a műveleteket, mint a DeviceManagementApps.Read.AllAllows the same operations as DeviceManagementApps.Read.All

  • Ezenkívül lehetővé teszi az alábbi entitások módosítását is:Also permits changes to the following entities:

    • MobilalkalmazásokMobile Apps
    • Mobilalkalmazás-kategóriákMobile App Categories
    • Alkalmazásvédelmi szabályzatokApp Protection Policies
    • Alkalmazáskonfigurációs szabályzatokApp Configurations

DeviceManagementConfiguration.Read.AllDeviceManagementConfiguration.Read.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-eszközkonfiguráció és -szabályzatok olvasásaEnable Access setting: Read Microsoft Intune device configuration and policies

  • Olvasási hozzáférést biztosít a következő entitástulajdonságokhoz és -állapotokhoz:Permits read access to the following entity properties and status:

    • EszközkonfigurációDevice Configuration
    • Eszköz-megfelelőségi szabályzatDevice Compliance Policy
    • Értesítési üzenetekNotification Messages

DeviceManagementConfiguration.ReadWrite.AllDeviceManagementConfiguration.ReadWrite.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-eszközkonfiguráció és -szabályzatok olvasása és írásaEnable Access setting: Read and write Microsoft Intune device configuration and policies

  • Lehetővé teszi ugyanazokat a műveleteket, mint a DeviceManagementConfiguration.Read.AllAllows the same operations as DeviceManagementConfiguration.Read.All

  • Ezenkívül az alkalmazások létrehozhatják, hozzárendelhetik, törölhetik és módosíthatják a következő entitásokat:Apps can also create, assign, delete, and change the following entities:

    • EszközkonfigurációDevice Configuration
    • Eszköz-megfelelőségi szabályzatDevice Compliance Policy
    • Értesítési üzenetekNotification Messages

DeviceManagementManagedDevices.PrivilegedOperations.AllDeviceManagementManagedDevices.PrivilegedOperations.All

  • Hozzáférés engedélyezése beállítás: Felhasználókat érintő távoli műveletek végrehajtása Microsoft Intune-eszközökönEnable Access setting: Perform user-impacting remote actions on Microsoft Intune devices

  • Lehetővé teszi a következő távoli műveletek felügyelt eszközön való végrehajtását:Permits the following remote actions on a managed device:

    • KivonásRetire
    • TörlésWipe
    • PIN-kód alaphelyzetbe állítása/helyreállításaReset/Recover Passcode
    • Távoli zárolásRemote Lock
    • Elveszett eszköz mód engedélyezése/letiltásaEnable/Disable Lost Mode
    • Számítógép megtisztításaClean PC
    • ÚjraindításReboot
    • Felhasználó törlése megosztott eszközrőlDelete User from Shared Device

DeviceManagementManagedDevices.Read.AllDeviceManagementManagedDevices.Read.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-eszközök olvasásaEnable Access setting: Read Microsoft Intune devices

  • Olvasási hozzáférést biztosít a következő entitástulajdonságokhoz és -állapotokhoz:Permits read access to the following entity properties and status:

    • Felügyelt eszközManaged Device
    • EszközkategóriaDevice Category
    • Észlelt alkalmazásDetected App
    • Távoli műveletekRemote actions
    • Kártevőkre vonatkozó információMalware information

DeviceManagementManagedDevices.ReadWrite.AllDeviceManagementManagedDevices.ReadWrite.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-eszközök olvasása és írásaEnable Access setting: Read and write Microsoft Intune devices

  • Lehetővé teszi ugyanazokat a műveleteket,mint a DeviceManagementManagedDevices.Read.AllAllows the same operations as DeviceManagementManagedDevices.Read.All

  • Ezenkívül az alkalmazások létrehozhatják, törölhetik és módosíthatják a következő entitásokat:Apps can also create, delete, and change the following entities:

    • Felügyelt eszközManaged Device
    • EszközkategóriaDevice Category
  • A következő távoli műveletek szintén engedélyezettek:The following remote actions are also allowed:

    • Eszközök megkereséseLocate devices
    • Aktiválási zár megkerüléseBypass activation lock
    • Távsegítség kéréseRequest remote assistance

DeviceManagementRBAC.Read.AllDeviceManagementRBAC.Read.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune RBAC-beállítások olvasásaEnable Access setting: Read Microsoft Intune RBAC settings

  • Olvasási hozzáférést biztosít a következő entitástulajdonságokhoz és -állapotokhoz:Permits read access to the following entity properties and status:

    • Szerepkör-hozzárendelésekRole Assignments
    • Szerepkör-definíciókRole Definitions
    • Erőforrás-műveletekResource Operations

DeviceManagementRBAC.ReadWrite.AllDeviceManagementRBAC.ReadWrite.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune RBAC-beállítások olvasása és írásaEnable Access setting: Read and write Microsoft Intune RBAC settings

  • Lehetővé teszi ugyanazokat a műveleteket,mint a DeviceManagementRBAC.Read.AllAllows the same operations as DeviceManagementRBAC.Read.All

  • Ezenkívül az alkalmazások létrehozhatják, hozzárendelhetik, törölhetik és módosíthatják a következő entitásokat:Apps can also create, assign, delete, and change the following entities:

    • Szerepkör-hozzárendelésekRole Assignments
    • Szerepkör-definíciókRole Definitions

DeviceManagementServiceConfig.Read.AllDeviceManagementServiceConfig.Read.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-konfiguráció olvasásaEnable Access setting: Read Microsoft Intune configuration

  • Olvasási hozzáférést biztosít a következő entitástulajdonságokhoz és -állapotokhoz:Permits read access to the following entity properties and status:

    • Eszközök beléptetéseDevice Enrollment
    • Apple Push Notification-tanúsítványApple Push Notification Certificate
    • Apple Készülékregisztrációs programApple Device Enrollment Program
    • Apple Volume Purchase ProgramApple Volume Purchase Program
    • Exchange-összekötőExchange Connector
    • Feltételek és kikötésekTerms and Conditions
    • Távközlési költségek kezeléseTelecoms Expense Management
    • Felhőalapú PKICloud PKI
    • VédjegyezésBranding
    • Mobile Threat DefenseMobile Threat Defense

DeviceManagementServiceConfig.ReadWrite.AllDeviceManagementServiceConfig.ReadWrite.All

  • Hozzáférés engedélyezése beállítás: Microsoft Intune-konfiguráció olvasása és írásaEnable Access setting: Read and write Microsoft Intune configuration

  • Lehetővé teszi ugyanazokat a műveleteket, mint a DeviceManagementServiceConfig.Read.All_Allows the same operations as DeviceManagementServiceConfig.Read.All_

  • Ezenkívül az alkalmazások a következő Intune-funkciókat is konfigurálhatják:Apps can also configure the following Intune features:

    • Eszközök beléptetéseDevice Enrollment
    • Apple Push Notification-tanúsítványApple Push Notification Certificate
    • Apple Készülékregisztrációs programApple Device Enrollment Program
    • Apple Volume Purchase ProgramApple Volume Purchase Program
    • Exchange-összekötőExchange Connector
    • Feltételek és kikötésekTerms and Conditions
    • Távközlési költségek kezeléseTelecoms Expense Management
    • Felhőalapú PKICloud PKI
    • VédjegyezésBranding
    • Mobile Threat DefenseMobile Threat Defense

Példák az Azure AD-hitelesítésreAzure AD authentication examples

Ez a szakasz azt mutatja be, hogy miként építheti be az Azure AD-t C#- és PowerShell-alapú projektekbe.This section shows how to incorporate Azure AD into your C# and PowerShell projects.

Minden példánál szükség lesz egy olyan alkalmazásazonosító megadására, amely legalább a DeviceManagementManagedDevices.Read.All engedélyhatókört tartalmazza (a fent leírtak szerint).In each example, you'll need to specify an application ID that has at least the DeviceManagementManagedDevices.Read.All permission scope (discussed earlier).

Bármely példa tesztelésénél előfordulhat, hogy a rendszer az alábbihoz hasonló 403-as (Tiltott) HTTP-állapothibát jelez:When testing either example, you may receive HTTP status 403 (Forbidden) errors similar to the following:

{
  "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"
    }
  }
}

Ilyenkor ellenőrizze a következőket:If this happens, verify that:

  • Az alkalmazásazonosítót olyanra módosította, amely jogosult a Graph API és a DeviceManagementManagedDevices.Read.All engedélyhatókör használatára.You've updated the application ID to one authorized to use the Graph API and the DeviceManagementManagedDevices.Read.All permission scope.

  • A bérlői hitelesítő adatok támogatják a felügyeleti funkciókat.Your tenant credentials support administrative functions.

  • A kód hasonlít az itt bemutatott példákhoz.Your code is similar to the displayed samples.

Az Azure AD hitelesítése C#-környezetbenAuthenticate Azure AD in C#

Az alábbi példa az Intune-fiókhoz társított eszközök C#-kód használatával való beolvasását mutatja be.This example shows how to use C# to retrieve a list of devices associated with your Intune account.

  1. Indítsa el a Visual Studiót, majd hozzon létre egy új Visual C#-alapú konzolalkalmazás-projektet (.NET-keretrendszer).Start Visual Studio and then create a new Visual C# Console app (.NET Framework) project.

  2. Adja meg a projekt nevét, és igény szerint a további adatokat.Enter a name for your project and provide other details as desired.

    Creating a C# console app project in Visual Studio

  3. Adja hozzá a projekthez a Microsoft ADAL NuGet-csomagot a Megoldáskezelő segítségével.Use the Solution Explorer to add the Microsoft ADAL NuGet package to the project.

    1. Kattintson a jobb gombbal a Megoldáskezelőre.Right-click the Solution Explorer.
    2. Válassza a Manage NuGet-Packages… (NuGet-csomagok kezelése)Choose Manage NuGet Packages… > Browse (Tallózás) lehetőséget.> Browse.
    3. Válassza ki a Microsoft.IdentityModel.Clients.ActiveDirectory elemet, majd kattintson az Install (Telepítés) elemre.Select Microsoft.IdentityModel.Clients.ActiveDirectory and then choose Install.

    Selecting the Azure AD identity model module

  4. A Program.cs fájl elejére illessze be a következő utasításokat:Add the following statements to the top of Program.cs:

    using Microsoft.IdentityModel.Clients.ActiveDirectory;</p>
    using System.Net.Http;
    
  5. Adjon meg egy metódust az engedélyezési fejléc létrehozásához:Add a method to create the authorization header:

    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();
    

    Ne felejtse el módosítani az application_ID értékét úgy, hogy a korábban leírtaknak megfelelően legalább a DeviceManagementManagedDevices.Read.All engedélyhatókörrel rendelkező alkalmazásnak feleljen meg.Remember to change the value of application_ID to match one granted at least the DeviceManagementManagedDevices.Read.All permission scope, as described earlier.

  6. Adjon meg egy metódust az eszközök listájának beolvasásához:Add a method to retrieve the list of devices:

    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. Módosítsa a Main elemet úgy, hogy meghívja GetMyManagedDevices metódust:Update Main to call GetMyManagedDevices:

    string devices = GetMyManagedDevices().GetAwaiter().GetResult();
    Console.WriteLine(devices);
    
  8. Fordítsa és futtassa a programot.Compile and run your program.

A program első futtatásánál két kérést kell kapnia.When you first run your program, you should receive two prompts. Az első a hitelesítő adatokat kéri, a másodikkal pedig megadhatja az engedélyeket a managedDevices kérelemre.The first requests your credentials and the second grants permissions for the managedDevices request.

Referenciaként itt látható a kész program:For reference, here's the completed program:

using Microsoft.IdentityModel.Clients.ActiveDirectory;
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");
        }
    }
}

Az Azure AD hitelesítése a PowerShell használatávalAuthenticate Azure AD (PowerShell)

A következő PowerShell-szkript az Azure AD PowerShell modulját használja a hitelesítéshez.The following PowerShell script uses the AzureAD PowerShell module for authentication. További tudnivalók az Azure Active Directory PowerShell – 2-es verzió és az Intune-os PowerShell-minták cikkben olvasható.To learn more, see Azure Active Directory PowerShell Version 2 and the Intune PowerShell examples.

Ebben a példában a $clientID értékét frissítse olyan értékre, amely megfelel egy érvényes alkalmazásazonosítónak.In this example, update the value of $clientID to match a valid application ID.

function Get-AuthToken {
    [cmdletbinding()]
    param
    (
        [Parameter(Mandatory = $true)]
        $User
    )

    $userUpn = New-Object "System.Net.Mail.MailAddress" -ArgumentList $User
    $tenant = $userUpn.Host

    Write-Host "Checking for AzureAD module..."

    $AadModule = Get-Module -Name "AzureAD" -ListAvailable
    if ($AadModule -eq $null) {
        Write-Host "AzureAD PowerShell module not found, looking for AzureADPreview"
        $AadModule = Get-Module -Name "AzureADPreview" -ListAvailable
    }

    if ($AadModule -eq $null) {
        write-host
        write-host "AzureAD Powershell module not installed..." -f Red
        write-host "Install by running 'Install-Module AzureAD' or 'Install-Module AzureADPreview' from an elevated PowerShell prompt" -f Yellow
        write-host "Script can't continue..." -f Red
        write-host
        exit
    }

    # Getting path to ActiveDirectory Assemblies
    # If the module count is greater than 1 find the latest version

    if ($AadModule.count -gt 1) {
        $Latest_Version = ($AadModule | select version | Sort-Object)[-1]
        $aadModule = $AadModule | ? { $_.version -eq $Latest_Version.version }
        $adal = Join-Path $AadModule.ModuleBase "Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
        $adalforms = Join-Path $AadModule.ModuleBase "Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll"
    }

    else {
        $adal = Join-Path $AadModule.ModuleBase "Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
        $adalforms = Join-Path $AadModule.ModuleBase "Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll"
    }

    [System.Reflection.Assembly]::LoadFrom($adal) | Out-Null
    [System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null

    $clientId = "<Your Application ID>"
    $redirectUri = "urn:ietf:wg:oauth:2.0:oob"
    $resourceAppIdURI = "https://graph.microsoft.com"
    $authority = "https://login.microsoftonline.com/$Tenant"

    try {
        $authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authority
        # https://msdn.microsoft.com/library/azure/microsoft.identitymodel.clients.activedirectory.promptbehavior.aspx
        # Change the prompt behaviour to force credentials each time: Auto, Always, Never, RefreshSession
        $platformParameters = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.PlatformParameters" -ArgumentList "Auto"
        $userId = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.UserIdentifier" -ArgumentList ($User, "OptionalDisplayableId")
        $authResult = $authContext.AcquireTokenAsync($resourceAppIdURI, $clientId, $redirectUri, $platformParameters, $userId).Result
        # If the accesstoken is valid then create the authentication header
        if ($authResult.AccessToken) {
            # Creating header for Authorization token
            $authHeader = @{
                'Content-Type' = 'application/json'
                'Authorization' = "Bearer " + $authResult.AccessToken
                'ExpiresOn' = $authResult.ExpiresOn
            }
            return $authHeader
        }
        else {
            Write-Host
            Write-Host "Authorization Access Token is null, please re-run authentication..." -ForegroundColor Red
            Write-Host
            break
        }
    }
    catch {
        write-host $_.Exception.Message -f Red
        write-host $_.Exception.ItemName -f Red
        write-host
        break
    }   
}

$authToken = Get-AuthToken -User "<Your AAD Username>"

try {
    $uri = "https://graph.microsoft.com/beta/me/managedDevices"
    Write-Verbose $uri
    (Invoke-RestMethod -Uri $uri –Headers $authToken –Method Get).Value
}
catch {
    $ex = $_.Exception
    $errorResponse = $ex.Response.GetResponseStream()
    $reader = New-Object System.IO.StreamReader($errorResponse)
    $reader.BaseStream.Position = 0
    $reader.DiscardBufferedData()
    $responseBody = $reader.ReadToEnd();
    Write-Host "Response content:`n$responseBody" -f Red
    Write-Error "Request to $Uri failed with HTTP Status $($ex.Response.StatusCode) $($ex.Response.StatusDescription)"
    write-host
    break
}

Több bérlő és partner támogatásaSupport multiple tenants and partners

Ha a cége saját Azure AD-bérlővel rendelkező cégeket támogat, igény szerint engedélyezheti az ügyfeleknek, hogy a saját bérlőjükön keresztül használják az alkalmazást.If your organization supports organizations with their own Azure AD tenants, you may want to permit your clients to use your application with their respective tenants.

Ehhez tegye a következőket:To do so:

  1. Ellenőrizze, hogy az ügyfélfiók létezik az céloldali Azure AD-bérlőn.Verify that the client account exists in the target Azure AD tenant.

  2. Gondoskodjon róla, hogy az ügyfélfiók engedélyezze a felhasználóknak az alkalmazásregisztrációt (lásd: Felhasználói beállítások).Verify that your tenant account allows users to register applications (see User settings).

  3. Létesítsen kapcsolatot az egyes bérlők között.Establish a relationship between each tenant.

    Ehhez tegye a következők egyikét:To do so, either:

    a.a. A Microsoft Partnerközpont segítségével definiáljon kapcsolatot az ügyfelekkel és az e-mail-címükkel.Use the Microsoft Partner Center to define a relationship with your client and their email address.

    b.b. Hívja meg a felhasználókat a bérlőre vendégként.Invite the user to become a guest of your tenant.

Így vehet fel vendégfelhasználót a bérlőre:To invite the user to be a guest of your tenant:

  1. A Gyors feladatok panelen válassza a Vendégfelhasználó felvétele lehetőséget.Choose Add a guest user from the Quick tasks panel.

    Use Quick Tasks to add a guest user

  2. Adja meg az ügyfél e-mail-címét, és (igény szerint) írja be a személyes meghívó szövegét.Enter the client's email address and (optionally) add a personalized message for the invite.

    Inviting an external user as a guest

  3. Kattintson a Meghívás elemre.Choose Invite.

Ezzel elküldi a meghívót a felhasználónak.This sends an invite to the user.

A sample guest invitation

A meghívó elfogadásához a felhasználónak a Get Started (Kezdés) hivatkozásra kell kattintania.The user needs to choose the Get Started link to accept your invitation.

Miután létrejött a kapcsolat (vagy elfogadták a meghívót), adja hozzá a felhasználói fiókot a címtárszerepkörhöz.When the relationship is established (or your invitation has been accepted), add the user account to the Directory role.

Ne felejtse el hozzáadni a felhasználót igény szerint a többi szerepkörhöz is.Remember to add the user to other roles as needed. Ahhoz például, hogy a felhasználó engedélyt kapjon az Intune-beállítások kezelésére, globális rendszergazdának vagy Intune-beli szolgáltatás-rendszergazdának kell lennie.For example, to allow the user to manage Intune settings, they need to be either a Global Administrator or an Intune Service administrator.

Ezenkívül:Also:

  • A http://portal.office.com webhelyen rendeljen hozzá egy Intune-licencet az felhasználói fiókhoz.Use http://portal.office.com to assign an Intune license to your user account.

  • Módosítsa úgy az alkalmazás kódját, hogy a sajátja helyett inkább az ügyfél Azure AD-bérlői tartományán hitelesítsen.Update application code to authenticate to the client's Azure AD tenant domain, rather than your own.

    Ha például a saját bérlői tartománya contosopartner.onmicrosoft.com az ügyfél bérlői tartománya pedig northwind.onmicrosoft.com, a kódot úgy kell módosítania, hogy az ügyfél bérlőjén hitelesítsen.For example, suppose your tenant domain is contosopartner.onmicrosoft.com and your client's tenant domain is northwind.onmicrosoft.com, you would update your code to authenticate to your client's tenant.

    Ha ezt az előző példában látható C#-alkalmazásban kívánja megtenni, az authority változó értékét így kell módosítania:To do so in a C# application based on the earlier example, you'd change the value of the authority variable:

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

    Módosított sor:to

    string authority = "https://login.microsoftonline.com/northwind.onmicrosoft.com/";
    
A termékről a következő oldalon küldhet visszajelzést Intune Feedback