Accès aux partenaires via les API Microsoft Defender pour point de terminaison
S’applique à :
- Microsoft Defender pour point de terminaison Plan 1
- Microsoft Defender pour point de terminaison Plan 2
- Microsoft Defender pour les PME
Importante
Les fonctionnalités de chasse avancées ne sont pas incluses dans Defender for Business.
Vous voulez découvrir Microsoft Defender pour point de terminaison ? Inscrivez-vous pour bénéficier d’un essai gratuit.
Remarque
Si vous êtes un client du gouvernement des États-Unis, utilisez les URI répertoriés dans Microsoft Defender pour point de terminaison pour les clients du gouvernement des États-Unis.
Conseil
Pour de meilleures performances, vous pouvez utiliser le serveur plus près de votre emplacement géographique :
- 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
Cette page explique comment créer une application Microsoft Entra pour obtenir l’accès programmatique à Microsoft Defender pour point de terminaison pour le compte de vos clients.
Microsoft Defender pour point de terminaison expose la plupart de ses données et actions via un ensemble d’API programmatiques. Ces API vous aident à automatiser les flux de travail et à innover en fonction des fonctionnalités Microsoft Defender pour point de terminaison. L’accès à l’API nécessite l’authentification OAuth2.0. Pour plus d’informations, consultez Flux de code d’autorisation OAuth 2.0.
En général, vous devez effectuer les étapes suivantes pour utiliser les API :
Créez une application Microsoft Entra multilocataire.
Obtenez le consentement de votre administrateur client pour que votre application accède aux ressources Defender pour point de terminaison dont elle a besoin.
Obtenez un jeton d’accès à l’aide de cette application.
Utilisez le jeton pour accéder à Microsoft Defender pour point de terminaison’API.
Les étapes suivantes vous guident pour créer une application Microsoft Entra, obtenir un jeton d’accès pour Microsoft Defender pour point de terminaison et valider le jeton.
Importante
Microsoft vous recommande d’utiliser des rôles disposant du moins d’autorisations. Cela contribue à renforcer la sécurité de votre organisation. Le rôle d’administrateur général dispose de privilèges élevés. Il doit être limité aux scénarios d’urgence lorsque vous ne pouvez pas utiliser un rôle existant.
Créer l’application multilocataire
Connectez-vous à votre locataire Azure.
Accédez à Microsoft Entra ID>inscriptions d'applications>Nouvelle inscription.
Dans le formulaire d’inscription :
Choisissez un nom pour votre application.
Types de comptes pris en charge : comptes dans n’importe quel annuaire organisationnel.
URI de redirection : type : Web, URI : https://portal.azure.com
Autorisez votre application à accéder à Microsoft Defender pour point de terminaison et attribuez-la avec le jeu minimal d’autorisations requis pour terminer l’intégration.
Dans la page de votre application, sélectionnez Api Autorisations> Ajouter des API d’autorisation>que mon organization utilise> le type WindowsDefenderATP, puis sélectionnez WindowsDefenderATP.
WindowsDefenderATP
n’apparaît pas dans la liste d’origine. Commencez à écrire son nom dans la zone de texte pour le voir apparaître.
Demander des autorisations d’API
Pour déterminer l’autorisation dont vous avez besoin, consultez la section Autorisations dans l’API que vous souhaitez appeler. Par exemple :
- Pour exécuter des requêtes avancées, sélectionnez l’autorisation Exécuter les requêtes avancées .
- Pour isoler un appareil, sélectionnez l’autorisation Isoler l’ordinateur .
Dans l’exemple suivant, nous utilisons l’autorisation Lire toutes les alertes :
Choisissez Autorisations d’application>Alert.Read.All> sélectionnez Ajouter des autorisations.
Sélectionnez Accorder le consentement
- Chaque fois que vous ajoutez une autorisation, vous devez sélectionner Accorder le consentement pour que la nouvelle autorisation prenne effet.
Ajoutez un secret à l’application.
- Sélectionnez Certificats & secrets, ajoutez une description au secret, puis sélectionnez Ajouter.
Après avoir sélectionné Ajouter, veillez à copier la valeur du secret généré. Vous ne pourrez pas le récupérer après votre départ !
Notez votre ID d’application :
Ajoutez l’application au locataire de votre client.
Vous devez que votre application soit approuvée dans chaque locataire client où vous envisagez de l’utiliser. Cette approbation est nécessaire, car votre application interagit avec Microsoft Defender pour point de terminaison’application pour le compte de votre client.
Un compte d’utilisateur disposant des autorisations appropriées pour le locataire de votre client doit sélectionner le lien de consentement et approuver votre application.
Le lien de consentement se présente sous la forme suivante :
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
Où
00000000-0000-0000-0000-000000000000
doit être remplacé par votre ID d’application.Après avoir sélectionné le lien de consentement, connectez-vous au locataire du client, puis accordez le consentement pour l’application.
En outre, vous devez demander à votre client son ID de locataire et l’enregistrer pour une utilisation ultérieure lors de l’acquisition du jeton.
Terminé ! Vous avez correctement inscrit une application ! Consultez les exemples suivants pour l’acquisition et la validation de jetons.
Obtenir un exemple de jeton d’accès
Pour obtenir un jeton d’accès au nom de votre client, utilisez l’ID de locataire du client sur les acquisitions de jeton suivantes.
Pour plus d’informations sur Microsoft Entra jeton, consultez Microsoft Entra tutoriel.
Utiliser PowerShell
# 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
Utilisation de C#
Importante
Le package NuGet Microsoft.IdentityModel.Clients.ActiveDirectory et la bibliothèque Azure AD Authentication (ADAL) ont été déconseillés. Aucune nouvelle fonctionnalité n’a été ajoutée depuis le 30 juin 2020. Pour effectuer une mise à niveau, consultez le guide de migration.
Créez une application console.
Installez NuGet Microsoft.Identity.Client.
Ajoutez le code suivant :
using Microsoft.Identity.Client;
Ce code a été testé avec NuGet
Microsoft.Identity.Client
.Copiez/collez le code suivant dans votre application (n’oubliez pas de mettre à jour les trois variables :
tenantId
,appId
etappSecret
).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;
Utilisation de Python
Consultez Obtenir un jeton à l’aide de Python.
Utilisation de Curl
Remarque
La procédure suivante, supposée Curl pour Windows, est déjà installée sur votre ordinateur
Ouvrez une fenêtre de commande.
Définissez sur
CLIENT_ID
votre ID d’application Azure.Définissez sur
CLIENT_SECRET
votre secret d’application Azure.Définissez
TENANT_ID
sur l’ID de locataire Azure du client qui souhaite utiliser votre application pour accéder à Microsoft Defender pour point de terminaison application.Exécutez la commande suivante :
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
Vous obtenez une réponse qui ressemble à l’extrait de code suivant :
{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
Valider le jeton
Vérifiez que vous avez reçu un jeton correct.
Copiez/collez dans JWT le jeton que vous avez obtenu à l’étape précédente afin de le décoder.
Vérifiez que vous obtenez une revendication de rôles avec les autorisations appropriées.
Dans la capture d’écran suivante, vous pouvez voir un jeton décodé acquis à partir d’une application avec plusieurs autorisations pour Microsoft Defender pour point de terminaison :
La revendication « tid » est l’ID de locataire auquel appartient le jeton.
Utiliser le jeton pour accéder à Microsoft Defender pour point de terminaison’API
Choisissez l’API que vous souhaitez utiliser. Pour plus d’informations, consultez API Microsoft Defender pour point de terminaison prises en charge.
Définissez l’en-tête Authorization dans la requête HTTP à
Bearer {token}
laquelle vous envoyez (le porteur est le schéma d’autorisation). Le délai d’expiration du jeton est d’une heure (vous pouvez envoyer plusieurs requêtes avec le même jeton).Voici un exemple d’envoi d’une demande pour obtenir une liste d’alertes à l’aide de 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
Voir aussi
- API prises en charge Microsoft Defender pour point de terminaison
- Accéder Microsoft Defender pour point de terminaison au nom d’un utilisateur
Conseil
Voulez-vous en savoir plus ? Engage avec la communauté Microsoft Security dans notre communauté technique : Microsoft Defender pour point de terminaison Tech Community.