حماية أسرارك الحساسة في Azure Logic Apps باستخدام موصل Key Vault: دليل شامل
مقدمة: تحديات إدارة الأسرار في تطبيقات المنطق
تُعد إدارة القيم السرية (secret values) أحد أبرز التحديات التي يواجهها المستخدمون عند العمل مع Azure Logic Apps. في السابق، كانت هذه الأسرار تُدار غالبًا عبر تمريرها من خلال قوالب ARM templates، وهو حل لم يكن مدمجًا بشكل كامل (out of the box solution). قبل توفر موصل Key Vault في Logic Apps، كان أحد الحلول البديلة الشائعة هو استخدام إجراء HTTP action المتاح في Logic Apps والاستفادة من وضع المصادقة Managed Identity.
لكن حتى هذا الحل البديل كان ينطوي على بعض الاعتبارات الهامة:
- يحتوي سجل تشغيل
Logic App(run history) على القيم السرية، والتي لا يمكن إخفاؤها بسهولة، مما يشكل خطرًا أمنيًا. - في الوقت الحالي، يمكن ربط 10 تطبيقات منطق فقط بهويات مُدارة معينة من قبل النظام (
system-assigned managed identities)، مما يحد من قابلية التوسع.
في هذا المقال، سنتعمق في كيفية حماية أسرارك بشكل أفضل في Logic Apps باستخدام موصل Key Vault الجديد، وسنوضح كيف يمكن معالجة المشكلات المذكورة أعلاه بفعالية.
تصميم تطبيق المنطق النموذجي الخاص بك
اتبع الخطوات التالية لإنشاء تطبيق المنطق (Logic App) النموذجي الخاص بك في صفحة المصمم (designer page):
- أضف مشغل “طلب
HTTP” (Http requesttrigger) إلى تطبيق المنطق. سنقوم لاحقًا باستدعاء تطبيق المنطق هذا عبر عميلREST.

- بعد ذلك، ابحث عن إجراءات
Key Vaultوأضف إجراء “الحصول على سر” (Get Secretaction) إلى تطبيق المنطق.

لديك الآن خياران للمصادقة: إما استخدام Azure AD أو Service Principal. في هذا المثال، سنمضي قدمًا باستخدام خدمة Azure AD.

سجل الدخول باستخدام حسابك. يجب أن يكون لهذا الحساب أذونات كافية للوصول إلى Key Vault الخاص بك. وإلا، يجب عليك توفير الوصول يدويًا من خلال سياسات الوصول (Access policies).
- املأ الحقل المطلوب باسم
Key Vaultالخاص بك. إذا لم يكن لديك واحد بالفعل، يمكنك إنشاء واحد بالانتقال إلى قائمةKey Vault. ستجد هناك خيار “الأسرار” (secrets) في الجزء الأيسر.

ملاحظة هامة: إذا كنت تقوم بتوفير خدمة Key Vault لأول مرة، فتذكر أنه قد تحتاج أحيانًا إلى تسجيل خدمة Key Vault يدويًا في اشتراكك (Subscription). (لقد واجهت هذه المشكلة عندما قمت بذلك لأول مرة).

- الآن، أضف إجراء “استجابة
HTTP” (Http responseaction) إلى تطبيق المنطق. املأ الحقول التالية كما هو موضح أدناه:
Status Code:200Body:<expression to get secret value>(استخدم تعبيرًا للحصول على قيمة السر)

احفظ تطبيق المنطق (Logic App).
اختبار تطبيق المنطق
الآن، انسخ عنوان URL الخاص بـ HTTP POST من مشغل Logic App وتوجه إلى reqbin (عميل REST عبر الإنترنت). الصق عنوان URL في حقل العنوان وقم بتغيير الطريقة الافتراضية من GET إلى POST، ثم انقر فوق “إرسال” (Send). سيتم تشغيل تطبيق المنطق وإرسال رمز الاستجابة 200 مع القيمة السرية كما هو موضح في الصورة أدناه.

فحص سجل التشغيل: مشكلة الأسرار المكشوفة
عند فحص سجل تشغيل تطبيق المنطق (run history)، نلاحظ أن القيم السرية مرئية كنص عادي (plain text). هل تتذكر نفس المشكلة التي واجهناها في الطريقة الكلاسيكية؟ كما ذكرت سابقًا، يمكن معالجة هذه المشكلة بسهولة من خلال إعدادات موصل Key Vault باتباع الخطوات التالية:
- عد إلى المصمم (
designer) وانقر على خيار “الإعدادات” (settings) ضمن قائمة “المزيد من الخيارات” (more options) في موصلKey Vault.

- الآن، في إعدادات إجراء “الحصول على سر” (
Get Secretaction)، قم بتمكين خيار “تأمين المدخلات والمخرجات” (Secure Inputs and Outputs) وانقر على “تم” (Done).

احفظ تطبيق المنطق مرة أخرى واستدعه عبر عميل REST (مثل reqbin.com). ستحصل على نفس الاستجابة في Request Bin، لكن سجل التشغيل (run history) لن يحتوي على القيم السرية بتنسيق نص عادي. بدلاً من ذلك، سيظهر على النحو التالي: “المحتوى غير معروض بسبب تكوين الأمان” (Content not shown due to security configuration).

لقد عالجنا الآن الاهتمام الأول في الطريقة الكلاسيكية (رؤية الأسرار في سجل التشغيل). أما الاهتمام الثاني، وهو القدرة على ربط 10 تطبيقات منطق فقط بهويات مُدارة معينة من قبل النظام، فقد تغلبنا عليه أيضًا من خلال عدم استخدام وضع المصادقة Managed Identity في الموصل. بدلاً من ذلك، تتم المصادقة عبر Azure Active Directory أو Service Principal (على الرغم من أن Service Principal قد يتطلب تدوير الأسرار بشكل دوري). بمجرد حصول المستخدم على أذونات كافية لـ Key Vault من خلال سياسة الوصول (Access Policy)، سيتمكن من الوصول إلى Key Vault في أي عدد من تطبيقات المنطق.
ميزات إضافية لموصل Key Vault: التشفير وفك التشفير
أثناء التعمق أكثر في إجراءات Key Vault الخاصة بتطبيقات المنطق (Logic Apps Key Vault actions)، وجدت بعض حالات الاستخدام الأكثر إثارة للاهتمام التي يمكن تحقيقها من خلال إجراءات التشفير وفك التشفير (Encryption and Decryption actions). إذا كان المستخدم مهتمًا بشكل أكبر بأمان بياناته، فيمكنه استخدام إجراءات التشفير وفك التشفير للحفاظ على القيم أكثر أمانًا. للقيام بذلك، قم بإنشاء مفتاح تشفير (encryption key) في Key Vault.

باستخدام إجراءات التشفير (Encrypt) وفك التشفير (Decrypt) في موصلات Key Vault، يمكنك تشفير البيانات وفك تشفيرها مرة أخرى. كما رأينا أعلاه، يمكننا أيضًا تمكين خيار “تأمين المدخلات والمخرجات” (Secure Inputs and Outputs) في الإعدادات لجعله أكثر أمانًا.

إدارة ومراقبة تطبيقات المنطق باستخدام Serverless360
Serverless360 هي منصة موحدة لإدارة ومراقبة جميع موارد Azure Serverless الخاصة بك، مع التركيز على مساعدة فرق العمليات والدعم في مهامهم اليومية. لنفترض سير العمل المذكور أعلاه لتطبيق أعمال تم تعريفه باستخدام العديد من Azure Logic Apps. سيكون لأصحاب المصلحة المختلفين في تطبيق الأعمال احتياجات مختلفة أثناء إدارتهم ومراقبتهم لـ Azure Logic Apps. بعض المتطلبات الرئيسية التي يصعب تحقيقها عبر بوابة Azure (Azure portal) هي:
- التصحيح التلقائي لحالة
Logic Appعند اكتشاف أنها ليست كما هو متوقع. - الانعكاس الفوري لحالة التحذير والخطأ في
Logic Appفي عرض خريطة الخدمة (service map view). - الكشف شبه الفوري عن الفشل.
- أتمتة إعادة إرسال إجراءات التشغيل الفاشلة المحددة.
- التتبع الشامل للرسائل المتدفقة عبر
Logic Apps، وتقييم الاستهلاك والأداء والموثوقية.
لا يمكن تحقيق هذه المتطلبات مباشرة من خلال بوابة Azure. ولكن Serverless360 يمكن أن يأتي كمكمل لبوابة Azure، حيث تم تصميمه بقدرات لمعالجة الفجوات في بوابة Azure.

خلاصة Serverless360
في هذا القسم، استعرضنا كيف يمكن لـ Serverless360 أن يعزز قدرات إدارة ومراقبة Azure Logic Apps بشكل يتجاوز ما توفره بوابة Azure القياسية، مما يوفر رؤى أعمق وتحكمًا أكبر في بيئات التطبيقات اللامركزية.
الخلاصة التقنية
لقد استعرضنا في هذا المقال الطرق الكلاسيكية والحديثة لحماية الأسرار في Logic Apps. كما نأمل أن يكون هذا المقال قد قدم لك فهمًا أوضح لموصل Key Vault المتاح الآن. أخيرًا، قمنا بتغطية مجموعات الميزات الموسعة لموصل Logic Apps Key Vault، بما في ذلك إجراءات التشفير وفك التشفير. إن استخدام Azure Key Vault مع Logic Apps لا يوفر فقط طبقة أمان قوية للأسرار الحساسة، بل يعزز أيضًا قابلية التوسع والامتثال الأمني. من خلال ميزات مثل Secure Inputs and Outputs، يمكن للمطورين ضمان عدم تسرب البيانات السرية في سجلات التشغيل، مما يقلل بشكل كبير من المخاطر الأمنية ويجعل Logic Apps منصة أكثر أمانًا لتطوير التطبيقات السحابية الحساسة. يُعد هذا الموصل خطوة حاسمة نحو تبني أفضل الممارسات الأمنية في بيئات Serverless.