إدارة سجلات تدفق NSG باستخدام Azure CLI

يعد تسجيل تدفق مجموعة أمان الشبكة إحدى ميزات Azure Network Watcher التي تسمح لك بتسجيل معلومات حول حركة مرور IP المتدفقة من خلال مجموعة أمان الشبكة. لمزيد من المعلومات حول تسجيل تدفق مجموعة أمان الشبكة، راجع نظرة عامة على سجلات تدفق NSG.

في هذه المقالة، ستتعلم كيفية إنشاء سجل تدفق NSG أو تغييره أو تعطيله أو حذفه باستخدام Azure CLI. يمكنك معرفة كيفية إدارة سجل تدفق NSG باستخدام مدخل Microsoft Azure أو PowerShell أو REST API أو قالب ARM.

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. أنشئ حساباً مجاناً.

  • موفر Insights. لمزيد من المعلومات، راجع تسجيل موفر Insights.

  • مجموعة أمان الشبكة. إذا كنت بحاجة إلى إنشاء مجموعة أمان شبكة، فشاهد إنشاء مجموعة أمان شبكة أو تغييرها أو حذفها.

  • حساب تخزين Azure. إذا كنت بحاجة إلى إنشاء حساب تخزين، فشاهد إنشاء حساب تخزين باستخدام PowerShell.

  • Azure Cloud Shell أو Azure CLI مثبت محليا.

    • تعمل الخطوات الواردة في هذه المقالة على تشغيل أوامر Azure CLI بشكل تفاعلي في Azure Cloud Shell. لتشغيل الأوامر في Cloud Shell، حدد Open Cloud Shell في الزاوية العلوية اليسرى من كتلة التعليمات البرمجية. حدد نسخ لنسخ التعليمات البرمجية ثم لصقها في Cloud Shell لتشغيلها. يمكنك أيضا تشغيل Cloud Shell من داخل مدخل Microsoft Azure.

    • يمكنك أيضا تثبيت Azure CLI محليا لتشغيل الأوامر. إذا قمت بتشغيل Azure CLI محليا، فقم بتسجيل الدخول إلى Azure باستخدام الأمر az login .

سجّل موفر Insights

يجب تسجيل موفر Microsoft.Insights لتسجيل نسبة استخدام الشبكة المتدفقة بنجاح من خلال مجموعة أمان الشبكة. إذا لم تكن متأكدا مما إذا كان موفر Microsoft.Insights مسجلا، فاستخدم az provider register لتسجيله.

# Register Microsoft.Insights provider.
az provider register --namespace 'Microsoft.Insights'

إنشاء سجل تدفق

إنشاء سجل تدفق باستخدام az network watcher flow-log create. يتم إنشاء سجل التدفق في مجموعة موارد Network Watcher الافتراضية NetworkWatcherRG.

# Create a version 1 NSG flow log.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount'

إشعار

  • إذا كان حساب التخزين في اشتراك مختلف، يجب أن تكون مجموعة أمان الشبكة وحساب التخزين مقترنين بنفس مستأجر Azure Active Directory. يجب أن يكون الحساب الذي تستخدمه لكل اشتراك الأذونات اللازمة.
  • إذا كان حساب التخزين في مجموعة موارد أو اشتراك مختلف، يجب تحديد المعرف الكامل لحساب التخزين بدلا من اسمه فقط. على سبيل المثال، إذا كان حساب التخزين myStorageAccount في مجموعة موارد تسمى StorageRG أثناء وجود مجموعة أمان الشبكة في مجموعة الموارد myResourceGroup، يجب استخدام /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount للمعلمة --storage-account بدلا من myStorageAccount.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a version 1 NSG flow log (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa

إنشاء سجل تدفق ومساحة عمل تحليلات نسبة استخدام الشبكة

  1. إنشاء مساحة عمل Log Analytics باستخدام az monitor log-analytics workspace create.

    # Create a Log Analytics workspace.
    az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'
    
  2. إنشاء سجل تدفق باستخدام az network watcher flow-log create. يتم إنشاء سجل التدفق في مجموعة موارد Network Watcher الافتراضية NetworkWatcherRG.

    # Create a version 1 NSG flow log and enable traffic analytics for it.
    az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'true' --workspace 'myWorkspace'
    

إشعار

  • لا يمكن أن يحتوي حساب التخزين على قواعد شبكة تقيد الوصول إلى الشبكة إلى خدمات Microsoft أو شبكات ظاهرية معينة فقط.
  • إذا كان حساب التخزين في اشتراك مختلف، يجب أن تكون مجموعة أمان الشبكة وحساب التخزين مقترنين بنفس مستأجر Azure Active Directory. يجب أن يكون الحساب الذي تستخدمه لكل اشتراك الأذونات اللازمة.
  • إذا كان حساب التخزين في مجموعة موارد أو اشتراك مختلف، يجب استخدام المعرف الكامل لحساب التخزين. على سبيل المثال، إذا كان حساب التخزين myStorageAccount في مجموعة موارد تسمى StorageRG أثناء وجود مجموعة أمان الشبكة في مجموعة الموارد myResourceGroup، يجب استخدام /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount للمعلمة --storage-account بدلا من myStorageAccount.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a Log Analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'

# Create a version 1 NSG flow log and enable traffic analytics for it (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa --traffic-analytics 'true' --workspace 'myWorkspace'

تغيير سجل التدفق

يمكنك استخدام az network watcher flow-log update لتغيير خصائص سجل التدفق. على سبيل المثال، يمكنك تغيير إصدار سجل التدفق أو تعطيل تحليلات نسبة استخدام الشبكة.

# Update the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --log-version '2'

سرد جميع سجلات التدفق في منطقة

استخدم az network watcher flow-log list لسرد جميع موارد سجل تدفق NSG في منطقة معينة في اشتراكك.

# Get all NSG flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table

عرض تفاصيل مورد سجل التدفق

استخدم az network watcher flow-log show لمشاهدة تفاصيل مورد سجل التدفق.

# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'

تنزيل سجل التدفق

يتم تحديد موقع تخزين سجل التدفق عند الإنشاء. للوصول إلى سجلات التدفق وتنزيلها من حساب التخزين الخاص بك، يمكنك استخدام Azure Storage Explorer. لمزيد من المعلومات، راجع بدء استخدام Storage Explorer.

تتبع ملفات سجل تدفق NSG المحفوظة في حساب تخزين هذا المسار:

https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

للحصول على معلومات حول بنية سجل التدفق، راجع تنسيق السجل لسجلات تدفق NSG.

تعطيل سجل التدفق

لتعطيل سجل التدفق مؤقتا دون حذفه، استخدم الأمر az network watcher flow-log update . يؤدي تعطيل سجل التدفق إلى إيقاف تسجيل التدفق لمجموعة أمان الشبكة المقترنة. ومع ذلك، يظل مورد سجل التدفق مع جميع إعداداته وارتباطاته. يمكنك إعادة تمكينه في أي وقت لاستئناف تسجيل التدفق لمجموعة أمان الشبكة المكونة.

إشعار

إذا تم تمكين تحليلات نسبة استخدام الشبكة لسجل تدفق، فيجب تعطيله قبل أن تتمكن من تعطيل سجل التدفق.

# Disable traffic analytics log if it's enabled.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --workspace 'myWorkspace'

# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled 'false'

حذف سجل تدفق

لحذف سجل تدفق بشكل دائم، استخدم الأمر az network watcher flow-log delete . يؤدي حذف سجل التدفق إلى حذف جميع الإعدادات والاقترانات الخاصة به. لبدء تسجيل التدفق مرة أخرى لنفس مجموعة أمان الشبكة، يجب إنشاء سجل تدفق جديد له.

# Delete the flow log.
az network watcher flow-log delete --name 'myFlowLog' --location 'eastus' --no-wait 'true'

إشعار

لا يؤدي حذف سجل التدفق إلى حذف بيانات سجل التدفق من حساب التخزين. تتبع بيانات سجلات التدفق المخزنة في حساب التخزين نهج الاستبقاء المكون.