Create aplikace pro přístup k Microsoft Defender for Endpoint bez uživatele
Platí pro:
- Plán 1 pro Microsoft Defender for Endpoint
- Plán 2 pro Microsoft Defender pro koncový bod
- Microsoft Defender pro firmy
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
Přihlaste se k Azure pomocí uživatele, který má roli globálního správce .
Přejděte na Microsoft Entra ID>Registrace aplikací>Nová registrace.
V registračním formuláři zvolte název aplikace a pak vyberte Zaregistrovat.
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.
Vyberte Oprávnění> aplikaceAlert.Read.All a pak vyberte Přidat oprávnění.
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.
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.
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.
Poznamenejte si ID aplikace a ID tenanta. Na stránce aplikace přejděte na Přehled a zkopírujte následující.
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í .
Create novou konzolovou aplikaci.
Nainstalujte NuGet Microsoft.Identity.Client.
Přidejte následující:
using Microsoft.Identity.Client;
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ý.
Otevřete příkazový řádek a nastavte CLIENT_ID na ID aplikace Azure.
Nastavte CLIENT_SECRET na tajný kód aplikace Azure.
Nastavte TENANT_ID na ID tenanta Azure zákazníka, který chce používat vaši aplikaci pro přístup k Defenderu for Endpoint.
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:
Zkopírujte token, který jste získali v předchozím kroku, a vložte ho do JWT , abyste ho dekódoval.
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:
Použití tokenu pro přístup k rozhraní API Microsoft Defender for Endpoint
- Zvolte rozhraní API, které chcete použít. Další informace najdete v tématu Podporovaná rozhraní API defenderu for Endpoint.
- Nastavte autorizační hlavičku v požadavku HTTP, který odešlete na "Bearer {token}" (Bearer je autorizační schéma).
- 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é
- Podporovaná rozhraní API aplikace Microsoft Defender for Endpoint
- Přístup k Microsoft Defender for Endpoint jménem uživatele
Tip
Chcete se dozvědět více? Engage s komunitou Microsoft Security v naší technické komunitě: Microsoft Defender for Endpoint Tech Community.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro