Microsoft Defender لواجهة برمجة تطبيقات نقطة النهاية - Hello World

ينطبق على:

هل تريد تجربة Defender لنقطة النهاية؟ التسجيل للحصول على إصدار تجريبي مجاني.

ملاحظة

إذا كنت أحد عملاء حكومة الولايات المتحدة، فالرجاء استخدام معرفات URI المدرجة في Microsoft Defender لنقطة النهاية لعملاء حكومة الولايات المتحدة.

تلميح

للحصول على أداء أفضل، يمكنك استخدام الخادم الأقرب إلى موقعك الجغرافي:

  • 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

الحصول على التنبيهات باستخدام برنامج PowerShell نصي بسيط

كم من الوقت يستغرق المرور عبر هذا المثال؟

يستغرق الأمر 5 دقائق فقط في خطوتين:

  • تسجيل التطبيق
  • استخدام الأمثلة: يتطلب فقط نسخ/لصق برنامج PowerShell نصي قصير

هل أحتاج إلى إذن للاتصال؟

بالنسبة لمرحلة تسجيل التطبيق، يجب أن يكون لديك دور المسؤول العام المعين في مستأجر Microsoft Entra.

الخطوة 1 - إنشاء تطبيق في معرف Microsoft Entra

  1. سجّل الدخول إلى مدخل Azure.

  2. انتقل إلى Microsoft Entra ID>App registrationsNew registrations>.

    خيار تسجيلات التطبيق ضمن جزء الإدارة في مركز إدارة Microsoft Entra

  3. في نموذج التسجيل، اختر اسما للتطبيق الخاص بك ثم حدد تسجيل.

  4. اسمح للتطبيق الخاص بك بالوصول إلى Defender لنقطة النهاية وتعيين إذن "قراءة جميع التنبيهات" :

    • في صفحة التطبيق الخاص بك، حدد أذونات واجهة برمجة التطبيقات إضافة واجهات> برمجة تطبيقاتالأذونات>التي تستخدمها> مؤسستي اكتب WindowsDefenderATP وحدد WindowsDefenderATP.

      ملاحظة

      لا يظهر WindowsDefenderATP في القائمة الأصلية. تحتاج إلى البدء في كتابة اسمه في مربع النص لمشاهدته يظهر.

      خيار أذونات واجهة برمجة التطبيقات ضمن جزء الإدارة في مركز إدارة Microsoft Entra

    • اختر أذونات> التطبيقAlert.Read.All، ثم حدد Add permissions.

      نوع الإذن وأجزاء الإعدادات في صفحة طلب أذونات واجهة برمجة التطبيقات

      هام

      تحتاج إلى تحديد الأذونات ذات الصلة. قراءة كل التنبيهات هي مثال فقط.

      على سبيل المثال:

      • لتشغيل الاستعلامات المتقدمة، حدد إذن "تشغيل الاستعلامات المتقدمة".
      • لعزل جهاز، حدد إذن "عزل الجهاز".
      • لتحديد الإذن الذي تحتاجه، راجع قسم الأذونات في واجهة برمجة التطبيقات التي ترغب في الاتصال بها.
  5. حدد منح الموافقة.

    ملاحظة

    في كل مرة تضيف فيها إذنا، يجب النقر فوق منح الموافقة حتى يصبح الإذن الجديد ساري المفعول.

    خيار الموافقة على إذن المنح في مركز إدارة Microsoft Entra

  6. إضافة سر إلى التطبيق.

    حدد Certificates & secrets، وأضف وصفا إلى السر وحدد Add.

    هام

    بعد النقر فوق إضافة، انسخ القيمة السرية التي تم إنشاؤها. لن تتمكن من الاسترداد بعد المغادرة!

    عنصر قائمة الشهادات & البيانات السرية في جزء الإدارة في مركز إدارة Microsoft Entra

  7. اكتب معرف التطبيق ومعرف المستأجر الخاص بك.

    في صفحة التطبيق، انتقل إلى نظرة عامة وانسخ ما يلي:

    جزء تفاصيل التطبيق ضمن عنصر القائمة نظرة عامة في مركز إدارة Microsoft Entra

منجز! لقد سجلت تطبيقا بنجاح!

الخطوة 2 - احصل على رمز مميز باستخدام التطبيق واستخدم هذا الرمز المميز للوصول إلى واجهة برمجة التطبيقات.

  • انسخ البرنامج النصي التالي إلى PowerShell ISE أو إلى محرر نص، واحفظه ك Get-Token.ps1.

  • يؤدي تشغيل هذا البرنامج النصي إلى إنشاء رمز مميز وحفظه في مجلد العمل تحت الاسم Latest-token.txt.

    # 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 secret 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
    
  • فحص السلامة:

    • تشغيل البرنامج النصي.
    • في المستعرض، انتقل إلى: https://jwt.ms/.
    • انسخ الرمز المميز (محتوى ملف Latest-token.txt).
    • الصق في المربع العلوي.
    • ابحث عن قسم "الأدوار". ابحث عن دور Alert.Read.All .

    جزء الرمز المميز الذي تم فك ترميزه jwt.ms

لنحصل على التنبيهات!

  • يستخدم Get-Token.ps1 البرنامج النصي التالي للوصول إلى واجهة برمجة التطبيقات ويحصل على تنبيهات للساعات ال 48 الماضية.

  • احفظ هذا البرنامج النصي في المجلد نفسه الذي حفظت فيه البرنامج النصي Get-Token.ps1السابق .

  • ينشئ البرنامج النصي ملفين (json وcsv) مع البيانات الموجودة في نفس المجلد مثل البرامج النصية.

    # Returns Alerts created in the past 48 hours.
    
    $token = ./Get-Token.ps1       #run the script Get-Token.ps1  - make sure you are running this script from the same folder of Get-Token.ps1
    
    # Get Alert from the last 48 hours. Make sure you have alerts in that time frame.
    $dateTime = (Get-Date).ToUniversalTime().AddHours(-48).ToString("o")
    
    # The URL contains the type of query and the time filter we create above
    # Read more about [other query options and filters](get-alerts.md).
    $url = "https://api.securitycenter.microsoft.com/api/alerts?`$filter=alertCreationTime ge $dateTime"
    
    # Set the WebRequest headers
    $headers = @{
        'Content-Type' = 'application/json'
        Accept = 'application/json'
        Authorization = "Bearer $token"
    }
    
    # Send the webrequest and get the results.
    $response = Invoke-WebRequest -Method Get -Uri $url -Headers $headers -ErrorAction Stop
    
    # Extract the alerts from the results.
    $alerts =  ($response | ConvertFrom-Json).value | ConvertTo-Json
    
    # Get string with the execution time. We concatenate that string to the output file to avoid overwrite the file
    $dateTimeForFileName = Get-Date -Format o | foreach {$_ -replace ":", "."}
    
    # Save the result as json and as csv
    $outputJsonPath = "./Latest Alerts $dateTimeForFileName.json"
    $outputCsvPath = "./Latest Alerts $dateTimeForFileName.csv"
    
    Out-File -FilePath $outputJsonPath -InputObject $alerts
    ($alerts | ConvertFrom-Json) | Export-CSV $outputCsvPath -NoTypeInformation
    

لقد انتهيت! لقد نجحت في:

  • تم الإنشاء والتسجيل والتطبيق
  • منح الإذن لهذا التطبيق لقراءة التنبيهات
  • توصيل واجهة برمجة التطبيقات
  • استخدم برنامج PowerShell النصي لإرجاع التنبيهات التي تم إنشاؤها في الساعات ال 48 الماضية

تلميح

هل تريد معرفة المزيد؟ التفاعل مع مجتمع أمان Microsoft في مجتمع التكنولوجيا لدينا: Microsoft Defender for Endpoint Tech Community.