حظر استخدام الموصل في Azure Logic Apps

ينطبق على: Azure Logic Apps (الاستهلاك + قياسي)

إذا كانت مؤسستك لا تسمح بالاتصال بالموارد المقيدة أو غير المعتمدة باستخدام الموصلات المُدارة في Azure Logic Apps، فيمكنك حظر القدرة على إنشاء هذه الاتصالات واستخدامها في مهام سير عمل تطبيق المنطق. باستخدام Azure Policy، يمكنك تحديد وفرض النُهج التي تمنع إنشاء أو استخدام الاتصالات للموصلات التي تريد حظرها. على سبيل المثال، لأسباب أمنية، قد ترغب في حظر الاتصالات بأنظمة وسائط اجتماعية معينة أو خدمات وأنظمة أخرى.

توضح هذه المقالة كيفية إعداد نهج يحظر اتصالات معينة باستخدام مدخل Microsoft Azure، ولكن يمكنك إنشاء تعريفات النهج بطرق أخرى. على سبيل المثال، يمكنك استخدام قوالب Azure REST API وAzure PowerShell وAzure CLI وAzure Resource Manager. لمزيدٍ من المعلومات، راجع البرنامج التعليمي: إنشاء نُهج فرض التوافق وإدارتها.

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

ابحث عن معرّف مرجع الموصل

إذا كان لديك بالفعل تطبيق منطقي مع الاتصال الذي تريد حظره، فاتبع خطوات مدخل Microsoft Azure. وإلا، اتبع الخطوات التالية:

مستند مرجعي للموصل

  1. راجع موصلات Azure Logic Apps.

  2. ابحث عن الصفحة المرجعية للموصل الذي تريد حظره.

    على سبيل المثال، إذا كنت تريد حظر موصل Instagram، والذي تم إيقافه، فانتقل إلى هذه الصفحة:

    https://learn.microsoft.com/connectors/instagram/

  3. من عنوان URL للصفحة، انسخ واحفظ معرف مرجع الموصل في النهاية بدون الشرطة المائلة للأمام (/)، على سبيل المثال، instagram.

    في وقت لاحق، عندما تقوم بإنشاء تعريف النهج الخاص بك، فإنك تستخدم هذا المعرف في بيان شرط التعريف، على سبيل المثال:

    "like": "*managedApis/instagram"

مدخل Azure

  1. في مدخل Microsoft Azure، ابحث عن سير عمل تطبيق المنطق وافتحه.

  2. في قائمة تطبيق المنطق، حدد أحد الخيارات التالية:

    • تطبيق منطق الاستهلاك: ضمن Development Tools، حدد API connections.

    • تطبيق المنطق القياسي: ضمن Workflows، حدد Connections. في جزء Connections، حدد API Connections إذا لم تكن محددة بالفعل.

    1. في جزء اتصالات API، حدد الاتصال. عندما يفتح جزء الاتصال، في الزاوية اليمنى العليا، حدد JSON View.

    2. ابحث عن العنصر api، الذي يحتوي على خاصية وقيمة id بالتنسيق التالي:

      "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"

      يوضح المثال التالي خاصية وقيمة id لاتصال Instagram:

      "id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"

    3. من قيمة الخاصية id، انسخ واحفظ معرف مرجع الموصل في النهاية، على سبيل المثال، instagram.

      في وقت لاحق، عندما تقوم بإنشاء تعريف النهج الخاص بك، فإنك تستخدم هذا المعرف في بيان شرط التعريف، على سبيل المثال:

      "like": "*managedApis/instagram"

حَظر إنشاء الاتصالات

لحظر إنشاء اتصال تماماً في سير عمل تطبيق منطقي، اتبع الخطوات التالية:

  1. في مربع البحث مدخل Microsoft Azure، أدخل النهج، وحدد Policy.

    Screenshot showing main Azure portal search box with

  2. في قائمة Policy، ضمن Authoring، حدد Definitions. في شريط أدوات جزء Definitions، حدد Policy definition.

    Screenshot showing the

  3. في جزء Policy definition، قم بتوفير المعلومات الخاصة بتعريف النهج، بناءً على الخصائص الموضحة في المثال:

    Screenshot showing the policy definition properties.

    الخاصية المطلوب قيمة ‏‏الوصف
    موقع التعريف ‏‏نعم‬ <"Azure-subscription-name"> اشتراك Azure المراد استخدامه لتعريف النهج

    1. للعثور على اشتراكك، حدد زر الحذف (...).
    2. من قائمة Subscription، ابحث عن اشتراكك وحدده.
    3. عند الانتهاء، حدد Select.

    الاسم ‏‏نعم‬ <policy-definition-name> الاسم الذي سيتم استخدامه لتعريف النهج
    الوصف لا <policy-definition-name> وصف لتعريف النهج
    الفئة ‏‏نعم‬ تطبيقات المنطق اسم فئة موجودة أو فئة جديدة لتعريف النهج
    إنفاذ النُهج ‏‏نعم‬ تمكين يحدد هذا الإعداد ما إذا كنت تريد تمكين أو تعطيل تعريف النهج عند حفظ عملك.
  4. ضمن POLICY RULE، يتم ملء مربع تحرير JSON مسبقا بقالب تعريف نهج. استبدل هذا القالب بـ تعريف النهج بناءً على الخصائص الموضحة في الجدول أدناه وباتباع هذه البنية:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    الخاصية القيمة‬ ‏‏الوصف
    mode All الوضع الذي يحدد أنواع الموارد التي تقيم النهج.

    يعيّن هذا السيناريو mode على All، والذي يطبق النهج على مجموعات موارد Azure والاشتراكات وجميع أنواع الموارد.

    لمزيد من المعلومات، راجع بنية تعريف النهج - الوضع.

    if {condition-to-evaluate} الشرط الذي يحدد وقت فرض قاعدة النهج

    في هذا السيناريو، يحدد {condition-to-evaluate} ما إذا كانت قيمة api.id في Microsoft.Web/connections/api.id تتطابق مع *managedApis/{connector-name}، والتي تحدد قيمة حرف بدل (*).

    لمزيد من المعلومات، راجع بنية تعريف النهج - قاعدة النهج.

    field Microsoft.Web/connections/api.id field القيمة المراد مقارنتها مقابل الشرط

    في هذا السيناريو، يستخدم fieldالاسم المستعار، Microsoft.Web/connections/api.id، للوصول إلى القيمة الموجودة في خاصية الموصل، api.id.

    like *managedApis/{connector-name} عامل التشغيل المنطقي والقيمة المراد استخدامهما لمقارنة field القيمة

    في هذا السيناريو، يتأكد كل من عامل التشغيل like وحرف البدل (*) من أن القاعدة تعمل بغض النظر عن المنطقة، وأن السلسلة، *managedApis/{connector-name}، هي القيمة المطابقة حيث يكون {connector-name} هو معرف الموصل التي تريد حظرها.

    على سبيل المثال، افترض أنك تريد حظر إنشاء اتصالات بمنصات الوسائط الاجتماعية أو قواعد البيانات:

    - تويتر: twitter
    - Instagram: instagram
    - الفيسبوك: facebook
    - بينتيريست: pinterest
    - SQL Server أو Azure SQL: sql

    للعثور على معرفات الموصل هذه، راجع البحث عن معرف مرجع الموصل في وقت سابق من هذا الموضوع.

    then {effect-to-apply} التأثير الذي يجب تطبيقه عند if استيفاء الشرط

    في هذا السيناريو، يتمثل هدف {effect-to-apply} في حظر وفشل طلب أو عملية لا تتوافق مع النهج.

    لمزيد من المعلومات، راجع بنية تعريف النهج - قاعدة النهج.

    effect deny effect هو لحظر الطلب، وهو إنشاء الاتصال المحدد

    لمزيد من المعلومات، راجع فهم تأثيرات Azure Policy - الرفض.

    على سبيل المثال، افترض أنك تريد حظر إنشاء اتصالات بموصل Instagram. إليك تعريف النهج الذي يمكنك استخدامه:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
    }
    

    إليك طريقة ظهور مربع POLICY RULE :

    Screenshot showing the

    بالنسبة للموصلات المتعددة، يمكنك إضافة المزيد من الشروط، على سبيل المثال:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "anyOf": [
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/instagram"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/twitter"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/facebook"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/pinterest"
                }
             ]
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
  5. عندما تنتهي، حدد حفظ. بعد حفظ تعريف النهج، ينشئ Azure Policy ويضيف المزيد من قيم الخصائص إلى تعريف النهج.

  6. بعد ذلك، لتعيين تعريف النهج حيث تريد فرض النهج، قم بإنشاء تعيين نهج.

لمزيد من المعلومات حول تعريفات Azure Policy، راجع هذه الموضوعات:

حظر ربط الاتصالات مع تطبيقات المنطق

عند إنشاء اتصال في سير عمل تطبيق منطقي، يوجد هذا الاتصال كمورد Azure منفصل. إذا قمت بحذف سير عمل التطبيق المنطقي فقط، فلن يتم حذف مورد الاتصال تلقائياً وسيظل موجوداً حتى يتم حذفه. قد يكون لديك سيناريو حيث يوجد مورد الاتصال بالفعل أو حيث يتعين عليك إنشاء مورد الاتصال للاستخدام خارج تطبيق المنطق. لا يزال بإمكانك حظر القدرة على إقران الاتصال بسير عمل تطبيق منطقي مختلف عن طريق إنشاء نهج يمنع حفظ مهام سير عمل تطبيق المنطق التي تحاول استخدام الاتصال المقيد أو غير المعتمد. تؤثر هذه النهج فقط على مهام سير عمل التطبيق المنطقي التي لا تستخدم الاتصال بالفعل.

  1. في مربع البحث مدخل Microsoft Azure، أدخل النهج، وحدد Policy.

    Screenshot showing the Azure portal search box with

  2. في قائمة Policy، ضمن Authoring، حدد Definitions. في شريط أدوات جزء Definitions، حدد Policy definition.

    Screenshot showing

  3. ضمن Policy definition، قدم المعلومات الخاصة بتعريف النهج، بناءً على الخصائص الموضحة في المثال واستمر باستخدام Instagram كمثال:

    Screenshot showing policy definition properties.

    الخاصية المطلوب قيمة ‏‏الوصف
    موقع التعريف ‏‏نعم‬ <"Azure-subscription-name"> اشتراك Azure المراد استخدامه لتعريف النهج

    1. للعثور على اشتراكك، حدد زر الحذف (...).
    2. من قائمة Subscription، ابحث عن اشتراكك وحدده.
    3. عند الانتهاء، حدد Select.

    الاسم ‏‏نعم‬ <policy-definition-name> الاسم الذي سيتم استخدامه لتعريف النهج
    الوصف لا <policy-definition-name> وصف لتعريف النهج
    الفئة ‏‏نعم‬ تطبيقات المنطق اسم فئة موجودة أو فئة جديدة لتعريف النهج
    إنفاذ النُهج ‏‏نعم‬ تمكين يحدد هذا الإعداد ما إذا كنت تريد تمكين أو تعطيل تعريف النهج عند حفظ عملك.
  4. ضمن POLICY RULE، يتم ملء مربع تحرير JSON مسبقا بقالب تعريف نهج. استبدل هذا القالب بـ تعريف النهج بناءً على الخصائص الموضحة في الجدول أدناه وباتباع هذه البنية:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    الخاصية القيمة‬ ‏‏الوصف
    mode All الوضع الذي يحدد أنواع الموارد التي تقيم النهج.

    يعيّن هذا السيناريو mode على All، والذي يطبق النهج على مجموعات موارد Azure والاشتراكات وجميع أنواع الموارد.

    لمزيد من المعلومات، راجع بنية تعريف النهج - الوضع.

    if {condition-to-evaluate} الشرط الذي يحدد وقت فرض قاعدة النهج

    في هذا السيناريو، يحدد {condition-to-evaluate} ما إذا كان إخراج السلسلة من [string(field('Microsoft.Logic/workflows/parameters'))]يحتوي على السلسلة، {connector-name}.

    لمزيد من المعلومات، راجع بنية تعريف النهج - قاعدة النهج.

    value [string(field('Microsoft.Logic/workflows/parameters'))] القيمة المراد مقارنتها مقابل الشرط

    في هذا السيناريو، value هو ناتج السلسلة من [string(field('Microsoft.Logic/workflows/parameters'))]، والذي يحول العنصر $connectors داخل العنصر Microsoft.Logic/workflows/parameters إلى سلسلة.

    contains {connector-name} عامل التشغيل المنطقي والقيمة المراد استخدامهما للمقارنة مع الخاصية value

    في هذا السيناريو، يتأكد عامل التشغيل contains من أن القاعدة تعمل بغض النظر عن مكان ظهور {connector-name}، حيث تكون السلسلة {connector-name}هي معرف الموصل الذي تريد تقييده أو حظره.

    على سبيل المثال، افترض أنك تريد حظر استخدام الاتصالات بمنصات الوسائط الاجتماعية أو قواعد البيانات:

    - تويتر: twitter
    - Instagram: instagram
    - الفيسبوك: facebook
    - بينتيريست: pinterest
    - SQL Server أو Azure SQL: sql

    للعثور على معرفات الموصل هذه، راجع البحث عن معرف مرجع الموصل في وقت سابق من هذا الموضوع.

    then {effect-to-apply} التأثير الذي يجب تطبيقه عند if استيفاء الشرط

    في هذا السيناريو، يتمثل هدف {effect-to-apply} في حظر وفشل طلب أو عملية لا تتوافق مع النهج.

    لمزيد من المعلومات، راجع بنية تعريف النهج - قاعدة النهج.

    effect deny effect هو أو deny حظر طلب حفظ تطبيق منطقي يستخدم الاتصال المحدد

    لمزيد من المعلومات، راجع فهم تأثيرات Azure Policy - الرفض.

    على سبيل المثال، افترض أنك تريد حظر حفظ التطبيقات المنطقية التي تستخدم اتصالات Instagram. إليك تعريف النهج الذي يمكنك استخدامه:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    

    إليك طريقة ظهور مربع POLICY RULE :

    Screenshot showing policy definition rule.

  5. عندما تنتهي، حدد حفظ. بعد حفظ تعريف النهج، ينشئ Azure Policy ويضيف المزيد من قيم الخصائص إلى تعريف النهج.

  6. بعد ذلك، لتعيين تعريف النهج حيث تريد فرض النهج، قم بإنشاء تعيين نهج.

لمزيد من المعلومات حول تعريفات Azure Policy، راجع هذه الموضوعات:

إنشاء مهمة النهج

بعد ذلك، تحتاج إلى تعيين تعريف النهج حيث تريد فرض النهج، على سبيل المثال، إلى مجموعة موارد واحدة أو مجموعات موارد متعددة أو مستأجر Microsoft Entra أو اشتراك Azure. بالنسبة لهذه المهمة، اتبع هذه الخطوات لإنشاء تعيين نهج:

  1. في مدخل Microsoft Azure، مربع بحث المدخل، أدخل النهج، وحدد Policy.

    Screenshot showing Azure portal search box with

  2. في قائمة Policy، ضمن Authoring، حدد Assignments. في شريط أدوات جزء Assignments، حدد Assign policy.

    Screenshot showing

  3. في جزء Assign policy، ضمن Basics، قم بتوفير هذه المعلومات لتعيين النهج:

    الخاصية المطلوب ‏‏الوصف
    النطاق ‏‏نعم‬ الموارد التي تريد فرض تعيين النهج عليها.

    1. بجوار مربع Scope، حدد زر الحذف (...).
    2. من قائمة Subscription، حدد اشتراك Azure.
    3. اختيارياً، من قائمة مجموعة الموارد، حدد مجموعة الموارد.
    4. عند الانتهاء، حدد Select.

    الاستثناءات لا أي موارد Azure لاستبعادها من تعيين النهج.

    1. بجوار مربع Exclusions، حدد زر الحذف (...).
    2. من قائمة Resource، حدد المورد >إضافة إلى النطاق المحدد.
    3. عند الانتهاء، حدد Save.

    تعريف النهج ‏‏نعم‬ اسم تعريف النهج الذي تريد تعيينه وفرضه. يستمر هذا المثال مع مثال نهج Instagram، "حظر اتصالات Instagram".

    1. بجوار مربع Policy definition، حدد زر الحذف (...).
    2. ابحث عن تعريف النهج وحدده باستخدام عامل تصفية النوع أو المربع بحث.
    3. عند الانتهاء، حدد Select.

    اسم التعيين ‏‏نعم‬ الاسم الذي سيتم استخدامه لتعيين النهج، إذا كان مختلفاً عن تعريف النهج
    معرف الواجب ‏‏نعم‬ المعرف الذي تم إنشاؤه تلقائياً لتعيين النهج
    الوصف لا وصف لتعيين النهج
    إنفاذ النُهج ‏‏نعم‬ الإعداد الذي يمكّن أو يعطل تعيين النهج
    التعيين بواسطة لا اسم الشخص الذي قام بإنشاء وتطبيق تعيين النهج

    على سبيل المثال، لتعيين نهج لمجموعة موارد Azure باستخدام مثال Instagram:

    Screenshot showing policy assignment properties.

  4. عندما تنتهي، حدد "Review + create".

    بعد إنشاء النهج، قد تضطر إلى الانتظار لمدة تصل إلى 15 دقيقة قبل تفعيل النهج. قد يكون للتغييرات أيضاً تأثيرات متأخرة مماثلة.

  5. بعد أن تدخل النهج حيز التنفيذ، يمكنك اختبار سياستك.

لمزيد من المعلومات، راجع التشغيل السريع: إنشاء تعيين نهج لتحديد الموارد غير المتوافقة.

اختبار النهج

لتجربة النهج الخاص بك، ابدأ في إنشاء اتصال باستخدام الموصل المقيد الآن في مصمم سير العمل. بالاستمرار مع مثال Instagram، عند تسجيل الدخول إلى Instagram، تحصل على هذا الخطأ الذي يفيد بأن تطبيق المنطق الخاص بك فشل في إنشاء الاتصال:

Screenshot showing connection failure due to applied policy.

تتضمن الرسالة هذه المعلومات:

‏‏الوصف المحتوى
سبب الفشل "Resource 'instagram' was disallowed by policy."
اسم التعيين "Block Instagram connections"
معرف الواجب "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673"
معرف تعريف النهج "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/b5ddcfec-1b24-4cac-a353-360846a59f24"

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