יצירת יישום כדי לגשת אל Microsoft Defender עבור נקודת קצה ללא משתמש
חל על:
- Microsoft Defender עבור תוכנית 1 של נקודת קצה
- Microsoft Defender עבור תוכנית 2 של נקודת קצה
- Microsoft Defender for Business
חשוב
יכולות ציד מתקדמות אינן כלולות ב- Defender for Business.
רוצה להתנסות ב- Microsoft Defender עבור נקודת קצה? הירשם לקבלת גירסת ניסיון ללא תשלום.
הערה
אם אתה לקוח של ממשלת ארה"ב, השתמש בURI המפורטים ב - Microsoft Defender for Endpoint עבור לקוחות של ממשלת ארה"ב.
עצה
לקבלת ביצועים טובים יותר, באפשרותך להשתמש בשרת קרוב יותר למיקום הגיאוגרפי שלך:
- 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
דף זה מתאר כיצד ליצור יישום כדי לקבל גישה תוכניתית אל Defender for Endpoint ללא משתמש. אם אתה זקוק לגישה תוכניתית אל Defender for Endpoint בשם משתמש, ראה קבלת גישה עם הקשר משתמש. אם אינך בטוח איזו גישה דרושה לך, ראה תחילת העבודה.
Microsoft Defender for Endpoint חושף חלק גדול מהנתונים והפעולות שלו באמצעות קבוצה של ממשקי API תיכנותיים. ממשקי API אלה יסייעו לך להפוך זרימות עבודה וחדשות לאוטומטיות בהתבסס על יכולות של Defender for Endpoint. גישת ה- API מחייבת אימות OAuth2.0. לקבלת מידע נוסף, ראה זרימת קוד הרשאה של OAuth 2.0.
באופן כללי, יהיה עליך לבצע את השלבים הבאים כדי להשתמש בממשקי ה- API:
- צור יישום Microsoft Entra.
- קבל אסימון גישה באמצעות יישום זה.
- השתמש לאסימון כדי לגשת ל- API של Defender for Endpoint.
מאמר זה מסביר כיצד ליצור יישום Microsoft Entra, לקבל אסימון גישה ל- Microsoft Defender for Endpoint ולאמת את האסימון.
חשוב
Microsoft ממליצה להשתמש בתפקידים עם הכי פחות הרשאות. פעולה זו עוזרת לשפר את האבטחה עבור הארגון שלך. מנהל מערכת כללי הוא תפקיד בעל הרשאה גבוהה שאמור להיות מוגבל לתרחישי חירום כאשר אין באפשרותך להשתמש בתפקיד קיים.
יצירת יישום
היכנס לפורטל Azure עם משתמש בעל תפקיד מנהל מערכת כללי.
נווט אל רישום חדש שלרישומי אפליקציות של>Microsoft Entra ID>.
בטופס הרישום, בחר שם עבור האפליקציה שלך ולאחר מכן בחר הירשם.
כדי לאפשר לאפליקציה לגשת אל Defender for Endpoint ולהקצות לו הרשאת 'קרא את כל ההתראות', בדף היישום שלך, בחר הרשאות API הוסף ממשקי API>>> של הרשאות שהארגון שלי משתמשבהם, הקלדWindowsDefenderATP ולאחר מכן בחר WindowsDefenderATP.
הערה
WindowsDefenderATP
אינו מופיע ברשימה המקורית. התחל לכתוב את שמו בתיבת הטקסט כדי לראות אותה מופיעה.בחר הרשאות יישום>התראה.קריאה.הכל ולאחר מכן בחר הוסף הרשאות.
בחר הרשאות מתאימות.
Read All Alerts
הוא רק דוגמה. להלן כמה דוגמאות:- כדי להפעיל שאילתות מתקדמות, בחר את ההרשאה
Run advanced queries
. - כדי לבודד מכשיר, בחר את ההרשאה
Isolate machine
. - כדי לקבוע איזו הרשאה דרושה לך, עיין בסעיף הרשאות ב- API שאליו ברצונך להתקשר.
- כדי להפעיל שאילתות מתקדמות, בחר את ההרשאה
בחר הענק הסכמה.
הערה
בכל פעם שאתה מוסיף הרשאה, עליך לבחור הענק הסכמה עבור ההרשאה החדשה כדי להיכנס לתוקף.
כדי להוסיף סוד ליישום, בחר אישורים &, הוסף תיאור לסוד ולאחר מכן בחר הוסף.
הערה
לאחר שתבחר הוסף, בחר העתק את הערך הסודי שנוצר. לא תוכל לאחזר ערך זה לאחר שתצא.
רשום לעצמך את מזהה היישום ואת מזהה הדייר שלך. בדף היישום שלך, עבור אל מבט כולל והעתק את הפריטים הבאים.
עבור Microsoft Defender עבור שותפי נקודת קצה בלבד. הגדר את היישום שלך לריבוי דיירים (זמין בכל הדיירים לאחר ההסכמה). פעולה זו נדרשת עבור יישומים של ספקים חיצוניים (לדוגמה, אם אתה יוצר יישום המיועד לפעול בדייר של לקוחות מרובים). פעולה זו אינה נדרשת אם אתה יוצר שירות שברצונך להפעיל בדייר שלך בלבד (לדוגמה, אם תיצור יישום לשימושך האישי שאינטראקציה עם הנתונים שלך בלבד). כדי להגדיר את היישום שלך לריבוי דיירים, בצע את הפעולות הבאות:
עבור אל אימות והוסף כ-
https://portal.azure.com
URI של ניתוב מחדש.בחלק התחתון של הדף, תחת סוגי חשבונות נתמכים, בחר בהסכמה של כל יישום מדריך כתובות ארגוני עבור יישום מרובה הדיירים שלך.
אתה זקוק לאישור הבקשה שלך בכל דייר שבו בכוונתך להשתמש בו. הסיבה היא שהיישום שלך מקיים אינטראקציה עם Defender for Endpoint בשם הלקוח שלך.
אתה (או הלקוח שלך אם אתה כותב אפליקציה של ספק חיצוני) צריך לבחור את קישור ההסכמה ולאשר את האפליקציה שלך. יש לבצע את ההסכמה עם משתמש בעל הרשאות ניהול ב- Active Directory.
קישור ההסכמה נוצר באופן הבא:
https://login.microsoftonline.com/common/oauth2/authorize?prompt=consent&client_id=00000000-0000-0000-0000-000000000000&response_type=code&sso_reload=true
היכן
00000000-0000-0000-0000-000000000000
מוחלף מזהה היישום שלך.
בוצע! נרשמת בהצלחה יישום! ראה דוגמאות להלן לרכישה ולאימות של אסימון.
קבל אסימון גישה
לקבלת מידע נוסף על אסימוני Microsoft Entra, עיין בערכת הלימוד של Microsoft Entra.
שימוש ב- PowerShell
# 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
השתמש ב- C#:
הקוד הבא נבדק באמצעות NuGet Microsoft.Identity.Client 3.19.8.
חשוב
חבילת Microsoft.IdentityModel.Clients.ActiveDirectory NuGet וספריית האימות של Azure AD (ADAL) בוהטו. לא נוספו תכונות חדשות מאז 30 ביוני 2020. אנו ממליצים מאוד לשדרג, עיין במדריך ההעברה לקבלת פרטים נוספים.
צור יישום מסוף חדש.
התקן את NuGet Microsoft.Identity.Client.
הוסף את הפריטים הבאים:
using Microsoft.Identity.Client;
העתק והדבק את הקוד הבא ביישום (אל תשכח לעדכן את שלושת המשתנים:
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;
השתמש ב- Python
ראה קבלת אסימון באמצעות Python.
השתמש ב-Curl
הערה
ההליך הבא מבוסס על ההנחה ש- Curl עבור Windows כבר מותקן במחשב שלך.
פתח שורת פקודה והגדר את מזהה
CLIENT_ID
יישום Azure שלך.הגדר לסוד
CLIENT_SECRET
היישום Azure שלך.הגדר
TENANT_ID
למזהה הדייר של Azure של הלקוח שרוצה להשתמש ביישום שלך כדי לגשת אל Defender for Endpoint.הפעל את הפקודה הבאה:
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
אתה מקבל תשובה הדומה לסעיף הקוד הבא:
{"token_type":"Bearer","expires_in":3599,"ext_expires_in":0,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIn <truncated> aWReH7P0s0tjTBX8wGWqJUdDA"}
אימות האסימון
ודא כי קיבלת את האסימון הנכון:
העתק והדבק את האסימון שהכנסת בשלב הקודם ל- JWT כדי לפענח אותו.
ודא שאתה מקבל דרישת תפקידים עם ההרשאות הרצויות.
בתמונה הבאה, תוכל לראות אסימון פענוח שנרכש מיישום עם הרשאות לכל תפקידי Microsoft Defender עבור נקודת קצה:
השתמש לאסימון כדי לגשת ל- API של Microsoft Defender for Endpoint
בחר את ה- API שבו ברצונך להשתמש. לקבלת מידע נוסף, ראה Defender נתמך עבור ממשקי API של נקודת קצה.
הגדר את כותרת ההרשאה בבקשה
http
שאתה שולח אלBearer {token}
(הנושא הוא סכימת ההרשאה).מועד התפוגה של האסימון הוא שעה אחת. באפשרותך לשלוח יותר מבקשה אחת עם אותו אסימון.
להלן דוגמה לשליחת בקשה לקבלת רשימה של התראות באמצעות 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
למידע נוסף
- ממשקי API נתמכים של Microsoft Defender עבור נקודת קצה
- גישה אל Microsoft Defender עבור נקודת קצה בשם משתמש
עצה
האם ברצונך לקבל מידע נוסף? צור קשר עם קהילת האבטחה של Microsoft בקהילה הטכנית שלנו: Microsoft Defender for Endpoint Tech Community.