استخدام عوامل تصفية اتصال IP ل Azure IoT DPS

الأمان هو جانب مهم من أي حل IoT. في بعض الأحيان تحتاج إلى تحديد عناوين بروتوكول الإنترنت التي يمكن للأجهزة الاتصال منها كجزء من تكوين الأمان الخاص بك بشكل صريح. تمكنك ميزة عامل تصفية IP لخدمة توفير جهاز Azure IoT Hub (DPS) من تكوين قواعد لرفض حركة المرور أو قبولها من عناوين IPv4 محددة.

وقت الاستخدام

هناك حالتا استخدام محددتان حيث يكون من المفيد حظر الاتصالات بنقطة نهاية DPS من عناوين IP معينة:

  • يجب أن تتلقى DPS نسبة استخدام الشبكة فقط من نطاق محدد من عناوين IP وترفض كل شيء آخر. على سبيل المثال، تستخدم DPS مع Azure Express Route لإنشاء اتصالات خاصة بين مثيل DPS وأجهزتك.

  • تحتاج إلى رفض نسبة استخدام الشبكة من عناوين IP التي تم تعريفها على أنها مريبة من قبل مسؤول DPS.

قيود قواعد تصفية IP

لاحظ القيود التالية إذا تم تمكين تصفية IP:

  • قد لا تتمكن من استخدام مدخل Microsoft Azure لإدارة التسجيلات. إذا حدث ذلك، يمكنك إضافة عنوان IP لجهاز واحد أو أكثر إلى ipFilterRules وإدارة التسجيلات في مثيل DPS من تلك الأجهزة باستخدام واجهات برمجة تطبيقات Azure CLI أو PowerShell أو الخدمة.

    من المرجح أن يحدث هذا السيناريو عندما تريد استخدام تصفية IP للسماح بالوصول فقط إلى عناوين IP المحددة. في هذه الحالة، تقوم بتكوين قواعد لتمكين عناوين أو نطاقات عناوين معينة وقاعدة افتراضية تحظر كافة العناوين الأخرى (0.0.0.0/0). ستمنع هذه القاعدة الافتراضية مدخل Microsoft Azure من تنفيذ عمليات مثل إدارة التسجيلات على مثيل DPS. لمزيد من المعلومات، راجع تقييم قاعدة عامل تصفية IP لاحقا في هذه المقالة.

طريقة تطبيق قواعد عامل التصفية

يتم تطبيق قواعد عامل تصفية IP على مستوى مثيل DPS. لذلك تنطبق قواعد عامل تصفية IP على جميع الاتصالات من الأجهزة والتطبيقات الخلفية باستخدام أي بروتوكول مدعوم.

تتلقى أي محاولة اتصال من عنوان IP يطابق قاعدة IP المرفوضة في مثيل DPS رمز حالة ووصف 401 غير مصرح به. لا يذكر الرد قاعدة بروتوكول الإنترنت.

هام

يمكن أن يؤدي رفض عناوين IP إلى منع خدمات Azure الأخرى من التفاعل مع مثيل DPS.

الإعداد الافتراضي

بشكل افتراضي، يتم تعطيل تصفية IP ويتم تعيين الوصول إلى الشبكة العامة إلى كافة الشبكات. يعني هذا الإعداد الافتراضي أن DPS يقبل الاتصالات من أي عنوان IP، أو يتوافق مع قاعدة تقبل نطاق عناوين IP 0.0.0.0/0.

IoT DPS default IP filter settings.

إضافة قاعدة عامل تصفية IP

لإضافة قاعدة عامل تصفية IP:

  1. انتقل إلى مدخل Azure.

  2. في القائمة اليسرى أو في صفحة المدخل، حدد جميع الموارد.

  3. تحديد خدمة تزويد الأجهزة خاصتك.

  4. في القائمة الإعدادات على الجانب الأيسر، حدد Networking.

  5. ضمن الوصول إلى الشبكة العامة، حدد نطاقات IP المحددة

  6. حدد + إضافة قاعدة عامل تصفية IP.

    Add an IP filter rule to an IoT DPS.

  7. املأ الحقول التالية:

    الحقل ‏‏الوصف
    الاسم سلسلة أبجدية رقمية فريدة غير حساسة لحالة الأحرف يصل طولها إلى 128 حرفا. يتم قبول الأحرف الأبجدية الرقمية ASCII 7 بت فقط {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}.
    نطاق العنوان عنوان IPv4 واحد أو كتلة من عناوين IP في رمز CIDR. على سبيل المثال، في رمز CIDR 192.168.100.0/22 يُمثل عناوين IPv4 1024 من 192.168.100.0 إلى 192.168.103.255.
    الإجراء حدد إما السماح أو الحظر.

    After selecting Add an IP Filter rule.

  8. حدد حفظ. يجب أن تشاهد تنبيها يعلمك بأن التحديث قيد التقدم.

    Notification about saving an IP filter rule.

    إشعار

    + يتم تعطيل إضافة قاعدة عامل تصفية IP عند الوصول إلى 100 قاعدة عامل تصفية IP كحد أقصى.

تحرير قاعدة عامل تصفية IP

لتحرير قاعدة موجودة:

  1. حدد بيانات قاعدة عامل تصفية IP التي تريد تغييرها.

    Edit an IP filter rule.

  2. قم بإجراء التغيير.

  3. حدد حفظ.

حذف قاعدة عامل تصفية IP

لحذف قاعدة عامل تصفية IP:

  1. حدد أيقونة الحذف في صف قاعدة IP التي ترغب في حذفها.

    Delete an IoT DPS IP filter rule.

  2. حدد حفظ.

تقييم قاعدة عامل تصفية بروتوكول الإنترنت

يتم تطبيق قواعد عامل تصفية IP بالترتيب. تحدد القاعدة الأولى التي تطابق عنوان IP إجراء القبول أو الرفض.

على سبيل المثال، في حال كنت تريد قبول العناوين في النطاق 192.168.100.0/22 ورفض كل شيء آخر، يجب أن تقبل القاعدة الأولى في الشبكة نطاق العناوين 192.168.100.0/22. يجب أن ترفض القاعدة التالية كافة العناوين باستخدام النطاقِ 0.0.0.0/0.

لتغيير ترتيب قواعد عامل تصفية IP:

  1. حدد القاعدة التي تريد نقلها.

  2. اسحب القاعدة وأفلتها إلى الموقع المطلوب.

  3. حدد حفظ.

تحديث قواعد عامل تصفية IP باستخدام قوالب Azure Resource Manager

هناك طريقتان يمكنك من خلالهما تحديث عامل تصفية IP DPS:

  1. استدعاء أسلوب واجهة برمجة تطبيقات REST لمورد IoT Hub. لمعرفة كيفية تحديث قواعد عامل تصفية IP باستخدام REST، راجع IpFilterRule في قسم Definitions في Iot Hub Resource - Update method.

  2. استخدم قوالب Azure Resource Manager. للحصول على إرشادات حول كيفية استخدام قوالب Resource Manager، راجع قوالب Azure Resource Manager. توضح لك الأمثلة التالية كيفية إنشاء قواعد عامل تصفية DPS IP وتحريرها وحذفها باستخدام قوالب Azure Resource Manager.

    إشعار

    لا يدعم Azure CLI وAzure PowerShell حاليا تحديثات قواعد عامل تصفية DPS IP.

إضافة قاعدة عامل تصفية IP

ينشئ مثال القالب التالي قاعدة عامل تصفية IP جديدة تسمى "AllowAll" تقبل كل نسبة استخدام الشبكة.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": {
        "iotDpsName": {
            "type": "string",
            "defaultValue": "[resourceGroup().name]",
            "minLength": 3,
            "metadata": {
                "description": "Specifies the name of the IoT DPS service."
            }
        }, 
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
                "description": "Location for Iot DPS resource."
            }
        }        
    }, 
    "variables": {
        "iotDpsApiVersion": "2020-01-01"
    }, 
    "resources": [
        {
            "type": "Microsoft.Devices/provisioningServices",
            "apiVersion": "[variables('iotDpsApiVersion')]",
            "name": "[parameters('iotDpsName')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "S1",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "IpFilterRules": [
                    {
                        "FilterName": "AllowAll",
                        "Action": "Accept",
                        "ipMask": "0.0.0.0/0"
                    }
                ]
            }            
        }
    ]
}

تحديث سمات قاعدة عامل تصفية IP للقالب استنادا إلى متطلباتك.

السمة ‏‏الوصف
اسم عامل التصفية أدخل اسمًا لقاعدة عامل تصفية بروتوكول الإنترنت. يجب أن تكون هذه سلسلة أبجدية رقمية فريدة غير حساسة لحالة الأحرف يصل طولها إلى 128 حرفًا. يتم قبول الأحرف الأبجدية الرقمية ASCII 7 بت فقط {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}.
الإجراء القيم المقبولة هي قبول أو رفض كإجراء لقاعدة عامل تصفية IP.
ipMask قم بتوفير عنوان IPv4 واحد أو كتلة من عناوين بروتوكول إنترنت في شفرة CIDR. على سبيل المثال، في رمز CIDR 192.168.100.0/22 يُمثل عناوين IPv4 1024 من 192.168.100.0 إلى 192.168.103.255.

تحديث قاعدة عامل تصفية IP

يقوم مثال القالب التالي بتحديث قاعدة عامل تصفية IP المسماة "AllowAll"، الموضحة سابقا، لرفض كافة نسبة استخدام الشبكة.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
                "IpFilterRules": [ 
                    { 
                        "FilterName": "AllowAll", 
                        "Action": "Reject", 
                        "ipMask": "0.0.0.0/0" 
                    } 
                ] 
            }             
        } 
    ] 
}

حذف قاعدة عامل تصفية IP

يحذف مثال القالب التالي جميع قواعد تصفية IP لمثيل DPS.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
            }             
        } 
    ] 
}

الخطوات التالية

لمزيد من استكشاف إدارة DPS، راجع: