Dela via


Skapa en app för åtkomst till Microsoft Defender XDR-API:er för en användares räkning

Gäller för:

  • Microsoft Defender XDR

Viktigt

En del information gäller förinstallerad produkt som kan ha ändrats mycket innan den släpps kommersiellt. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, med avseende på den information som anges här.

Den här sidan beskriver hur du skapar ett program för att få programmatisk åtkomst till Microsoft Defender XDR för en enskild användares räkning.

Om du behöver programmatisk åtkomst till Microsoft Defender XDR utan en definierad användare (till exempel om du skriver en bakgrundsapp eller daemon) läser du Skapa en app för att få åtkomst till Microsoft Defender XDR utan en användare. Om du behöver ge åtkomst till flera klienter, till exempel om du betjänar en stor organisation eller en grupp kunder, kan du läsa Skapa en app med partneråtkomst till Microsoft Defender XDR-API:er. Om du inte är säker på vilken typ av åtkomst du behöver kan du läsa Kom igång.

Microsoft Defender XDR exponerar mycket av sina data och åtgärder via en uppsättning programmatiska API:er. Dessa API:er hjälper dig att automatisera arbetsflöden och använda Funktionerna i Microsoft Defender XDR. Den här API-åtkomsten kräver OAuth2.0-autentisering. Mer information finns i OAuth 2.0 Authorization Code Flow (OAuth 2.0-auktoriseringskodflöde).

I allmänhet måste du vidta följande steg för att använda dessa API:er:

  • Skapa ett Microsoft Entra-program.
  • Hämta en åtkomsttoken med det här programmet.
  • Använd token för att komma åt Microsoft Defender XDR API.

Den här artikeln beskriver hur du:

  • Skapa ett Microsoft Entra-program
  • Hämta en åtkomsttoken till Microsoft Defender XDR
  • Verifiera token

Obs!

När du använder Microsoft Defender XDR API för en användares räkning behöver du rätt programbehörigheter och användarbehörigheter.

Tips

Om du har behörighet att utföra en åtgärd i portalen har du behörighet att utföra åtgärden i API:et.

Skapa en app

  1. Logga in på Azure som en användare med rollen Global administratör .

  2. Gå till Microsoft Entra ID>Appregistreringar>Ny registrering.

    Alternativet Ny registrering i fönstret Hantera i Azure-portalen

  3. I formuläret väljer du ett namn för programmet och anger följande information för omdirigerings-URI:n och väljer sedan Registrera.

    Fönstret för programregistrering i Azure-portalen

  4. På programsidan väljer du API-behörigheter>Lägg till behörighets-API>:er som min organisation använder>, skriver Microsoft Threat Protection och väljer Microsoft Threat Protection. Din app kan nu komma åt Microsoft Defender XDR.

    Tips

    Microsoft Threat Protection är ett tidigare namn för Microsoft Defender XDR och visas inte i den ursprungliga listan. Du måste börja skriva dess namn i textrutan för att se det visas.

    Din organisations API:er-fönster i Microsoft Defender-portalen

    • Välj Delegerade behörigheter. Välj relevanta behörigheter för ditt scenario (till exempel Incident.Read) och välj sedan Lägg till behörigheter.

      Fönstret Delegerade behörigheter i Microsoft Defender-portalen

    Obs!

    Du måste välja relevanta behörigheter för ditt scenario. Läs alla incidenter är bara ett exempel. Om du vill ta reda på vilken behörighet du behöver kan du titta på avsnittet Behörigheter i det API som du vill anropa.

    Om du till exempel vill köra avancerade frågor väljer du behörigheten Kör avancerade frågor. om du vill isolera en enhet väljer du behörigheten "Isolera dator".

  5. Välj Bevilja administratörsmedgivande. Varje gång du lägger till en behörighet måste du välja Bevilja administratörsmedgivande för att den ska börja gälla.

    Fönstret för beviljande av administratörsmedgivande i Microsoft Defender-portalen

  6. Registrera ditt program-ID och ditt klientorganisations-ID på en säker plats. De visas under Översikt på programsidan.

    Fönstret Översikt i Microsoft Defender-portalen

Hämta en åtkomsttoken

Mer information om Microsoft Entra-token finns i självstudien om Microsoft Entra.

Hämta en åtkomsttoken för en användares räkning med hjälp av PowerShell

Använd MSAL.PS-biblioteket för att hämta åtkomsttoken med delegerade behörigheter. Kör följande kommandon för att hämta åtkomsttoken för en användares räkning:

Install-Module -Name MSAL.PS # Install the MSAL.PS module from PowerShell Gallery

$TenantId = " " # Paste your directory (tenant) ID here.
$AppClientId="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # Paste your application (client) ID here.

$MsalParams = @{
   ClientId = $AppClientId
   TenantId = $TenantId
   Scopes   = 'https://graph.microsoft.com/User.Read.All','https://graph.microsoft.com/Files.ReadWrite','https://api.securitycenter.windows.com/AdvancedQuery.Read'
}

$MsalResponse = Get-MsalToken @MsalParams
$AccessToken  = $MsalResponse.AccessToken
 
$AccessToken # Display the token in PS console

Verifiera token

  1. Kopiera och klistra in token i JWT för att avkoda den.
  2. Kontrollera att rollanspråket i den avkodade token innehåller önskade behörigheter.

I följande bild kan du se en avkodad token som hämtats från en app med Incidents.Read.Allbehörigheterna , Incidents.ReadWrite.Alloch AdvancedHunting.Read.All :

Avsnittet behörigheter i fönstret Avkodad token i Microsoft Defender-portalen

Använda token för att komma åt Microsoft Defender XDR API

  1. Välj det API som du vill använda (incidenter eller avancerad jakt). Mer information finns i Microsoft Defender XDR-API:er som stöds.
  2. I http-begäran som du ska skicka anger du auktoriseringsrubriken till "Bearer" <token>, Ägaren är auktoriseringsschemat och token är din verifierade token.
  3. Token upphör att gälla inom en timme. Du kan skicka fler än en begäran under den här tiden med samma token.

I följande exempel visas hur du skickar en begäran för att hämta en lista över incidenter med hjälp av C#.

    var httpClient = new HttpClient();
    var request = new HttpRequestMessage(HttpMethod.Get, "https://api.security.microsoft.com/api/incidents");

    request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);

    var response = httpClient.SendAsync(request).GetAwaiter().GetResult();

Tips

Vill du veta mer? Interagera med Microsofts säkerhetscommunity i vår Tech Community: Microsoft Defender XDR Tech Community.