[مهمل] إنشاء موصل قديم بدون تعليمات برمجية ل Microsoft Sentinel
هام
يتم الآن دعم جمع السجلات من العديد من الأجهزة والأجهزة من قبل تنسيق الأحداث العامة (CEF) عبر AMA أو Syslog عبر AMA أو السجلات المخصصة عبر موصل بيانات AMA في Microsoft Sentinel. لمزيد من المعلومات، راجع البحث عن موصل بيانات Microsoft Sentinel.
هام
هناك إصدار أحدث من Codeless Connector Platform (CCP). لمزيد من المعلومات حول CCP الجديد، راجع إنشاء موصل بدون تعليمات برمجية (معاينة) .
راجع هذا المستند إذا كنت بحاجة إلى الاحتفاظ بموصل بيانات أو تحديثه استنادا إلى هذا الإصدار القديم القديم من CCP.
يوفر CCP للشركاء والمستخدمين المتقدمين والمطورين القدرة على إنشاء موصلات مخصصة وتوصيلها واستيعاب البيانات إلى Microsoft Sentinel. يمكن توزيع الموصلات التي جرى إنشاؤها عبر CCP عبر واجهة برمجة التطبيقات أو قالب ARM أو على أنها حل في مركز محتوى Microsoft Sentinel.
الموصلات التي تم إنشاؤها باستخدام CCP هي SaaS بالكامل، دون أي متطلبات لتثبيت الخدمة، وتشمل أيضاً مراقبة الصحة والدعم الكامل من Microsoft Azure Sentinel.
قم بإنشاء موصل البيانات الخاص بك عن طريق تعريف تكوينات JSON، مع إعدادات لكيفية ظهور صفحة موصل البيانات في Microsoft Sentinel مع إعدادات الاستقصاء التي تحدد كيفية عمل الاتصال.
هام
هذا الإصدار من Codeless Connector Platform (CCP) قيد المعاينة، ولكنه يعتبر أيضا قديما. تتضمن الشروط التكميلية لمعاينة Azure شروطا قانونية إضافية تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو المعاينة أو التي لم يتم إصدارها بعد في التوفر العام.
اتّبع الخطوات التالية لإنشاء موصل CCP والاتصال بمصدر البيانات من Microsoft Sentinel:
- تكوين واجهة مستخدم الموصل
- تكوين إعدادات استقصاء الموصل
- توزيع الموصل إلى مساحة عمل Microsoft Sentinel
- توصيل Microsoft Sentinel بمصدر البيانات وبدء استيعاب البيانات
توضح هذه المقالة بناء الجملة المستخدم في تكوينات CCP JSON وإجراءات نشر الموصل عبر واجهة برمجة التطبيقات أو قالب ARM أو حل Microsoft Sentinel.
المتطلبات الأساسية
قبل إنشاء موصل، نوصيك بفهم كيفية تصرف مصدر البيانات وكيفية اتصال Microsoft Sentinel بالضبط.
على سبيل المثال، ستحتاج إلى معرفة أنواع نقاط نهاية المصادقة وقسمة الصفحات وواجهة برمجة التطبيقات المطلوبة للاتصالات الناجحة.
إنشاء ملف تكوين موصل JSON
يحتوي موصل CCP المخصص على قسمين أساسيين من JSON مطلوبين للنشر. املأ هذه المناطق لتحديد كيفية عرض الموصل في مدخل Azure وكيفية توصيل Microsoft Sentinel بمصدر البيانات.
connectorUiConfig
. يحدد العناصر المرئية والنص المعروض على صفحة موصل البيانات في Microsoft Sentinel. لمزيد من المعلومات، راجع تكوين واجهة مستخدم الموصل.pollingConfig
. يحدد كيفية تجميع Microsoft Sentinel للبيانات من مصدر البيانات. لمزيد من المعلومات، راجع تكوين إعدادات استقصاء الموصل.
بعد ذلك، إذا قمت بنشر الموصل بدون تعليمات برمجية عبر ARM، فستقوم بتضمين هذه الأقسام في قالب ARM لموصلات البيانات.
راجع موصلات بيانات CCP الأخرى كأمثلة أو قم بتنزيل نموذج المثال، DataConnector_API_CCP_template.json (معاينة).
تكوين واجهة مستخدم الموصل
يصف هذا القسم خيارات التكوين المتوفرة لتخصيص واجهة المستخدم لصفحة موصل البيانات.
تعرض الصورة التالية عينة من صفحة موصل البيانات، مع تمييزها بالأرقام التي تتوافق مع المناطق البارزة من واجهة المستخدم:
- العنوان. العنوان المعروض لموصل البيانات.
- الشعار. الأيقونة المعروضة لموصل البيانات. تخصيص هذا ممكن فقط عند النشر كجزء من الحل.
- الحالة. يشير إلى ما إذا كان موصل البيانات متصلا ب Microsoft Sentinel أم لا.
- مخططات البيانات. تعرض الاستعلامات ذات الصلة ومقدار البيانات التي جرى استيعابها في الأسبوعين الماضيين.
- علامة تبويب الإرشادات. يتضمن قسم المتطلبات الأساسية، مع قائمة بالحد الأدنى من عمليات التحقق من الصحة قبل أن يتمكن المستخدم من تمكين الموصل، والإرشادات، لتوجيه تمكين المستخدم للموصل. يمكن أن يتضمن هذا القسم النص والأزرار والنماذج والجداول وغيرها من عناصر واجهة المستخدم الشائعة لتبسيط العملية.
- علامة تبويب الخطوات التالية. تتضمن معلومات مفيدة لفهم كيفية العثور على البيانات في سجلات الأحداث، مثل نماذج الاستعلامات.
فيما يلي الأقسام connectorUiConfig
وبناء الجملة اللازمة لتكوين واجهة المستخدم:
اسم الخاصية | كتابة | الوصف |
---|---|---|
التوفر | { "status": 1, "isPreview": منطقيه} |
الحالة: 1 يشير إلى أن الموصل متوفر بشكل عام للعملاء. isPreview يشير إلى ما إذا كان يجب تضمين لاحقة (معاينة) إلى اسم الموصل. |
connectivityCriteria | { "type": SentinelKindsV2, "value": APIPolling } |
عنصر يحدد كيفية التحقق من تعريف الموصل بشكل صحيح. استخدم القيم المشار إليها هنا. |
dataTypes | أنواع البيانات[] | قائمة بجميع أنواع البيانات للموصل، واستعلام لإحضار وقت الحدث الأخير لكل نوع بيانات. |
descriptionMarkdown | السلسلة | وصف للموصل مع القدرة على إضافة لغة markdown لتحسينه. |
graphQueries | GraphQueries[] | الاستعلامات التي تعرض استيعاب البيانات خلال الأسبوعين الماضيين في جزء "مخططات البيانات". وفّر إما استعلام واحد لجميع أنواع بيانات موصل البيانات، أو استعلامات مختلفة لكل نوع بيانات. |
graphQueriesTableName | السلسلة | يحدد اسم جدول "Log Analytics" الذي تُسحب بيانات الاستعلامات منه. يمكن أن يكون اسم الجدول أي سلسلة، ولكن يجب أن ينتهي بـ _CL . على سبيل المثال: TableName_CL |
instructionsSteps | تعليمات الخطوات[] | صفيف من أجزاء عنصر واجهة المستخدم التي تشرح كيفية تثبيت الموصل، المعروضة في علامة التبويب "إرشادات". |
بيانات التعريف | بيانات التعريف | بيانات التعريف المعروضة ضمن وصف الموصل. |
اذونات | الأذونات[] | المعلومات المعروضة ضمن قسم المتطلبات الأساسية في واجهة المستخدم التي تسرد الأذونات المطلوبة لتمكين الموصل أو تعطيله. |
publisher | السلسلة | هذا هو النص المعروض في قسم الموفر . |
sampleQueries | نماذج الاستعلامات[] | عينة استعلامات للعميل لفهم كيفية العثور على البيانات في سجل الأحداث، لتُعرض في علامة التبويب "الخطوات التالية". |
title | السلسلة | العنوان المعروض في صفحة موصل البيانات. |
تجميع كل هذه القطع معا أمر معقد. استخدم أداة التحقق من صحة تجربة مستخدم صفحة الموصل لاختبار المكونات التي تضعها معا.
dataTypes
قيمة الصفيف | النوع | الوصف |
---|---|---|
الاسم | السلسلة | وصف ذي معنى ل، بما فيlastDataReceivedQuery ذلك دعم متغير. مثال: {{graphQueriesTableName}} |
lastDataReceivedQuery | السلسلة | استعلام KQL الذي يقوم بإرجاع صف واحد، ويشير إلى آخر مرة تم فيها تلقي البيانات، أو عدم وجود بيانات إذا لم تكن هناك بيانات ذات صلة. مثال: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time) |
graphQueries
يحدد الاستعلام الذي يعرض استيعاب البيانات خلال الأسبوعين الماضيين في جزء "مخططات البيانات".
وفّر إما استعلام واحد لجميع أنواع بيانات موصل البيانات، أو استعلامات مختلفة لكل نوع بيانات.
قيمة الصفيف | النوع | الوصف |
---|---|---|
اسم القياس | السلسلة | اسم معبر للرسم البياني. مثال: Total data received |
legend | السلسلة | السلسلة التي تظهر في وسيلة الإيضاح إلى يمين المخطط، بما في ذلك مرجع متغير. مثال: {{graphQueriesTableName}} |
baseQuery | السلسلة | الاستعلام الذي يقوم بتصفية الأحداث ذات الصلة، بما في ذلك مرجع متغير. على سبيل المثال: TableName_CL | where ProviderName == "myprovider" أو {{graphQueriesTableName}} |
instructionSteps
يوفر هذا القسم معلمات تُحدد مجموعة الإرشادات التي تظهر على صفحة موصل البيانات في Microsoft Sentinel.
التوجيهات
يعرض مجموعة من الإرشادات، مع خيارات مختلفة كمعلمات والقدرة على تداخل المزيد من التعليماتالتضمينات في المجموعات.
المعلمة | خاصية الصفيف | الوصف |
---|---|---|
APIKey | APIKey | إضافة عناصر نائبة إلى ملف تكوين JSON الخاص بالموصل. |
CopyableLabel | CopyableLabel | إظهار حقل نصي مع زر نسخ في النهاية. عند تحديد الزر، يتم نسخ قيمة الحقل. |
InfoMessage | InfoMessage | يحدد رسالة معلومات مُضمنة. |
مجموعة الخطوات الإرشادية | مجموعة الخطوات الإرشادية | يعرض مجموعة من الإرشادات، موسعة اختياريا أو قابلة للطي، في قسم إرشادات منفصل. |
InstallAgent | InstallAgent | يعرض ارتباطا إلى أجزاء أخرى من Azure لإنجاز متطلبات التثبيت المختلفة. |
APIKey
قد تحتاج إلى إنشاء قالب ملف تكوين JSON مع معلمات العناصر النائبة لإعادة استخدامه عبر موصلات متعددة، أو حتى لإنشاء موصل ببيانات لا تملكها حاليًا.
لإنشاء معلمات عنصر نائب، حدد صفيفًا إضافيًا باسم userRequestPlaceHoldersInput
في قسم "الإرشادات" في ملف تكوين CCP JSON باستخدام بناء الجملة التالي:
"instructions": [
{
"parameters": {
"enable": "true",
"userRequestPlaceHoldersInput": [
{
"displayText": "Organization Name",
"requestObjectKey": "apiEndpoint",
"placeHolderName": "{{placeHolder}}"
}
]
},
"type": "APIKey"
}
]
تتضمن المعلمة userRequestPlaceHoldersInput
السمات التالية:
Name | كتابة | الوصف |
---|---|---|
نص العرض | السلسلة | يحدد قيمة عرض مربع النص، التي تظهر للمستخدم عند الاتصال. |
RequestObjectKey | السلسلة | تعريف المعرف في قسم الطلب من pollingConfig لاستبدال قيمة العنصر النائب بالقيمة المقدمة من المستخدم. إذا لم تستخدم هذه السمة، فاستخدم السمة PollingKeyPaths بدلًا من ذلك. |
PollingKeyPaths | السلسلة | تحديد صفيف من عناصر JsonPath التي تُوجِه استدعاء واجهة برمجة التطبيقات إلى أي مكان في القالب لاستبدال قيمة عنصر نائب بقيمة مستخدم. مثال: "pollingKeyPaths":["$.request.queryParameters.test1"] إذا لم تستخدم هذه السمة، فاستخدم السمة RequestObjectKey بدلًا من ذلك. |
PlaceHolderName | السلسلة | تحديد اسم معلمة العنصر النائب في ملف قالب JSON. يمكن أن تكون هذه أي قيمة فريدة، مثل {{placeHolder}} . |
CopyableLabel
مثال:
عينة التعليمات البرمجية:
{
"parameters": {
"fillWith": [
"WorkspaceId",
"PrimaryKey"
],
"label": "Here are some values you'll need to proceed.",
"value": "Workspace is {0} and PrimaryKey is {1}"
},
"type": "CopyableLabel"
}
قيمة الصفيف | النوع | الوصف |
---|---|---|
fillWith | قائمة تعداد | اختياري. صفيف متغيرات البيئة المُستخدم لملء عنصر نائب. يفصل العناصر النائبة المتعددة بفواصل. على سبيل المثال: {0},{1} القيم المدعومة: workspaceId , workspaceName , primaryKey , MicrosoftAwsAccount , subscriptionId |
تسميه | السلسلة | تعريف نص التسمية أعلى مربع نص. |
قيمة | السلسلة | تحديد القيمة التي ستُعرض في مربع النص، ويدعم العناصر النائبة. |
الصفوف | صفوف | اختياري. يحدد الصفوف في منطقة واجهة المستخدم. يُعيّن إلى 1 بشكل افتراضي. |
wideLabel | Boolean | اختياري. تحديد تسمية واسعة للسلاسل الطويلة. يُعيّن إلى false بشكل افتراضي. |
InfoMessage
فيما يلي مثال على رسالة معلومات مضمنة:
في المقابل، تعرض الصورة التالية رسالة معلومات غير مضمنة:
قيمة الصفيف | النوع | الوصف |
---|---|---|
text | السلسلة | يحدد النص المراد عرضه في الرسالة. |
visible | Boolean | تحديد ما إذا كانت الرسالة معروضة أم لا. |
inline | Boolean | تحديد كيفية عرض رسالة المعلومات. - true : (مستحسن) يعرض رسالة المعلومات المُضمنة في الإرشادات. - false : يضيف خلفية زرقاء. |
مجموعة الخطوات الإرشادية
فيما يلي مثال على مجموعة تعليمات قابلة للتوسيع:
قيمة الصفيف | النوع | الوصف |
---|---|---|
title | السلسلة | تحديد عنوان خطوة التعليمات. |
canCollapseAllSections | Boolean | اختياري. يحدد ما إذا كان القسم عبارة عن أكورديون قابل للطي أم لا. |
noFxPadding | Boolean | اختياري. إذا كان true ، فإنه يقلل من مساحة الارتفاع المتروكة لتوفير مساحة. |
expanded | Boolean | اختياري. إذا كان true ، فإنه يظهر على أنه مُوسع بشكل افتراضي. |
للحصول على مثال مفصل، راجع تكوين JSON لموصل Windows DNS.
InstallAgent
تظهر بعض أنواع InstallAgent كزر، وسيظهر البعض الآخر كارتباط. فيما يلي أمثلة على كليهما:
قيم الصفيف | النوع | الوصف |
---|---|---|
linkType | قائمة تعداد | تحديد نوع الارتباط، كأحد القيم التالية: InstallAgentOnWindowsVirtualMachine InstallAgentOnWindowsNonAzure InstallAgentOnLinuxVirtualMachine InstallAgentOnLinuxNonAzure OpenSyslogSettings OpenCustomLogsSettings OpenWaf OpenAzureFirewall OpenMicrosoftAzureMonitoring OpenFrontDoors OpenCdnProfile AutomaticDeploymentCEF OpenAzureInformationProtection OpenAzureActivityLog OpenIotPricingModel OpenPolicyAssignment OpenAllAssignmentsBlade OpenCreateDataCollectionRule |
policyDefinitionGuid | السلسلة | مطلوب عند استخدام OpenPolicyAssignment linkType. بالنسبة للموصلات المستندة إلى النهج، يحدد GUID لتعريف النهج المُضمن. |
assignMode | قائمة تعداد | اختياري. بالنسبة للموصلات المستندة إلى النهج، يحدد وضع التعيين، كأحد القيم التالية: Initiative , Policy |
dataCollectionRuleType | قائمة تعداد | اختياري. بالنسبة للموصلات المُستندة إلى DCR، يحدد نوع قاعدة تجميع البيانات كأحد ما يلي: SecurityEvent , ForwardEvent |
بيانات التعريف
يوفر هذا القسم بيانات التعريف في واجهة مستخدم موصل البيانات ضمن منطقة الوصف .
قيمة المجموعة | النوع | الوصف |
---|---|---|
النوع | السلسلة | تحديد نوع قالب ARM الذي تُنشئه. استخدم دومًا dataConnector . |
مصدر | السلسلة | يصف مصدر البيانات الخاص بك، باستخدام بناء الجملة التالي: { "kind": خيط"name": خيط} |
author | السلسلة | يصف مؤلف موصل البيانات، باستخدام بناء الجملة التالي: { "name": خيط} |
support | السلسلة | وصف الدعم المقدم لموصل البيانات باستخدام بناء الجملة التالي: { "tier": خيط"name": خيط"email": خيط"link": سلسلة URL} |
permissions
قيمة الصفيف | النوع | الوصف |
---|---|---|
customs | السلسلة | يصف أي أذونات مخصصة مطلوبة لاتصال البيانات، في بناء الجملة التالي: { "name": string, "description": خيط} مثال: يتم عرض قيمة الجمارك في قسم المتطلبات الأساسية ل Microsoft Sentinel مع أيقونة إعلامية زرقاء. في مثال GitHub، يرتبط هذا بخط مفتاح الرمز المميز الشخصي لواجهة برمجة تطبيقات GitHub: تحتاج إلى الوصول إلى الرمز المميز الشخصي GitHub... |
licenses | قائمة تعداد | تحديد التراخيص المطلوبة كأحد القيم التالية: OfficeIRM ,OfficeATP , Office365 , AadP1P2 , Mcas , Aatp , Mdatp , Mtp , IoT مثال: تظهر قيمة التراخيص في Microsoft Sentinel كما يلي: الترخيص: يجب توفر Azure AD Premium P2 |
resourceProvider | resourceProvider | وصف أي متطلبات أساسية لمورد Azure. مثال: تعرض قيمة resourceProvider في قسم المتطلبات الأساسية ل Microsoft Sentinel على النحو التالي: مساحة العمل: مطلوب إذن القراءة والكتابة. المفاتيح: يجب توفر أذونات القراءة للمفاتيح المشتركة لمساحة العمل. |
tenant | صفيف قيم ENUM مثال: "tenant": [ "GlobalADmin", "SecurityAdmin" ] |
تحديد الأذونات المطلوبة، كقيمة واحدة أو أكثر من القيم التالية: "GlobalAdmin" , "SecurityAdmin" , "SecurityReader" , "InformationProtection" مثال: يعرض قيمة المستأجر في Microsoft Sentinel على النحو التالي: أذونات المستأجر: يتطلب Global Administrator أو Security Administrator على مستأجر مساحة العمل |
resourceProvider
قيمة الصفيف الفرعي | النوع | الوصف |
---|---|---|
provider | قائمة تعداد | يصف موفر الموارد، بإحدى القيم التالية: - Microsoft.OperationalInsights/workspaces - Microsoft.OperationalInsights/solutions - Microsoft.OperationalInsights/workspaces/datasources - microsoft.aadiam/diagnosticSettings - Microsoft.OperationalInsights/workspaces/sharedKeys - Microsoft.Authorization/policyAssignments |
providerDisplayName | السلسلة | عنصر قائمة ضمن المتطلبات الأساسية التي ستعرض علامة اختيار حمراء "x" أو خضراء عند التحقق من صحة الأذونات المطلوبة في صفحة الموصل. مثل "Workspace" |
permissionsDisplayText | السلسلة | عرض نص لأذونات القراءة أو الكتابة أو القراءة والكتابة التي يجب أن تتوافق مع القيم المكونة في الأذونات المطلوبة |
requiredPermissions | { "action": منطقيه, "delete": منطقيه, "read": منطقيه, "write": منطقيه} |
توضح هذه المقالة الحد الأدنى من الأذونات المطلوبة للموصل. |
النطاق | قائمة تعداد | وصف نطاق موصل البيانات، كأحد القيم التالية: "Subscription" , "ResourceGroup" , "Workspace" |
sampleQueries
قيمة الصفيف | النوع | الوصف |
---|---|---|
الوصف | السلسلة | وصف معبر لعينة الاستعلام. مثال: Top 10 vulnerabilities detected |
الاستعلام | السلسلة | عينة استعلام تُستخدم لإحضار بيانات نوع البيانات. مثال: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10 |
تكوين خيارات الارتباط الأخرى
لتعريف ارتباط مضمن باستخدام markdown، استخدم المثال التالي. هنا يتم توفير ارتباط في وصف التعليمات:
{
"title": "",
"description": "Make sure to configure the machine's security according to your organization's security policy\n\n\n[Learn more >](https://aka.ms/SecureCEF)"
}
لتعريف ارتباط كقالب ARM، استخدم المثال التالي كإرشاد:
{
"title": "Azure Resource Manager (ARM) template",
"description": "1. Click the **Deploy to Azure** button below.\n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)]({URL to custom ARM template})"
}
التحقق من صحة تجربة مستخدم صفحة موصل البيانات
اتبع هذه الخطوات لعرض تجربة مستخدم الموصل والتحقق من صحتها.
- يمكن الوصول إلى الأداة المساعدة للاختبار بواسطة عنوان URL هذا - https://aka.ms/sentineldataconnectorvalidateurl
- انتقل إلى Microsoft Sentinel -> موصلات البيانات
- انقر فوق الزر "استيراد" وحدد ملف json الذي يحتوي فقط على
connectorUiConfig
قسم من موصل البيانات.
لمزيد من المعلومات حول أداة التحقق من الصحة هذه، راجع إرشادات إنشاء الموصل في دليل إنشاء GitHub.
إشعار
نظرا لأن معلمة تعليمات APIKey خاصة بالموصل بدون تعليمات برمجية، قم بإزالة هذا القسم مؤقتا لاستخدام أداة التحقق من الصحة، أو ستفشل.
تكوين إعدادات استقصاء الموصل
يصف هذا القسم تكوين كيفية استقصاء البيانات من مصدر البيانات لموصل بيانات بدون تعليمات برمجية.
تُظهر التعليمات البرمجية التالية بناء جملة قسم pollingConfig
من ملف تكوين CCP.
"pollingConfig": {
"auth": {
},
"request": {
},
"response": {
},
"paging": {
}
}
يتضمن قسم pollingConfig
الخصائص التالية:
Name | كتابة | الوصف |
---|---|---|
المصادقه | السلسلة | وصف خصائص المصادقة لاستقصاء البيانات. لمزيد من المعلومات، راجع تكوين المصادقة. |
auth.authType | السلسلة | إلزامي. يعرف نوع المصادقة، المتداخلة auth داخل الكائن، كأحد القيم التالية: Basic ، ، APIKey OAuth2 |
طلب | JSON المتداخل | إلزامي. وصف حمولة الطلب لاستقصاء البيانات، مثل نقطة نهاية واجهة برمجة التطبيقات. لمزيد من المعلومات، راجع تكوين الطلب. |
response | JSON المتداخل | إلزامي. وصف عنصر الاستجابة والرسالة المتداخلة التي جرى إرجاعها من واجهة برمجة التطبيقات عند استقصاء البيانات. لمزيد من المعلومات، راجع تكوين الاستجابة. |
paging | JSON المتداخل | اختياري. وصف حمولة فصل الصفحات عند استقصاء البيانات. لمزيد من المعلومات، راجع تكوين الترحيل. |
لمزيد من المعلومات، راجع عينة التعليمات البرمجية لـ pollingConfig.
تكوين المصادقة
يتضمن قسم auth
لتكوين pollingConfig المعلمات التالية، اعتمادًا على النوع المُحدد في عنصر authType:
معلمات authType الأساسية
Name | كتابة | الوصف |
---|---|---|
اسم المستخدم | السلسلة | إلزامي. تحديد اسم المستخدم. |
كلمة المرور | السلسلة | إلزامي. تحديد كلمة مرور المستخدم. |
معلمات authType لمفتاح API
Name | كتابة | الوصف |
---|---|---|
APIKeyName | السلسلة | اختياري. يعرف اسم مفتاح API الخاص بك، كأحد القيم التالية: - XAuthToken - Authorization |
IsAPIKeyInPostPayload | Boolean | تحديد مكان تعريف مفتاح API. صواب: يتم تعريف مفتاح API في حمولة طلب POST خطأ: يُعرّف مفتاح API في العنوان |
APIKeyIdentifier | السلسلة | اختياري. يحدد اسم المعرّف لمفتاح API. على سبيل المثال، حين يُعرّف التخويل على أنه "Authorization": "token <secret>" ، تُعرّف هذه المعلمة على أنها: {APIKeyIdentifier: “token”}) |
معلمات authType لـ OAuth2
يدعم النظام الأساسي للموصل بدون تعليمات برمجية منح رمز تخويل OAuth 2.0.
يستخدم العميل العام والسري نوع منح "رمز التخويل" لتبادل رمز التخويل للرمز المميز للوصول.
بعد عودة المستخدم إلى العميل عبر عنوان URL لإعادة التوجيه، سيحصل التطبيق على رمز التخويل من عنوان URL ويستخدمه لطلب الرمز المميز للوصول.
Name | كتابة | الوصف |
---|---|---|
FlowName | السلسلة | إلزامي. يحدد تدفق OAuth2. القيمة المدعومة: AuthCode - تتطلب تدفق تخويل |
AccessToken | السلسلة | اختياري. يحدد رمز وصول OAuth2 المميز، ذي الصلة عندما لا تنتهي صلاحية الرمز المميز للوصول. |
AccessTokenPrepend | السلسلة | اختياري. يحدد إلحاق رمز وصول OAuth2 المميز. القيمة الافتراضية هي Bearer . |
RefreshToken | السلسلة | إلزامي لأنواع مصادقة OAuth2. يحدد رمز تحديث OAuth2 المميز. |
TokenEndpoint | السلسلة | إلزامي لأنواع مصادقة OAuth2. يحدد نقطة نهاية خدمة الرمز المميز OAuth2. |
AuthorizationEndpoint | السلسلة | اختياري. يحدد نقطة نهاية خدمة تخويل OAuth2. يُستخدم فقط أثناء الإلحاق أو عند تجديد رمز تحديث مميز. |
RedirectionEndpoint | السلسلة | اختياري. يحدد نقطة نهاية إعادة التوجيه أثناء الإلحاق. |
AccessTokenExpirationDateTimeInUtc | السلسلة | اختياري. يحدد تاريخ انتهاء صلاحية الرمز المميز للوصول للتحديث بتنسيق UTC. يتعلق بوقت عدم انتهاء صلاحية الرمز المميز للوصول، وبالتالي له تاريخ ووقت طويل بالتوقيت العالمي المتفق عليه، أو عندما يكون للرمز المميز للوصول تاريخ انتهاء صلاحية طويل. |
RefreshTokenExpirationDateTimeInUtc | السلسلة | إلزامي لأنواع مصادقة OAuth2. يحدد تاريخ انتهاء صلاحية الرمز المميز للتحديث بتنسيق UTC. |
TokenEndpointHeaders | القاموس<سلسلة، عنصر> | اختياري. يحدد العناوين عند استدعاء نقطة نهاية خدمة الرمز المميز OAuth2. تعريف سلسلة بالتسلسل dictionary<string, string> التنسيق: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
AuthorizationEndpointHeaders | القاموس<سلسلة، عنصر> | اختياري. يحدد العناوين عند استدعاء نقطة نهاية خدمة تخويل OAuth2. يُستخدم فقط أثناء الإلحاق أو عند تجديد رمز تحديث مميز. تعريف سلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
AuthorizationEndpointQueryParameters | القاموس<سلسلة، عنصر> | اختياري. تحديد معلمات الاستعلام عند استدعاء نقطة نهاية خدمة تخويل OAuth2. يُستخدم فقط أثناء الإلحاق أو عند تجديد رمز تحديث مميز. تعريف سلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
TokenEndpointQueryParameters | القاموس<سلسلة، عنصر> | اختياري. تحديد معلمات الاستعلام عند استدعاء نقطة نهاية خدمة الرمز المميز OAuth2. تعريف سلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... } |
IsTokenEndpointPostPayloadJson | Boolean | اختياري، الافتراضي خطأ. يحدد ما إذا كانت معلمات الاستعلام بتنسيق JSON ويعينها في حمولة POST للطلب. |
IsClientSecretInHeader | Boolean | اختياري، الافتراضي خطأ. يحدد ما إذا عُرفت القيم client_id وclient_secret في العنوان، كما هو الحال في مخطط المصادقة الأساسية، بدلًا من حمولة POST. |
RefreshTokenLifetimeinSecAttributeName | السلسلة | اختياري. يعرّف اسم السمة من استجابة نقطة نهاية الرمز المميز، مع تحديد مدة بقاء الرمز المميز للتحديث بالثواني. |
IsJwtBearerFlow | Boolean | اختياري، الافتراضي خطأ. يحدد ما إذا كنت تستخدم JWT. |
JwtHeaderInJson | القاموس<سلسلة، عنصر> | اختياري. تعريف عناوين JWT بتنسيق JSON. تعريف سلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...} |
JwtClaimsInJson | القاموس<سلسلة، عنصر> | اختياري. يحدد مطالبات JWT بتنسيق JSON. تعريف سلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...} |
JwtPem | السلسلة | اختياري. يحدد مفتاح سري بتنسيق PEM Pkcs1: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n' تأكد من كتابة التعليمة البرمجية '\r\n' في مكانها. |
RequestTimeoutInSeconds | رقم صحيح | اختياري. يحدد المهلة بالثواني عند استدعاء نقطة نهاية خدمة الرمز المميز. الافتراضي هو 180 ثانية |
في ما يلي مثال على كيف يبدو تكوين OAuth2:
"pollingConfig": {
"auth": {
"authType": "OAuth2",
"authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent",
"redirectionEndpoint": "https://portal.azure.com/TokenAuthorize",
"tokenEndpoint": "https://oauth2.googleapis.com/token",
"authorizationEndpointQueryParameters": {},
"tokenEndpointHeaders": {
"Accept": "application/json"
},
"TokenEndpointQueryParameters": {},
"isClientSecretInHeader": false,
"scope": "https://www.googleapis.com/auth/admin.reports.audit.readonly",
"grantType": "authorization_code",
"contentType": "application/x-www-form-urlencoded",
"FlowName": "AuthCode"
},
معلمات authType للجلسة
Name | كتابة | الوصف |
---|---|---|
QueryParameters | القاموس<سلسلة، عنصر> | اختياري. قائمة بمعلمات الاستعلام، بالتنسيق المتسلسلة dictionary<string, string> : {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
IsPostPayloadJson | Boolean | اختياري. يحدد ما إذا كانت معلمات الاستعلام بتنسيق JSON. |
رؤوس | القاموس<سلسلة، عنصر> | اختياري. يحدد العنوان المُستخدم عند استدعاء نقطة النهاية للحصول على معرّف الجلسة، وعند استدعاء واجهة برمجة تطبيقات نقطة النهاية. تعريف السلسلة بالتسلسل dictionary<string, string> التنسيق: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } |
SessionTimeoutInMinutes | السلسلة | اختياري. يحدد مهلة جلسة العمل، بالدقائق. |
SessionIdName | السلسلة | اختياري. يحدد اسم معرّف لجلسة العمل. |
SessionLoginRequestUri | السلسلة | اختياري. يحدد عنوان URI لطلب تسجيل الدخول إلى جلسة العمل. |
تكوين الطلب
يتضمن قسم request
لتكوين pollingConfig المعلمات التالية:
Name | كتابة | الوصف |
---|---|---|
apiEndpoint | السلسلة | إلزامي. يحدد نقطة النهاية لسحب البيانات منها. |
httpMethod | السلسلة | إلزامي. يحدد أسلوب واجهة برمجة التطبيقات: GET أو POST |
queryTimeFormat | سلسلة أو UnixTimestamp أو UnixTimestampInMills | إلزامي. يحدد التنسيق المُستخدم لتعريف وقت الاستعلام. يمكن أن تكون هذه القيمة سلسلة، أو بتنسيق UnixTimestamp أو UnixTimestampInMills للإشارة إلى وقت بدء الاستعلام ووقت الانتهاء في UnixTimestamp. |
startTimeAttributeName | السلسلة | اختياري. يعرّف اسم السمة التي تحدد وقت بدء الاستعلام. |
endTimeAttributeName | السلسلة | اختياري. يعرّف اسم السمة التي تحدد وقت انتهاء الاستعلام. |
queryTimeIntervalAttributeName | السلسلة | اختياري. يعرّف اسم السمة التي تحدد الفاصل الزمني للاستعلام. |
queryTimeIntervalDelimiter | السلسلة | اختياري. يُعرّف محدِّد الفاصل الزمني للاستعلام. |
queryWindowInMin | رقم صحيح | اختياري. يحدد نافذة الاستعلام المتوفرة، بالدقائق. «Minimum value»: 5 |
queryParameters | القاموس<سلسلة، عنصر> | اختياري. يحدد المعلمات التي جرى تمريرها في الاستعلام في المسار eventsJsonPaths . تعريف السلسلة بالتسلسل dictionary<string, string> التنسيق: {'<attr_name>': '<val>', '<attr_name>': '<val>'... } . |
queryParametersTemplate | السلسلة | اختياري. يحدد قالب معلمات الاستعلام لاستخدامه عند تمرير معلمات الاستعلام في سيناريوهات متقدمة. على سبيل المثال: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}" {_QueryWindowStartTime} و{_QueryWindowEndTime} مدعومان فقط في معلمات الطلب queryParameters وqueryParametersTemplate . {_APIKeyName} و{_APIKey} مدعومان فقط في معلمة الطلب queryParametersTemplate . |
isPostPayloadJson | Boolean | اختياري. يحدد ما إذا كانت حمولة POST بتنسيق JSON. |
rateLimitQPS | مزدوج | اختياري. يحدد عدد الاستدعاءات أو الاستعلامات المسموح بها في ثانية واحدة. |
timeoutInSeconds | رقم صحيح | اختياري. يحدد مهلة الطلب، بالثواني. |
retryCount | رقم صحيح | اختياري. يحدد عدد عمليات إعادة محاولة الطلب للمحاولة إذا لزم الأمر. |
العناوين | القاموس<سلسلة، عنصر> | اختياري. يحدد قيمة عنوان الطلب، بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... } |
تكوين الاستجابة
يتضمن قسم response
لتكوين pollingConfig المعلمات التالية:
تُظهر التعليمات البرمجية التالية مثالًا لقيمة eventsJsonPaths لرسالة رفيعة المستوى:
"eventsJsonPaths": [
"$"
]
تكوين الترحيل
يتضمن قسم paging
لتكوين pollingConfig المعلمات التالية:
Name | كتابة | الوصف |
---|---|---|
pagingType | السلسلة | إلزامي. يحدد نوع الترحيل لاستخدامه في النتائج، كأحد القيم التالية: None , LinkHeader , NextPageToken , NextPageUrl , Offset |
linkHeaderTokenJsonPath | السلسلة | اختياري. يحدد مسار JSON لربط العنوان في استجابة JSON، إذا لم يُعرَّف LinkHeader في عنوان الاستجابة. |
nextPageTokenJsonPath | السلسلة | اختياري. يحدد المسار إلى رمز JSON المميز للصفحة التالية. |
hasNextFlagJsonPath | السلسلة | اختياري. يحدد المسار إلى سمة العلامة HasNextPage . |
nextPageTokenResponseHeader | السلسلة | اختياري. يعرّف اسم عنوان الرمز المميز للصفحة التالية في الاستجابة. |
nextPageParaName | السلسلة | اختياري. يحدد اسم "الصفحة التالية" في الطلب. |
nextPageRequestHeader | السلسلة | اختياري. يحدد عنوان "الصفحة التالية" في الطلب. |
nextPageUrl | السلسلة | اختياري. يحدد عنوان URL لـ "الصفحة التالية"، إذا كان مختلفًا عن عنوان URL للطلب الأولي. |
nextPageUrlQueryParameters | السلسلة | اختياري. يحدد معلمات استعلام URL للصفحة التالية إذا كانت مختلفة عن عنوان URL للطلب الأولي. تعريف السلسلة بالتسلسل dictionary<string, object> التنسيق: {'<attr_name>': <val>, '<attr_name>': <val>... } |
offsetParaName | السلسلة | اختياري. يعرّف اسم معلمة الإزاحة. |
pageSizeParaName | السلسلة | اختياري. يعرّف اسم معلمة حجم الصفحة. |
PageSize | رقم صحيح | يحدد حجم الترحيل. |
عينة التعليمات البرمجية لـ pollingConfig
تُظهر التعليمات البرمجية التالية مثالًا لقسم pollingConfig
من ملف تكوين CCP:
"pollingConfig": {
"auth": {
"authType": "APIKey",
"APIKeyIdentifier": "token",
"APIKeyName": "Authorization"
},
"request": {
"apiEndpoint": "https://api.github.com/../{{placeHolder1}}/audit-log",
"rateLimitQPS": 50,
"queryWindowInMin": 15,
"httpMethod": "Get",
"queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
"retryCount": 2,
"timeoutInSeconds": 60,
"headers": {
"Accept": "application/json",
"User-Agent": "Scuba"
},
"queryParameters": {
"phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}"
}
},
"paging": {
"pagingType": "LinkHeader",
"pageSizeParaName": "per_page"
},
"response": {
"eventsJsonPaths": [
"$"
]
}
}
توزيع الموصل في Microsoft Sentinel وبدء استيعاب البيانات
بعد إنشاء ملف تكوين JSON، بما في ذلك كل من واجهة المستخدم وتكوين الاستقصاء، وزّع الموصل في مساحة عمل Microsoft Sentinel.
استخدم أحد الخيارات التالية لتوزيع موصل البيانات.
تلميح
تتمثل ميزة التوزيع عبر قالب Azure Resource Manager (ARM) في أن العديد من القيم مُضمنة في القالب، ولا تحتاج إلى تعريفها يدويًا في استدعاء واجهة برمجة التطبيقات.
قم بتضمين مجموعات تكوين JSON في قالب ARM لنشر الموصل الخاص بك. للتأكد من نشر موصل البيانات إلى مساحة العمل الصحيحة، تأكد من تحديد مساحة العمل في قالب ARM، أو تحديد مساحة العمل عند نشر قالب ARM.
إعداد ملف JSON لقالب ARM للموصل. على سبيل المثال، راجع ملفات JSON لقالب ARM التالية:
في مدخل Microsoft Azure، ابحث عن "توزيع قالب مخصص".
في صفحة "توزيع مخصص"، حدد "إنشاء القالب في المحرر>تحميل الملف". استعرض للوصول إلى قالب ARM المحلي وحدده، ثم احفظ التغييرات.
حدد الاشتراك ومجموعة الموارد، ثم أدخل مساحة عمل Log Analytics حيث تريد توزيع الموصل المخصص.
حدد "إنشاء + مراجعة" لتوزيع الموصل المخصص إلى Microsoft Sentinel.
في Microsoft Sentinel، انتقل إلى صفحة "موصلات البيانات"، وابحث عن الموصل الجديد. كوّنه لبدء استيعاب البيانات.
لمزيد من المعلومات، راجع توزيع قالب محلي في وثائق Azure Resource Manager.
كوّن موصل البيانات لتوصيل مصدر البيانات وبدء استيعاب البيانات في Microsoft Sentinel. يمكنك الاتصال بمصدر البيانات إما عبر المدخل، كما هو الحال مع موصلات البيانات الجاهزة، أو عبر واجهة برمجة التطبيقات.
عند استخدام مدخل Microsoft Azure للاتصال، تُرسل بيانات المستخدم تلقائيًا. عند الاتصال عبر واجهة برمجة التطبيقات، ستحتاج إلى إرسال معلمات المصادقة ذات الصلة في استدعاء واجهة برمجة التطبيقات.
في صفحة موصل بيانات Microsoft Sentinel، اتبع الإرشادات التي قدمتها للاتصال بموصل البيانات.
يتم التحكم في صفحة موصل البيانات في Microsoft Sentinel بواسطة تكوين InstructionSteps في
connectorUiConfig
عنصر ملف تكوين CCP JSON. إذا واجهت مشكلة في اتصال واجهة المستخدم، فتأكد من أن لديك التكوين الصحيح لنوع المصادقة.في Microsoft Sentinel، انتقل إلى صفحة "السجلات" وتحقق من رؤية السجلات من مصدر البيانات تتدفق إلى مساحة العمل.
إذا لم ترى تدفق البيانات إلى Microsoft Sentinel، فتحقق من وثائق مصدر البيانات واستكشاف أخطاء الموارد وإصلاحها، وتحقق من تفاصيل التكوين، وتحقق من الاتصال. لمزيد من المعلومات، راجع مراقبة سلامة موصلات البيانات.
قطع اتصال الموصل
إذا لم تعد بحاجة إلى بيانات الموصل، فاقطع اتصال الموصل لإيقاف تدفق البيانات.
استخدم أحد الأساليب التالية:
مدخل Microsoft Azure: في صفحة موصل بيانات Microsoft Sentinel، حدد "قطع الاتصال".
واجهة برمجة التطبيقات: استخدم واجهة برمجة تطبيقات قطع الاتصال لإرسال استدعاء PUT مع نص فارغ إلى عنوان URL التالي:
https://management.azure.com /subscriptions/{{SUB}}/resourceGroups/{{RG}}/providers/Microsoft.OperationalInsights/workspaces/{{WS-NAME}}/providers/Microsoft.SecurityInsights/dataConnectors/{{Connector_Id}}/disconnect?api-version=2021-03-01-preview
الخطوات التالية
إذا لم تكن قد قمت بذلك بعد، فشارك موصل البيانات الجديد بدون تعليمات برمجية مع مجتمع Microsoft Sentinel! أنشئ حلًا لموصل البيانات وشاركه في Microsoft Sentinel Marketplace.
لمزيد من المعلومات، راجع