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

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

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

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

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

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

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

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

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

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

    • يمكنك أيضا تثبيت Azure PowerShell محليا لتشغيل cmdlets. تتطلب هذه المقالة الوحدة النمطية Az PowerShell. لمزيد من المعلومات، راجع كيفية تثبيت Azure PowerShell. للعثور على الإصدار المثبت، قم بتشغيل Get-InstalledModule -Name Az. إذا قمت بتشغيل PowerShell محليا، فقم بتسجيل الدخول إلى Azure باستخدام الاتصال-AzAccount cmdlet.

تسجيل موفر نتائج التحليلات

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

# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'

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

  1. احصل على خصائص مجموعة أمان الشبكة التي تريد إنشاء سجل التدفق لها وحساب التخزين الذي تريد استخدامه لتخزين سجل التدفق الذي تم إنشاؤه باستخدام Get-AzNetworkSecurityGroup و Get-AzStorageAccount على التوالي.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    إشعار

    • إذا كان حساب التخزين في اشتراك مختلف، يجب أن تكون مجموعة أمان الشبكة وحساب التخزين مقترنين بنفس مستأجر Azure Active Directory. يجب أن يكون الحساب الذي تستخدمه لكل اشتراك الأذونات اللازمة.
  2. إنشاء سجل التدفق باستخدام New-AzNetworkWatcherFlowLog. يتم إنشاء سجل التدفق في مجموعة موارد Network Watcher الافتراضية NetworkWatcherRG.

    # Create a version 1 NSG flow log.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
    

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

  1. احصل على خصائص مجموعة أمان الشبكة التي تريد إنشاء سجل التدفق لها وحساب التخزين الذي تريد استخدامه لتخزين سجل التدفق الذي تم إنشاؤه باستخدام Get-AzNetworkSecurityGroup و Get-AzStorageAccount على التوالي.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    إشعار

    • لا يمكن أن يحتوي حساب التخزين على قواعد شبكة تقيد الوصول إلى الشبكة إلى خدمات Microsoft أو شبكات ظاهرية معينة فقط.
    • إذا كان حساب التخزين في اشتراك مختلف، يجب أن تكون مجموعة أمان الشبكة وحساب التخزين مقترنين بنفس مستأجر Azure Active Directory. يجب أن يكون الحساب الذي تستخدمه لكل اشتراك الأذونات اللازمة.
  2. إنشاء مساحة عمل تحليلات نسبة استخدام الشبكة باستخدام New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. إنشاء سجل التدفق باستخدام New-AzNetworkWatcherFlowLog. يتم إنشاء سجل التدفق في مجموعة موارد Network Watcher الافتراضية NetworkWatcherRG.

    # Create a version 1 NSG flow log with traffic analytics.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
    

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

يمكنك استخدام Set-AzNetworkWatcherFlowLog لتغيير خصائص سجل التدفق. على سبيل المثال، يمكنك تغيير إصدار سجل التدفق أو تعطيل تحليلات نسبة استخدام الشبكة.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -FormatVersion 2 

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

استخدم Get-AzNetworkWatcherFlowLog لسرد جميع موارد سجل تدفق NSG في منطقة معينة في اشتراكك.

# Get all NSG flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name

إشعار

لاستخدام المعلمة -Location مع Get-AzNetworkWatcherFlowLog cmdlet، تحتاج إلى إذن قارئ إضافي في مجموعة موارد NetworkWatcherRG.

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

استخدم Get-AzNetworkWatcherFlowLog لمشاهدة تفاصيل مورد سجل التدفق.

# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

إشعار

لاستخدام المعلمة -Location مع Get-AzNetworkWatcherFlowLog cmdlet، تحتاج إلى إذن قارئ إضافي في مجموعة موارد NetworkWatcherRG.

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

يتم تحديد موقع تخزين سجل التدفق عند الإنشاء. للوصول إلى سجلات التدفق وتنزيلها من حساب التخزين الخاص بك، يمكنك استخدام 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.

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

لتعطيل سجل تدفق مؤقتا دون حذفه، استخدم Set-AzNetworkWatcherFlowLog مع المعلمة -Enabled $false . يؤدي تعطيل سجل التدفق إلى إيقاف تسجيل التدفق لمجموعة أمان الشبكة المقترنة. ومع ذلك، يظل مورد سجل التدفق مع جميع إعداداته وارتباطاته. يمكنك إعادة تمكينه في أي وقت لاستئناف تسجيل التدفق لمجموعة أمان الشبكة المكونة.

إشعار

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

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id

حذف سجل تدفق

لحذف سجل تدفق NSG بشكل دائم، استخدم الأمر Remove-AzNetworkWatcherFlowLog . يؤدي حذف سجل التدفق إلى حذف جميع الإعدادات والاقترانات الخاصة به. لبدء تسجيل التدفق مرة أخرى لنفس مجموعة أمان الشبكة، يجب إنشاء سجل تدفق جديد له.

# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

إشعار

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