Sdílet prostřednictvím


Create aplikace pro přístup k Microsoft Defender for Endpoint bez uživatele

Platí pro:

Důležité

Rozšířené možnosti proaktivního vyhledávání nejsou součástí Defenderu pro firmy.

Chcete vyzkoušet Defender pro Endpoint? Zaregistrujte se a získejte bezplatnou zkušební verzi,

Poznámka

Pokud jste zákazníkem státní správy USA, použijte identifikátory URI uvedené v Microsoft Defender for Endpoint pro zákazníky státní správy USA.

Tip

Pro lepší výkon můžete použít server blíže k vašemu geografickému umístění:

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com

Tato stránka popisuje, jak vytvořit aplikaci pro získání programového přístupu k Defenderu for Endpoint bez uživatele. Pokud potřebujete programový přístup k Defenderu for Endpoint jménem uživatele, přečtěte si téma Získání přístupu pomocí kontextu uživatele. Pokud si nejste jistí, jaký přístup potřebujete, přečtěte si téma Začínáme.

Microsoft Defender for Endpoint zveřejňuje většinu svých dat a akcí prostřednictvím sady programových rozhraní API. Tato rozhraní API vám pomohou automatizovat pracovní toky a inovovat na základě funkcí Defenderu for Endpoint. Přístup k rozhraní API vyžaduje ověřování OAuth 2.0. Další informace najdete v tématu Tok autorizačního kódu OAuth 2.0.

Obecně platí, že abyste mohli rozhraní API používat, budete muset provést následující kroky:

  • Create aplikace Microsoft Entra.
  • Získání přístupového tokenu pomocí této aplikace
  • Token použijte pro přístup k rozhraní DEFENDER for Endpoint API.

Tento článek vysvětluje, jak vytvořit aplikaci Microsoft Entra, získat přístupový token pro Microsoft Defender for Endpoint a ověřit token.

Create aplikace

  1. Přihlaste se k Azure pomocí uživatele, který má roli globálního správce .

  2. Přejděte na Microsoft Entra ID>Registrace aplikací>Nová registrace.

    Podokno registrace aplikace

  3. V registračním formuláři zvolte název aplikace a pak vyberte Zaregistrovat.

  4. Pokud chcete aplikaci povolit přístup k Defenderu for Endpoint a přiřadit mu oprávnění Číst všechna upozornění, na stránce aplikace vyberte Oprávnění> rozhraní API Přidat rozhraní APIoprávnění>, kterápoužívá> moje organizace, zadejte WindowsDefenderATP a pak vyberte WindowsDefenderATP.

    Poznámka

    WindowsDefenderATP se nezobrazuje v původním seznamu. Začněte psát jeho název do textového pole, aby se zobrazilo.

    Podokno oprávnění rozhraní API

    Vyberte Oprávnění> aplikaceAlert.Read.All a pak vyberte Přidat oprávnění.

    Podokno s informacemi o oprávněních aplikace

    Musíte vybrat příslušná oprávnění. Možnost Číst všechna upozornění je jenom příklad. Příklady:

    • Pokud chcete spouštět rozšířené dotazy, vyberte oprávnění Spouštět rozšířené dotazy.
    • Pokud chcete izolovat zařízení, vyberte oprávnění Izolovat počítač.
    • Pokud chcete zjistit, jaké oprávnění potřebujete, podívejte se do části Oprávnění v rozhraní API, které chcete volat.
  5. Vyberte Udělit souhlas.

    Poznámka

    Pokaždé, když přidáte oprávnění, musíte vybrat Udělit souhlas , aby se nové oprávnění projevilo.

    Stránka udělení oprávnění

  6. Pokud chcete do aplikace přidat tajný kód, vyberte Certifikáty & tajných kódů, přidejte popis tajného kódu a pak vyberte Přidat.

    Poznámka

    Po výběru možnosti Přidat vyberte zkopírování vygenerované hodnoty tajného kódu. Po odchodu nebudete moct tuto hodnotu načíst.

    Možnost vytvoření aplikace

  7. Poznamenejte si ID aplikace a ID tenanta. Na stránce aplikace přejděte na Přehled a zkopírujte následující.

    ID vytvořené aplikace a tenanta

  8. Pouze pro partnery Microsoft Defender for Endpoint. Nastavte aplikaci na více tenantů (k dispozici ve všech tenantech po vyjádření souhlasu). To se vyžaduje u aplikací třetích stran (například pokud vytvoříte aplikaci, která má běžet v tenantovi více zákazníků). To není nutné , pokud vytvoříte službu, kterou chcete spustit jenom ve svém tenantovi (například pokud vytvoříte aplikaci pro vlastní použití, která bude pracovat jenom s vašimi daty). Nastavení aplikace pro více tenantů:

    • Přejděte na Ověřování a přidejte https://portal.azure.com jako identifikátor URI přesměrování.

    • V dolní části stránky v části Podporované typy účtů vyberte Účty v libovolném organizačním adresáři souhlas aplikace pro vaši aplikaci s více tenanty.

    Potřebujete, aby vaše aplikace byla schválená v každém tenantovi, ve kterém ji chcete používat. Je to proto, že vaše aplikace komunikuje s Defenderem for Endpoint jménem zákazníka.

    Vy (nebo váš zákazník, pokud píšete aplikaci třetí strany) musíte vybrat odkaz pro vyjádření souhlasu a aplikaci schválit. Souhlas by měl být udělen s uživatelem, který má oprávnění správce ve službě Active Directory.

    Odkaz pro vyjádření souhlasu je vytvořený takto:

    https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
    

    Kde 000000000-0000-0000-0000-0000000000000 je nahrazeno ID vaší aplikace.

Hotovo! Úspěšně jste zaregistrovali aplikaci! V následujících příkladech najdete informace o získání a ověření tokenu.

Získání přístupového tokenu

Další informace o tokenech Microsoft Entra najdete v kurzu Microsoft Entra.

Použití PowerShellu

# This script acquires the App Context Token and stores it in the variable $token for later use in the script.
# Paste your Tenant ID, App ID, and App Secret (App key) into the indicated quotes below.

$tenantId = '' ### Paste your tenant ID here
$appId = '' ### Paste your Application ID here
$appSecret = '' ### Paste your Application key here

$sourceAppIdUri = 'https://api.securitycenter.microsoft.com/.default'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token"
$authBody = [Ordered] @{
    scope = "$sourceAppIdUri"
    client_id = "$appId"
    client_secret = "$appSecret"
    grant_type = 'client_credentials'
}
$authResponse = Invoke-RestMethod -Method Post -Uri $oAuthUri -Body $authBody -ErrorAction Stop
$token = $authResponse.access_token
$token

Použijte C#:

Následující kód byl testován pomocí NuGet Microsoft.Identity.Client 3.19.8.

Důležité

Balíček NuGet Microsoft.IdentityModel.Clients.ActiveDirectory a knihovna Azure AD Authentication Library (ADAL) jsou zastaralé. Od 30. června 2020 nebyly přidány žádné nové funkce. Důrazně doporučujeme provést upgrade. Další podrobnosti najdete v průvodci migrací .

  1. Create novou konzolovou aplikaci.

  2. Nainstalujte NuGet Microsoft.Identity.Client.

  3. Přidejte následující:

    using Microsoft.Identity.Client;
    
  4. Zkopírujte a vložte do aplikace následující kód (nezapomeňte aktualizovat tři proměnné: tenantId, appId, appSecret):

    string tenantId = "00000000-0000-0000-0000-000000000000"; // Paste your own tenant ID here
    string appId = "11111111-1111-1111-1111-111111111111"; // Paste your own app ID here
    string appSecret = "22222222-2222-2222-2222-222222222222"; // Paste your own app secret here for a test, and then store it in a safe place! 
    const string authority = "https://login.microsoftonline.com";
    const string audience = "https://api.securitycenter.microsoft.com";
    
    IConfidentialClientApplication myApp = ConfidentialClientApplicationBuilder.Create(appId).WithClientSecret(appSecret).WithAuthority($"{authority}/{tenantId}").Build();
    
    List<string> scopes = new List<string>() { $"{audience}/.default" };
    
    AuthenticationResult authResult = myApp.AcquireTokenForClient(scopes).ExecuteAsync().GetAwaiter().GetResult();
    
    string token = authResult.AccessToken;
    

Použití Pythonu

Viz Získání tokenu pomocí Pythonu.

Použití funkce Curl

Poznámka

Následující postup předpokládá, že curl pro Windows je již v počítači nainstalovaný.

  1. Otevřete příkazový řádek a nastavte CLIENT_ID na ID aplikace Azure.

  2. Nastavte CLIENT_SECRET na tajný kód aplikace Azure.

  3. Nastavte TENANT_ID na ID tenanta Azure zákazníka, který chce používat vaši aplikaci pro přístup k Defenderu for Endpoint.

  4. Spusťte následující příkaz:

    curl -i -X POST -H "Content-Type:application/x-www-form-urlencoded" -d "grant_type=client_credentials" -d "client_id=%CLIENT_ID%" -d "scope=https://securitycenter.onmicrosoft.com/windowsatpservice/.default" -d "client_secret=%CLIENT_SECRET%" "https://login.microsoftonline.com/%TENANT_ID%/oauth2/v2.0/token" -k
    

    Dostanete odpověď v následující podobě:

    {"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
    

Ověření tokenu

Ujistěte se, že máte správný token:

  1. Zkopírujte token, který jste získali v předchozím kroku, a vložte ho do JWT , abyste ho dekódoval.

  2. Ověřte, že jste získali deklaraci identity "rolí" s požadovanými oprávněními.

    Na následujícím obrázku vidíte dekódovaný token získaný z aplikace s oprávněními ke všem rolím Microsoft Defender for Endpoint:

    Část s podrobnostmi o tokenu

Použití tokenu pro přístup k rozhraní API Microsoft Defender for Endpoint

  1. Zvolte rozhraní API, které chcete použít. Další informace najdete v tématu Podporovaná rozhraní API defenderu for Endpoint.
  2. Nastavte autorizační hlavičku v požadavku HTTP, který odešlete na "Bearer {token}" (Bearer je autorizační schéma).
  3. Doba vypršení platnosti tokenu je jedna hodina. Se stejným tokenem můžete odeslat více než jednu žádost.

Následuje příklad odeslání žádosti o získání seznamu upozornění pomocí jazyka C#:

var httpClient = new HttpClient();

var request = new HttpRequestMessage(HttpMethod.Get, "https://api.securitycenter.microsoft.com/api/alerts");

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

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

// Do something useful with the response

Viz také

Tip

Chcete se dozvědět více? Engage s komunitou Microsoft Security v naší technické komunitě: Microsoft Defender for Endpoint Tech Community.