Partnertoegang via Microsoft Defender voor Eindpunt-API's
Van toepassing op:
- Plan 1 voor Microsoft Defender voor Eindpunt
- Plan 2 voor Microsoft Defender voor Eindpunt
- Microsoft Defender voor Bedrijven
Belangrijk
Geavanceerde opsporingsmogelijkheden zijn niet opgenomen in Defender voor Bedrijven.
Wilt u Microsoft Defender voor Eindpunt ervaren? Meld u aan voor een gratis proefversie.
Opmerking
Als u een klant van de Amerikaanse overheid bent, gebruikt u de URI's die worden vermeld in Microsoft Defender voor Eindpunt voor klanten van de Amerikaanse overheid.
Tip
Voor betere prestaties kunt u de server dichter bij uw geografische locatie gebruiken:
- 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
Op deze pagina wordt beschreven hoe u een Microsoft Entra-toepassing maakt om programmatische toegang te krijgen tot Microsoft Defender for Endpoint namens uw klanten.
Microsoft Defender voor Eindpunt maakt veel van de gegevens en acties beschikbaar via een set programmatische API's. Met deze API's kunt u werkstromen automatiseren en innoveren op basis van de mogelijkheden van Microsoft Defender voor Eindpunt. Voor de API-toegang is OAuth2.0-verificatie vereist. Zie OAuth 2.0-autorisatiecodestroom voor meer informatie.
Over het algemeen moet u de volgende stappen uitvoeren om de API's te gebruiken:
Maak een Microsoft Entra-toepassing met meerdere tenants.
Vraag geautoriseerd (toestemming) van uw klantbeheerder voor uw toepassing om toegang te krijgen tot Defender voor Eindpunt-resources die deze nodig heeft.
Haal een toegangstoken op met behulp van deze toepassing.
Gebruik het token om toegang te krijgen tot de Microsoft Defender for Endpoint-API.
De volgende stappen helpen u bij het maken van een Microsoft Entra-toepassing, het ophalen van een toegangstoken voor Microsoft Defender voor Eindpunt en het valideren van het token.
Belangrijk
Microsoft raadt u aan rollen te gebruiken met de minste machtigingen. Dit helpt bij het verbeteren van de beveiliging voor uw organisatie. Globale beheerder is een zeer bevoorrechte rol die moet worden beperkt tot scenario's voor noodgevallen wanneer u een bestaande rol niet kunt gebruiken.
De multitenant-app maken
Meld u aan bij uw Azure-tenant met de gebruiker met de rol Globale beheerder .
Navigeer naar Microsoft Entra ID>App-registraties>Nieuwe registratie.
In het registratieformulier:
Kies een naam voor uw toepassing.
Ondersteunde accounttypen: accounts in elke organisatiemap.
Omleidings-URI - type: Web, URI: https://portal.azure.com
Geef uw toepassing toegang tot Microsoft Defender voor Eindpunt en wijs deze toe met de minimale set machtigingen die nodig zijn om de integratie te voltooien.
Selecteer op uw toepassingspagina API-machtigingenToevoegenmachtigings-API's >>die mijn organisatie gebruikt> het type WindowsDefenderATP en selecteer op WindowsDefenderATP.
WindowsDefenderATP
wordt niet weergegeven in de oorspronkelijke lijst. Begin met het schrijven van de naam in het tekstvak om deze weer te geven.
API-machtigingen aanvragen
Als u wilt bepalen welke machtiging u nodig hebt, raadpleegt u de sectie Machtigingen in de API die u wilt aanroepen. Bijvoorbeeld:
- Als u geavanceerde query's wilt uitvoeren, selecteert u de machtiging Geavanceerde query's uitvoeren .
- Als u een apparaat wilt isoleren, selecteert u de machtiging Machine isoleren .
In het volgende voorbeeld gebruiken we de machtiging Alle waarschuwingen lezen :
Kies Toepassingsmachtigingen>Waarschuwing.Read.All> selecteer machtigingen toevoegen
Selecteer Toestemming verlenen
- Telkens wanneer u een machtiging toevoegt, moet u toestemming verlenen selecteren om de nieuwe machtiging van kracht te laten worden.
Voeg een geheim toe aan de toepassing.
- Selecteer Certificaten & geheimen, voeg een beschrijving toe aan het geheim en selecteer Toevoegen.
Nadat u Toevoegen hebt geselecteerd, kopieert u de gegenereerde geheime waarde. U kunt deze na vertrek niet meer ophalen.
Noteer uw toepassings-id:
Voeg de toepassing toe aan de tenant van uw klant.
U moet uw toepassing goedkeuren in elke klanttenant waar u deze wilt gebruiken. Deze goedkeuring is nodig omdat uw toepassing namens uw klant communiceert met de Microsoft Defender voor Eindpunt-toepassing.
Een gebruiker met globale beheerder van de tenant van uw klant moet de toestemmingskoppeling selecteren en uw toepassing goedkeuren.
Toestemmingskoppeling heeft de volgende vorm:
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
Waar
00000000-0000-0000-0000-000000000000
moet worden vervangen door uw toepassings-id.Nadat u de toestemmingskoppeling hebt geselecteerd, meldt u zich aan als de globale beheerder van de tenant van de klant en geeft u toestemming voor de toepassing.
Daarnaast moet u uw klant om hun tenant-id vragen en deze opslaan voor toekomstig gebruik bij het verkrijgen van het token.
Gereed! U hebt een aanvraag geregistreerd! Zie de volgende voorbeelden voor het verkrijgen en valideren van tokens.
Voorbeeld van een toegangstoken ophalen
Als u namens uw klant toegangstoken wilt ophalen, gebruikt u de tenant-id van de klant voor de volgende tokenovernames.
Zie Microsoft Entra-zelfstudie voor meer informatie over Microsoft Entra-token.
PowerShell gebruiken
# That code gets the App Context Token and save it to a file named "Latest-token.txt" under the current directory
# Paste below your Tenant ID, App ID and App Secret (App key).
$tenantId = '' ### Paste your tenant ID here
$appId = '' ### Paste your Application ID here
$appSecret = '' ### Paste your Application key here
$resourceAppIdUri = 'https://api.securitycenter.microsoft.com'
$oAuthUri = "https://login.microsoftonline.com/$TenantId/oauth2/token"
$authBody = [Ordered] @{
resource = "$resourceAppIdUri"
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
Out-File -FilePath "./Latest-token.txt" -InputObject $token
return $token
C gebruiken#
Belangrijk
Het NuGet-pakket Microsoft.IdentityModel.Clients.ActiveDirectory en Azure AD Authentication Library (ADAL) zijn afgeschaft. Er zijn sinds 30 juni 2020 geen nieuwe functies toegevoegd. Zie de migratiehandleiding als u een upgrade wilt uitvoeren.
Maak een nieuwe consoletoepassing.
Installeer NuGet Microsoft.Identity.Client.
Voeg het volgende toe met behulp van code:
using Microsoft.Identity.Client;
Deze code is getest met NuGet
Microsoft.Identity.Client
.Kopieer/plak de volgende code in uw toepassing (vergeet niet de drie variabelen bij te werken:
tenantId
,appId
enappSecret
).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;
Python gebruiken
Curl gebruiken
Opmerking
De volgende procedure zou Curl voor Windows al op uw computer zijn geïnstalleerd
Open een opdrachtvenster.
Stel in
CLIENT_ID
op uw Azure-toepassings-id.Stel in
CLIENT_SECRET
op uw Azure-toepassingsgeheim.Stel in
TENANT_ID
op de Azure-tenant-id van de klant die uw toepassing wil gebruiken voor toegang tot de Microsoft Defender for Endpoint-toepassing.Voer de volgende opdracht uit:
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
U krijgt een antwoord dat lijkt op het volgende codefragment:
{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
Het token valideren
Controleer of u het juiste token hebt ontvangen.
Kopieer/plak in JWT het token dat u in de vorige stap hebt opgehaald om het te decoderen.
Controleer of u een rolclaim krijgt met de juiste machtigingen.
In de volgende schermopname ziet u een gedecodeerd token dat is verkregen van een toepassing met meerdere machtigingen voor Microsoft Defender voor Eindpunt:
De tid-claim is de tenant-id waartoe het token behoort.
Het token gebruiken voor toegang tot de Microsoft Defender for Endpoint-API
Kies de API die u wilt gebruiken. Zie Ondersteunde Microsoft Defender voor Eindpunt-API's voor meer informatie.
Stel de autorisatieheader in de HTTP-aanvraag in
Bearer {token}
waarnaar u verzendt (Bearer is het autorisatieschema). De verlooptijd van het token is één uur (u kunt meer dan één aanvraag met hetzelfde token verzenden).Hier volgt een voorbeeld van het verzenden van een aanvraag om een lijst met waarschuwingen op te halen met behulp van 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
Zie ook
- Ondersteunde API's voor Microsoft Defender voor Eindpunt
- Toegang tot Microsoft Defender voor Eindpunt namens een gebruiker
Tip
Wil je meer weten? Neem contact op met de Microsoft Security-community in onze Tech Community: Microsoft Defender for Endpoint Tech Community.