Vytvoření aplikace pro přístup k Microsoft Defenderu 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 programu 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
- ina.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:
- Vytvořte aplikaci 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.
Důležité
Microsoft doporučuje používat role s co nejmenším počtem oprávnění. To pomáhá zlepšit zabezpečení vaší organizace. Globální správce je vysoce privilegovaná role, která by měla být omezená na nouzové scénáře, když nemůžete použít existující roli.
Vytvoření aplikace
Přihlaste se k webu Azure Portal 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í.
Vyberte příslušná oprávnění.
Read All Alerts
je jenom příklad. Tady je pár příkladů:- Pokud chcete spouštět rozšířené dotazy, vyberte
Run advanced queries
oprávnění. - Pokud chcete izolovat zařízení, vyberte
Isolate machine
oprávnění. - Pokud chcete zjistit, jaké oprávnění potřebujete, podívejte se do části Oprávnění v rozhraní API, které chcete volat.
- Pokud chcete spouštět rozšířené dotazy, vyberte
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 Defenderu 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). Pokud chcete nastavit aplikaci pro více tenantů, postupujte takto:
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
00000000-0000-0000-0000-000000000000
se nahradí VAŠÍM ID 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 ADAL (Azure AD Authentication Library) 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í .
Vytvořte 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
Získáte odpověď, která se podobá následujícímu fragmentu kódu:
{"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 Defenderu for Endpoint:
Použití tokenu pro přístup k rozhraní API Microsoft Defenderu 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 doBearer {token}
(Schéma autorizace je Bearer).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 Defenderu for Endpoint jménem uživatele
Tip
Chcete se dozvědět více? Spojte se s komunitou zabezpečení Microsoftu v naší technické komunitě: Technická komunita Microsoft Defenderu for Endpoint.