إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
لإنشاء موصل بيانات تخزين Azure Blob باستخدام Codeless Connector Framework (CCF)، استخدم هذا المرجع بالإضافة إلى مقالة واجهة برمجة تطبيقات REST Microsoft Sentinel لموصلات البيانات.
في هذا النمط من الاستهلاك، يقوم المنتج بكتابة البيانات إلى مساحة تخزين Azure Blob. يرسل Azure Event Grid أحداث إنشاء blob إلى قائمة انتظار تخزين Azure، حيث يتم تخزينها مؤقتا حتى يقوم الموصل بمعالجتها. ثم يقرأ الموصل الكتل ويوجه محتوياتها عبر قاعدة جمع بيانات Azure Monitor (DCR) إلى جدول الوجهة. يدعم هذا التصميم المتين القائم على الطابور التعامل مع الضغط العكسي والامتصاص المرن لمصادر البيانات ذات الحجم العالي.
يمثل كل dataConnectorمنها اتصالا محددا لموصل بيانات Microsoft Sentinel. قد يحتوي موصل بيانات واحد على اتصالات متعددة، والتي تجلب البيانات من نقاط نهاية مختلفة. يتم استخدام تكوين JSON الذي تم إنشاؤه باستخدام هذا المستند المرجعي لإكمال قالب التوزيع لموصل بيانات CCF.
لمزيد من المعلومات، راجع إنشاء موصل بدون تعليمات برمجية Microsoft Sentinel.
إنشاء موصل بيانات تخزين Azure Blob CCF
تبسيط تطوير توصيل مصدر بيانات تخزين Azure Blob باستخدام نموذج قالب توزيع موصل بيانات Storage Blob CCF. لمزيد من المعلومات، راجع قالب Connector StorageBlob CCF.
مع تعبئة معظم أقسام قالب التوزيع، تحتاج فقط إلى إنشاء المكونين الأولين، جدول الإخراج وDCR. لمزيد من المعلومات، راجع قسمي تعريف جدول الإخراجوقاعدة جمع البيانات (DCR ).
موصلات البيانات - إنشاء أو تحديث
راجع عملية الإنشاء أو التحديث في مستندات REST API للعثور على أحدث إصدار ثابت أو إصدار أولي لواجهة برمجة التطبيقات. الفرق بين الإنشاء وعملية التحديث هو أن التحديث يتطلب قيمة etag .
أسلوب PUT
https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.OperationalInsights/workspaces/{{workspaceName}}/providers/Microsoft.SecurityInsights/dataConnectors/{{dataConnectorId}}?api-version={{apiVersion}}
معلمات URI
لمزيد من المعلومات حول أحدث إصدار من واجهة برمجة التطبيقات، راجع موصلات البيانات - إنشاء معلمات URI أو تحديثها.
| الاسم | الوصف |
|---|---|
| معرف اتصال البيانات | يجب أن يكون معرف موصل البيانات اسما فريدا وهو نفس المعلمة name في نص الطلب. |
| اسم مجموعة الموارد | اسم مجموعة الموارد، وليس حساسا لحالة الأحرف. |
| معرف الاشتراك | معرف الاشتراك الهدف. |
| اسم مساحة العمل |
اسم مساحة العمل، وليس المعرف. نمط Regex: ^[A-Za-z0-9][A-Za-z0-9-]+[A-Za-z0-9]$ |
| إصدار واجهة برمجة التطبيقات | إصدار واجهة برمجة التطبيقات المراد استخدامه لهذه العملية. |
نص الطلب
يحتوي نص الطلب لموصل StorageAccountBlobContainer بيانات CCF على البنية التالية:
{
"name": "{{dataConnectorId}}",
"kind": "StorageAccountBlobContainer",
"etag": "",
"properties": {
"connectorDefinitionName": "",
"auth": {},
"request": {},
"dcrConfig": {},
"response": {}
}
}
StorageAccountBlobContainer
يمثل StorageAccountBlobContainer موصل بيانات CCF حيث تم بالفعل تكوين حمولات الاستجابة المتوقعة لمصدر بيانات تخزين Azure Blob. يجب تكوين المنتج لإرسال البيانات إلى Storage Blob بشكل منفصل.
| الاسم | مطلوب | النوع | الوصف |
|---|---|---|---|
| اسم | صحيح | سلسله | الاسم الفريد للاتصال المطابق لمعلمة URI |
| نوع | صحيح | سلسله | يجب أن يكون StorageAccountBlobContainer |
| Etag | Guid | اتركه فارغا لإنشاء موصلات جديدة. لعمليات التحديث، يجب أن يتطابق etag مع etag للموصل الموجود (GUID). | |
| خصائص. connectorDefinitionName | سلسله | اسم مورد DataConnectorDefinition الذي يحدد تكوين واجهة المستخدم لموصل البيانات. لمزيد من المعلومات، راجع تعريف موصل البيانات. | |
| خصائص. المصادقه | صحيح | JSON المتداخل | يصف بيانات الاعتماد لاستيعاب بيانات تخزين Azure Blob. لمزيد من المعلومات، راجع تكوين المصادقة. |
| خصائص. طلب | صحيح | JSON المتداخل | يصف Azure قوائم انتظار التخزين التي تتلقى أحداثا تم إنشاؤها في نطاق كائن ثنائي كبير الحجم. لمزيد من المعلومات، راجع تكوين الطلب. |
| خصائص. dcrConfig | JSON المتداخل | المعلمات المطلوبة عند إرسال البيانات إلى قاعدة تجميع البيانات (DCR). لمزيد من المعلومات، راجع تكوين DCR. | |
| خصائص. استجابه | صحيح | JSON المتداخل | يصف كائن الاستجابة والرسالة المتداخلة التي تم إرجاعها من واجهة برمجة التطبيقات عند سحب البيانات. لمزيد من المعلومات، راجع تكوين الاستجابة. |
تكوين المصادقة
يعتمد موصل تخزين Azure Blob على كيان خدمة تم إنشاؤه في المستأجر الخاص بك المرتبط بتطبيق متعدد المستأجرين تديره Microsoft (مخطط كيان الخدمة). يحتاج مسؤول المستأجر إلى منح الموافقة لإنشاء كيان الخدمة هذا. يوفر قالب ARM القدرة على تأكيد ما إذا كان كيان الخدمة المقترن بالتطبيق موجودا بالفعل في المستأجر الخاص بك، وإذا لم يكن الأمر كما هو، يوفر خيارا لإنشاء كيان الخدمة بموافقة المستخدم.
يتضمن مثال قالب ARM عمليات لتطبيق جميع الوصول الضروري المستند إلى الدور على حساب التخزين لقراءة الكائنات الثنائية كبيرة الحجم والمساهمة في قوائم الانتظار. تأكد من أن القالب وكيانات الخدمة المستخدمة مرتبطة بالتطبيق لبيئتك ومنح موافقة مسؤول المستأجر.
يسرد الجدول التالي معرفات التطبيق لكل بيئة Azure:
| بيئة Azure | معرف التطبيق |
|---|---|
| AzureCloud | 4f05ce56-95b6-4612-9d98-a45c8cc33f9f |
مثال على مصادقة StorageAccountBlobContainer:
"auth": {
"type": "ServicePrincipal"
}
تكوين الطلب
يصف قسم الطلب قوائم انتظار تخزين Azure التي تتلقى رسائل حدث تم إنشاؤها بواسطة كائن ثنائي كبير الحجم.
قبل أن تقوم بتكوين هذا القسم، أنشئ قوائم الانتظار الإشعارية والحروف الميتة. تكوين اشتراك Azure Event Grid على حساب التخزين لإرسال Microsoft.Storage.BlobCreated الأحداث إلى قائمة الإشعارات المحددة بواسطة QueueUri. لمزيد من المعلومات، راجع Quickstart: توجيه أحداث تخزين Blob إلى نقطة نهاية ويب باستخدام بوابة Azure.
| الميدان | مطلوب | النوع | الوصف |
|---|---|---|---|
| QueueUri | صحيح | سلسلة | عنوان URI لقائمة انتظار تخزين Azure التي تتلقى الأحداث التي تم إنشاؤها للكائن الثنائي كبير الحجم. |
| DlqUri | صحيح | سلسلة | URI لقائمة انتظار الرسائل غير المستخدمة للرسائل الفاشلة. |
مثال على طلب StorageAccountBlobContainer:
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
تكوين الاستجابة
حدد معالجة الاستجابة لموصل البيانات الخاص بك باستخدام المعلمات التالية:
| الميدان | مطلوب | النوع | الوصف |
|---|---|---|---|
| EventsJsonPaths | صحيح | قائمة السلاسل | يحدد المسار إلى الرسالة في الاستجابة JSON. يحدد تعبير مسار JSON مسارا إلى عنصر، أو مجموعة من العناصر، في بنية JSON. |
| IsGzipCompressed | منطقي | تحديد ما إذا كانت الاستجابة مضغوطة في ملف gzip. | |
| تنسيق | صحيح | سلسلة |
jsonأو csvأو xmlأو parquet |
| CompressionAlgo | سلسلة | خوارزمية الضغط، إما multi-gzip أو deflate. لضغط gzip، قم بتكوين IsGzipCompressed إلى True بدلا من تعيين قيمة لهذه المعلمة. |
|
| CsvDelimiter | سلسلة | إذا كان تنسيق الاستجابة CSV وتريد تغيير محدد CSV الافتراضي ل ,. |
|
| HasCsvBoundary | منطقي | يشير إلى ما إذا كانت بيانات CSV تحتوي على حد. | |
| HasCsvHeader | منطقي | يشير إلى ما إذا كانت بيانات CSV تحتوي على عنوان. الإعدادات الافتراضية ل: True. |
|
| CsvEscape | سلسلة | حرف إلغاء لحدود الحقل. الإعدادات الافتراضية ل: ". على سبيل المثال، يتطلب id,name,avg CSV مع رؤوس 1,"my name",5.5 وصف من البيانات التي تحتوي على مسافات مثل " حد الحقل. |
ملاحظة
يتم تحليل نوع تنسيق CSV حسب مواصفات RFC 4180 .
أمثلة على تكوين الاستجابة
JSON غير المضغوط:
"response": {
"EventsJsonPaths": ["$"],
"format": "json"
}
CSV المضغوط:
"response": {
"EventsJsonPaths": ["$"],
"format": "csv",
"IsGzipCompressed": true
}
Parquet (يمكن استنتاج الضغط):
"response": {
"EventsJsonPaths": ["$"],
"format": "parquet"
}
تكوين DCR
| الميدان | مطلوب | النوع | الوصف |
|---|---|---|---|
| DataCollectionEndpoint | صحيح | سلسلة | DCE (نقطة نهاية تجميع البيانات)، على سبيل المثال: https://example.ingest.monitor.azure.com. |
| DataCollectionRuleImmutableId | صحيح | سلسلة | معرف DCR غير القابل للتغيير. ابحث عنه عن طريق عرض استجابة إنشاء DCR أو باستخدام واجهة برمجة تطبيقات DCR. |
| اسم الدفق | صحيح | سلسله | هذه القيمة هي streamDeclaration المحددة في DCR (يجب أن تبدأ البادئة ب Custom-). |
مثال على موصل بيانات CCF
فيما يلي مثال على جميع مكونات StorageAccountBlobContainer موصل بيانات CCF JSON معا.
{
"kind": "StorageAccountBlobContainer",
"properties": {
"connectorDefinitionName": "[[parameters('connectorDefinitionName')]",
"dcrConfig": {
"streamName": "[variables('streamName')]",
"dataCollectionEndpoint": "[[parameters('dcrConfig').dataCollectionEndpoint]",
"dataCollectionRuleImmutableId": "[[parameters('dcrConfig').dataCollectionRuleImmutableId]"
},
"auth": {
"type": "ServicePrincipal"
},
"request": {
"QueueUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('queueName'))]",
"DlqUri": "[[concat('https://', variables('storageAccountName'), '.queue.core.windows.net/', variables('dlqName'))]"
}
}
}
لمزيد من المعلومات، راجع مثال إنشاء واجهة برمجة تطبيقات REST لموصل البيانات.