הערה
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות להיכנס או לשנות מדריכי כתובות.
הגישה לדף זה מחייבת הרשאה. באפשרותך לנסות לשנות מדריכי כתובות.
חשוב
חלק מהמידע מתייחס למוצר שהותקן מראש וייתכן שהוא השתנה באופן משמעותי לפני הזמינות הכללית שלו. Microsoft אינה מבטיחה דבר, באופן מפורש או משתמע, באשר למידע המסופק כאן.
דף זה מתאר כיצד ליצור יישום כדי לקבל גישה תוכניתית ל- Microsoft Defender XDR ללא משתמש מוגדר - לדוגמה, אם אתה יוצר שירות Daemon או שירות רקע.
אם אתה זקוק לגישה תוכניתית ל- Microsoft Defender XDR בשם משתמש אחד או יותר, ראה יצירת יישום כדי לגשת לממשקי API של Microsoft Defender XDR בשם משתמש וליצור יישום עם גישת שותף לממשקי API של Microsoft Defender XDR API. אם אינך בטוח איזה סוג של גישה דרושה לך, ראה תחילת העבודה.
Microsoft Defender XDR לחשוף חלק גדול מהנתונים והפעולות שלו באמצעות קבוצה של ממשקי API תיכנותיים. ממשקי API אלה עוזרים לך להפוך זרימות עבודה לאוטומטיות ולהשתמש Microsoft Defender XDR היכולות של המשתמשים. גישה זו ל- API מחייבת אימות OAuth2.0. לקבלת מידע נוסף, ראה זרימת קוד הרשאה של OAuth 2.0.
באופן כללי, עליך לבצע את השלבים הבאים כדי להשתמש בממשקי API אלה:
- צור יישום Microsoft Entra חדש.
- קבל אסימון גישה באמצעות יישום זה.
- השתמש לאסימון כדי לגשת אל Microsoft Defender XDR API.
מאמר זה מסביר כיצד לבצע את האופן בו:
- יצירת יישום Microsoft Entra חדש
- קבל אסימון גישה Microsoft Defender XDR
- אמת את האסימון.
יצירת יישום
היכנס ל- Azure.
נווט אל מזהה Microsoft Entra>רישום ליישומים>רישום חדש.
בטופס, בחר שם עבור היישום ולאחר מכן בחר הירשם.
בדף היישום שלך, בחר הרשאות API>> הוסף ממשקי API של הרשאות שהארגון שלי משתמשבהם>, הקלד Microsoft Threat Protection ובחר Microsoft Threat Protection. האפליקציה שלך יכולה כעת לגשת Microsoft Defender XDR.
עצה
Microsoft Threat Protection הוא שם Microsoft Defender XDR עבור משתמשים, ואינו מופיע ברשימה המקורית. עליך להתחיל לכתוב את שמו בתיבת הטקסט כדי לראות אותו מופיע.
בחר הרשאות יישום. בחר את ההרשאות הרלוונטיות עבור התרחיש שלך (לדוגמה, Incident.Read.All) ולאחר מכן בחר הוסף הרשאות.
הערה
עליך לבחור את ההרשאות הרלוונטיות עבור התרחיש שלך. קרא את כל האירועים הוא רק דוגמה. כדי לקבוע איזו הרשאה דרושה לך, עיין במקטע הרשאות ב- API שאליו ברצונך להתקשר.
לדוגמה, כדי להפעיל שאילתות מתקדמות, בחר את ההרשאה 'הפעל שאילתות מתקדמות'; כדי לבודד מכשיר, בחר את ההרשאה 'מחשב בודד'.
בחר הענק הסכמת מנהל מערכת. בכל פעם שאתה מוסיף הרשאה, עליך לבחור הענק הסכמת מנהל מערכת כדי שהיא תוכל להיכנס לתוקף.
כדי להוסיף סוד ליישום, בחר אישורים &, הוסף תיאור לסוד ולאחר מכן בחר הוסף.
עצה
לאחר שתבחר הוסף, בחר העתק את הערך הסודי שנוצר. לא תוכל לאחזר את הערך הסודי לאחר שתצא.
הקלט את מזהה היישום ואת מזהה הדייר שלך במקום בטוח. הן מופיעות תחת מבט כולל בדף היישום שלך.
עבור שותפים Microsoft Defender XDRבלבד: בצע הוראות אלה עבור גישת שותפים באמצעות ממשקי ה- API של Microsoft Defender XDR, הגדר את היישום שלך לריבוי, כך שהוא יהיה זמין בכל הדיירים לאחר שתקבל הסכמת מנהל מערכת. נדרשת גישה לשותף עבור יישומים של ספקים חיצוניים - לדוגמה, אם אתה יוצר יישום המיועד לפעול בדיירים של לקוחות מרובים. הדבר אינו נדרש אם אתה יוצר שירות שברצונך להפעיל בדייר שלך בלבד, כגון יישום לשימושך האישי, המקיימים אינטראקציה עם הנתונים שלך בלבד. כדי להגדיר את היישום שלך לריבוי:
עבור אל אימות והוסף כ- https://portal.azure.comURI של ניתוב מחדש.
בחלק התחתון של הדף, תחת סוגי חשבונות נתמכים, בחר בהסכמה של כל יישום מדריך כתובות ארגוני עבור היישום המכפיל שלך.
מאחר שהיישום שלך מקיים אינטראקציה עם Microsoft Defender XDR בשמם של המשתמשים שלך, יש לאשר אותו עבור כל דייר שבו בכוונתך להשתמש בו.
מנהל 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 שלך.
חשוב
אף על פי שהדוגמאות בסעיף זה מעודדות אותך להדביק ערכים סודיים למטרות בדיקה, לעולם אל תקוד באופן קשיח סודות ליישום שפועל בייצור. ספק חיצוני יכול להשתמש בסוד שלך כדי לגשת למשאבים. באפשרותך לעזור לשמור על סודות האפליקציה שלך מאובטחים באמצעות Azure Key Vault. לקבלת דוגמה מעשית לאופן שבו תוכל להגן על האפליקציה שלך, ראה ניהול סודות באפליקציות השרת שלך באמצעות Azure Key Vault.
קבלת אסימון גישה באמצעות PowerShell
# This code gets the application context token and saves it to a file named "Latest-token.txt" under the current directory.
$tenantId = '' # Paste your directory (tenant) ID here
$clientId = '' # Paste your application (client) ID here
$appSecret = '' # Paste your own app secret here to test, then store it in a safe place, such as the Azure Key Vault!
$resourceAppIdUri = 'https://api.security.microsoft.com'
$oAuthUri = "https://login.windows.net/$tenantId/oauth2/token"
$authBody = [Ordered] @{
resource = $resourceAppIdUri
client_id = $clientId
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#
הערה
הקוד הבא נבדק באמצעות Nuget Microsoft.Identity.Client 3.19.8.
חשוב
חבילת Microsoft.IdentityModel.Clients.ActiveDirectory NuGet ו- Azure AD Authentication Library (ADAL) הוצאו משימוש. לא נוספו תכונות חדשות מאז 30 ביוני 2020. אנו ממליצים מאוד לשדרג, עיין במדריך ההעברה לקבלת פרטים נוספים.
צור יישום מסוף חדש.
התקן את NuGet Microsoft.Identity.Client.
הוסף את השורה הבאה:
using Microsoft.Identity.Client;העתק והדבק את הקוד הבא ביישום שלך (אל תשכח לעדכן את שלושת המשתנים:
tenantId,clientId,appSecret):csharp 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
import json
import urllib.request
import urllib.parse
tenantId = '' # Paste your directory (tenant) ID here
clientId = '' # Paste your application (client) ID here
appSecret = '' # Paste your own app secret here to test, then store it in a safe place, such as the Azure Key Vault!
url = "https://login.windows.net/%s/oauth2/token" % (tenantId)
resourceAppIdUri = 'https://api.security.microsoft.com'
body = {
'resource' : resourceAppIdUri,
'client_id' : clientId,
'client_secret' : appSecret,
'grant_type' : 'client_credentials'
}
data = urllib.parse.urlencode(body).encode("utf-8")
req = urllib.request.Request(url, data)
response = urllib.request.urlopen(req)
jsonResponse = json.loads(response.read())
aadToken = jsonResponse["access_token"]
קבל אסימון גישה באמצעות פיתל
הערה
התכרבל מותקן מראש ב- Windows 10, בגירסאות 1803 ואילך. עבור גירסאות אחרות של Windows, הורד והתקן את הכלי ישירות מאתר האינטרנט הרשמי של התלתלים.
פתח שורת פקודה והגדר את CLIENT_ID מזהה יישום Azure שלך.
הגדר CLIENT_SECRET סוד היישום שלך ב- Azure.
הגדר TENANT_ID מזהה הדייר של Azure של הלקוח שרוצה להשתמש ביישום שלך כדי לגשת Microsoft Defender XDR.
הפעל את הפקודה הבאה:
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://api.security.microsoft.com/.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"}
אימות האסימון
העתק והדבק את האסימון באתר האינטרנט של מאמת אסימון האינטרנט JSON, JWT, כדי לפענח אותו.
ודא שתביעת התפקידים בתוך האסימון המפענח מכילה את ההרשאות הרצויות.
בתמונה הבאה, באפשרותך לראות אסימון פענוח שנרכש מיישום, עם
Incidents.Read.All,Incidents.ReadWrite.AllוהרשאותAdvancedHunting.Read.All:
השתמש לאסימון כדי לגשת ל- API Microsoft Defender XDR שלך
בחר את ה- API שבו ברצונך להשתמש (אירועים או ציד מתקדם). לקבלת מידע נוסף, ראה ממשקי API Microsoft Defender XDR נתמכים.
בבקשה מבוססת-HTTP שאתה עומד לשלוח,
"Bearer" <token>הגדר את כותרת ההרשאה ל- , נושא ההרשאות הוא סכימת ההרשאה, אסימוני להיות האסימון המאומת שלך.תוקפו של האסימון יפוג תוך שעה. באפשרותך לשלוח יותר מבקשה אחת במהלך זמן זה עם אותו אסימון.
הדוגמה הבאה מראה כיצד לשלוח בקשה לקבלת רשימה של אירועים באמצעות C#.
var httpClient = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://api.security.microsoft.com/api/incidents");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = httpClient.SendAsync(request).GetAwaiter().GetResult();
מאמרים קשורים
- Microsoft Defender XDR כולל על ממשקי API
- גישה Microsoft Defender XDR API
- יצירת יישום 'Hello world'
- יצירת יישום לגישה Microsoft Defender XDR API בשם משתמש
- יצירת אפליקציה עם גישה מרובת שותפים לממשקי Microsoft Defender XDR API
- קבל מידע על מגבלות API ורישוי
- הכרת קודי שגיאה
- ניהול סודות באפליקציות השרת שלך באמצעות Azure Key Vault
- הרשאת OAuth 2.0 עבור כניסה למשתמש וגישת API
עצה
האם ברצונך לקבל מידע נוסף? צור קשר עם קהילת האבטחה של Microsoft בקהילת הטכנולוגיה שלנו: קהילת האבטחה של Microsoft Defender XDR.