إنشاء بيئة خدمة تكامل (ISE) باستخدام واجهة برمجة تطبيقات REST للتطبيقات المنطقية

بالنسبة للسيناريوهات التي تحتاج فيها التطبيقات المنطقية وحسابات التكامل إلى الوصول إلى شبكة Azure الظاهرية، يمكنك إنشاء بيئة خدمة تكامل (ISE) باستخدام واجهة برمجة تطبيقات Logic Apps REST. لمعرفة المزيد حول ISEs، راجع الوصول إلى موارد شبكة Azure الظاهرية من Azure Logic Apps.

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

لمزيد من المعلومات حول الطرق الأخرى لإنشاء ISE، راجع هذه المقالات:

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

  • نفس المتطلبات الأساسيةومتطلبات الوصول كما هو الحال عند إنشاء بورصة اسطنبول في مدخل Azure

  • أي موارد إضافية تريد استخدامها مع بورصة اسطنبول الخاصة بك بحيث يمكنك تضمين معلوماتها في تعريف بورصة ISE ، على سبيل المثال:

    • لتمكين دعم الشهادة الموقعة ذاتيا، تحتاج إلى تضمين معلومات حول هذه الشهادة في تعريف ISE.

    • لتمكين الهوية المدارة المعينة من قبل المستخدم، تحتاج إلى إنشاء هذه objectIdالهوية مسبقا وتضمين ، principalId والخصائص وقيمها clientId في تعريف ISE. لمزيد من المعلومات، راجع إنشاء هوية مدارة معينة من قبل المستخدم في مدخل Azure.

  • أداة يمكنك استخدامها لإنشاء ISE الخاص بك عن طريق استدعاء واجهة برمجة تطبيقات REST للتطبيقات المنطقية مع طلب HTTPS PUT. على سبيل المثال، يمكنك استخدام Postman، أو يمكنك إنشاء تطبيق منطقي ينفذ هذه المهمة.

إنشاء بورصة اسطنبول

لإنشاء بورصة اسطنبول الخاصة بك عن طريق استدعاء واجهة برمجة تطبيقات REST للتطبيقات المنطقية، قم بإجراء طلب وضع HTTPS هذا:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}?api-version=2019-05-01

هام

يتطلب إصدار Logic Apps REST API 2019-05-01 إجراء طلب HTTP PUT الخاص بك لموصلات ISE.

عادة ما يستغرق النشر في غضون ساعتين حتى ينتهي. وفي بعض الأحيان، قد يستغرق النشر ما يصل إلى أربع ساعات. للتحقق من حالة النشر، في مدخل Azure، على شريط أدوات Azure، حدد أيقونة الإعلامات، التي تفتح جزء الإعلامات.

ملاحظة

إذا فشل النشر أو حذفت ISE، فقد يستغرق Azure ما يصل إلى ساعة قبل إصدار الشبكات الفرعية. هذا التأخير يعني أنك قد تضطر إلى الانتظار قبل إعادة استخدام هذه الشبكات الفرعية في بورصة اسطنبول أخرى.

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

عنوان الطلب

في رأس الطلب، قم بتضمين الخصائص التالية:

  • Content-typeتعيين قيمة الخاصية هذه إلى application/json.:

  • Authorizationقم بتعيين قيمة الخاصية هذه إلى الرمز المميز لحاملها للعميل الذي لديه حق الوصول إلى اشتراك Azure أو مجموعة الموارد التي تريد استخدامها.:

نص الطلب

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

  • لإنشاء بورصة اسطنبول التي تسمح باستخدام شهادة موقعة ذاتيا وشهادة صادرة عن المرجع المصدق للمؤسسة التي تم تثبيتها في الموقع، قم بتضمين الكائن certificates داخل قسم تعريف properties ISE ، كما هو موضح في TrustedRoot هذه المقالة لاحقا.

  • لإنشاء بورصة اسطنبول التي تستخدم هوية مدارة معينة من قبل النظام أو معينة من قبل المستخدم، قم بتضمين الكائن identity مع نوع الهوية المدارة وغيرها من المعلومات المطلوبة في تعريف ISE ، كما هو موضح في هذه المقالة لاحقا.

  • لإنشاء بورصة اسطنبول تستخدم المفاتيح المدارة من قبل العميل وAzure Key Vault لتشفير البيانات في وضع السكون، قم بتضمين المعلومات التي تمكن دعم المفاتيح التي يديرها العميل. يمكنك إعداد المفاتيح التي يديرها العميل فقط عند الإنشاء، وليس بعد ذلك.

طلب بناء جملة النص الأساسي

فيما يلي بناء جملة نص الطلب، الذي يصف الخصائص التي يجب استخدامها عند إنشاء ISE:

{
   "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Logic/integrationServiceEnvironments/{ISE-name}",
   "name": "{ISE-name}",
   "type": "Microsoft.Logic/integrationServiceEnvironments",
   "location": "{Azure-region}",
   "sku": {
      "name": "Premium",
      "capacity": 1
   },
   // Include the `identity` object to enable the system-assigned identity or user-assigned identity
   "identity": {
      "type": <"SystemAssigned" | "UserAssigned">,
      // When type is "UserAssigned", include the following "userAssignedIdentities" object:
      "userAssignedIdentities": {
         "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-object-ID}": {
            "principalId": "{principal-ID}",
            "clientId": "{client-ID}"
         }
      }
   },
   "properties": {
      "networkConfiguration": {
         "accessEndpoint": {
            // Your ISE can use the "External" or "Internal" endpoint. This example uses "External".
            "type": "External"
         },
         "subnets": [
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-1}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-2}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-3}",
            },
            {
               "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Network/virtualNetworks/{virtual-network-name}/subnets/{subnet-4}",
            }
         ]
      },
      // Include `certificates` object to enable self-signed certificate and the certificate issued by Enterprise Certificate Authority
      "certificates": {
         "testCertificate": {
            "publicCertificate": "{base64-encoded-certificate}",
            "kind": "TrustedRoot"
         }
      }
   }
}

طلب مثال على النص الأساسي

يوضح نص طلب المثال هذا قيم العينة:

{
   "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Logic/integrationServiceEnvironments/Fabrikam-ISE",
   "name": "Fabrikam-ISE",
   "type": "Microsoft.Logic/integrationServiceEnvironments",
   "location": "WestUS2",
   "identity": {
      "type": "UserAssigned",
      "userAssignedIdentities": {
         "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/*********************************": {
            "principalId": "*********************************",
            "clientId": "*********************************"
         }
      }
   },
   "sku": {
      "name": "Premium",
      "capacity": 1
   },
   "properties": {
      "networkConfiguration": {
         "accessEndpoint": {
            // Your ISE can use the "External" or "Internal" endpoint. This example uses "External".
            "type": "External"
         },
         "subnets": [
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-1",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-2",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-3",
            },
            {
               "id": "/subscriptions/********************/resourceGroups/Fabrikam-RG/providers/Microsoft.Network/virtualNetworks/Fabrikam-VNET/subnets/subnet-4",
            }
         ]
      },
      "certificates": {
         "testCertificate": {
            "publicCertificate": "LS0tLS1CRUdJTiBDRV...",
            "kind": "TrustedRoot"
         }
      }
   }
}

إضافة شهادات جذر مخصصة

غالبا ما تستخدم بورصة اسطنبول للاتصال بالخدمات المخصصة على شبكتك الافتراضية أو في أماكن العمل. غالبا ما تكون هذه الخدمات المخصصة محمية بواسطة شهادة يتم إصدارها بواسطة مرجع مصدق جذر مخصص، مثل المرجع المصدق للمؤسسات أو شهادة موقعة ذاتيا. لمزيد من المعلومات حول استخدام الشهادات الموقعة ذاتيا، راجع الوصول الآمن والبيانات - الوصول للمكالمات الصادرة إلى الخدمات والأنظمة الأخرى. لكي تتمكن بورصة اسطنبول من الاتصال بهذه الخدمات بنجاح من خلال أمان طبقة النقل (TLS)، تحتاج بورصة اسطنبول الخاصة بك إلى الوصول إلى هذه الشهادات الجذرية.

اعتبارات لإضافة شهادات جذر مخصصة

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

  • تأكد من تحميل الشهادة الجذر وجميع الشهادات المتوسطة. الحد الأقصى لعدد الشهادات هو 20.

  • يجب أن يتطابق اسم الموضوع الموجود على الشهادة مع اسم المضيف لنقطة النهاية المستهدفة التي تريد الاتصال بها من Azure Logic Apps.

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

  • يعد تحميل الشهادات الجذرية عملية غير متزامنة قد تستغرق بعض الوقت. للتحقق من الحالة أو النتيجة، يمكنك إرسال GET طلب باستخدام عنوان URI نفسه. تحتوي رسالة الاستجابة على حقل يقوم بإرجاع provisioningStateInProgress القيمة عندما لا تزال عملية التحميل تعمل. عندما provisioningState تكون Succeededالقيمة ، تكتمل عملية التحميل.

طلب بناء جملة

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

البيئة Azure Resource Manager URL
Azure global (multi-tenant) PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}?api-version=2019-05-01
Azure Government PATCH https://management.usgovcloudapi.net/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}?api-version=2019-05-01
مايكروسوفت Azure الصين 21Vianet PATCH https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}?api-version=2019-05-01

طلب بناء جملة النص الأساسي لإضافة شهادات جذر مخصصة

فيما يلي بناء جملة نص الطلب، الذي يصف الخصائص التي يجب استخدامها عند إضافة الشهادات الجذرية:

{
   "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group}/providers/Microsoft.Logic/integrationServiceEnvironments/{ISE-name}",
   "name": "{ISE-name}",
   "type": "Microsoft.Logic/integrationServiceEnvironments",
   "location": "{Azure-region}",
   "properties": {
      "certificates": {
         "testCertificate1": {
            "publicCertificate": "{base64-encoded-certificate}",
            "kind": "TrustedRoot"
         },
         "testCertificate2": {
            "publicCertificate": "{base64-encoded-certificate}",
            "kind": "TrustedRoot"
         }
      }
   }
}

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