تشفير البيانات الثابتة لتطبيقك باستخدام مفاتيح يُديرها العملاء

يتطلب تشفير البيانات الثابتة لتطبيق «تطبيق الوظائف» حساب Azure Storage وAzure Key Vault. تُستخدم هذه الخدمات عند تشغيل تطبيقك من حزمة توزيع.

  • يُوفر Azure Storage التشفير في الوضع غير النشط. يمكنك استخدام المفاتيح التي يُوفرها النظام أو مفاتيحك التي يديرها العملاء. هذا هو مكان تخزين بيانات تطبيقك عندما لا تشتغل في تطبيق الوظائف في Azure.
  • التشغيل من حزمة توزيع هو ميزة توزيع خدمة التطبيقات. يسمح لك بتوزيع محتوى موقعك من حساب Azure Storage باستخدام عنوان ويب لتوقيع الوصول المشترك (SAS).
  • مراجع Azure Key Vault هي ميزة أمان لخدمة التطبيقات. تسمح لك باستيراد أسرار في وقت التشغيل وإعدادات التطبيق. استخدم هذا لتشفير عنوان ويب خاص بتوقيع الوصول المشترك (SAS) لحساب Azure Storage.

إعداد التشفير في الوضع غير النشط

إنشاء حساب تخزين Azure

أولًا، أنشئ حساب Azure Storage، وقم بتشفيره باستخدام مفاتيح يُديرها العميل. بمجرد إنشاء حساب التخزين، استخدم مستكشف Azure Storage لتحميل ملفات الحزم.

ثم استخدم مستكشف التخزين لإنشاء توقيع الوصول المشترك (SAS).

إشعار

احفظ عنوان ويب لتوقيع الوصول المشترك (SAS)، سيُستخدم هذا لاحقًا لتمكين الوصول الآمن لحزمة التوزيع في وقت التشغيل.

كوّن التشغيل من حزمة من حساب التخزين الخاص بك

بمجرد تحميل الملف إلى تخزين Blob والحصول على عنوان ويب لتوقيع الوصول المشترك (SAS) للملف، قم بتعيين إعداد التطبيق WEBSITE_RUN_FROM_PACKAGE إلى عنوان URL لتوقيع الوصول المشترك (SAS). يستخدم المثال التالي Azure CLI:

az webapp config appsettings set --name <app-name> --resource-group <resource-group-name> --settings WEBSITE_RUN_FROM_PACKAGE="<your-SAS-URL>"

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

تشفير إعداد التطبيق باستخدام مراجع Azure Key Vault

الآن يمكنك استبدال قيمة إعداد التطبيق WEBSITE_RUN_FROM_PACKAGE بمرجع Azure Key Vault إلى عنوان ويب مُشفر بواسطة توقيع الوصول المشترك (SAS). وهذا يحافظ على عنوان ويب توقيع الوصول المشترك (SAS) مشفر في Azure Key Vault، الذي يوفر طبقة إضافية من الأمان.

  1. استخدم أمر az keyvault create التالي لإنشاء مثيل Azure Key Vault.

    az keyvault create --name "Contoso-Vault" --resource-group <group-name> --location eastus    
    
  2. اتبع هذه التعليمات لمنح التطبيق حق الوصول إلى مخزنك الرئيسي:

  3. استخدم الأمر az keyvault secret set التالي لإضافة عنوان ويب خارجي خاص بك كسر في مخزنك الرئيسي:

    az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"    
    
  4. استخدم الأمر التالي az webapp config appsettings set لإنشاء إعداد التطبيق WEBSITE_RUN_FROM_PACKAGE مع القيمة كمرجع Azure Key Vault إلى عنوان ويب خارجي:

    az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"    
    

    سيكون <secret-version> في ناتج الأمر az keyvault secret set السابق.

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

كيفية تدوير الرمز المميز للوصول

من الأفضل تدوير مفتاح توقيع الوصول المشترك (SAS) لحساب التخزين بشكل دوري. للتأكد من أن تطبيق الوظائف لا يفقد الوصول عن غير قصد، يجب عليك أيضا تحديث عنوان URL SAS في Key Vault.

  1. قم بتدوير مفتاح توقيع الوصول المشترك (SAS) عن طريق التنقل إلى حساب التخزين الخاص بك في مدخل Microsoft Azure. ضمن الإعدادات> مفاتيح الوصول، حدد الأيقونة لتدوير مفتاح SAS.

  2. انسخ عنوان الويب الجديد لتوقيع الوصول المشترك (SAS)، واستخدم الأمر التالي لتعيين عنوان الويب المُحدث لتوقيع الوصول المشترك (SAS) في مخزنك الرئيسي:

    az keyvault secret set --vault-name "Contoso-Vault" --name "external-url" --value "<SAS-URL>"    
    
  3. حدّث مرجع مخزنك الرئيسي في إعداد التطبيق الخاص بك إلى الإصدار السري الجديد:

    az webapp config appsettings set --settings WEBSITE_RUN_FROM_PACKAGE="@Microsoft.KeyVault(SecretUri=https://Contoso-Vault.vault.azure.net/secrets/external-url/<secret-version>"    
    

    سيكون <secret-version> في ناتج الأمر az keyvault secret set السابق.

كيفية إلغاء الوصول إلى بيانات تطبيق الوظيفة

هناك طريقتان لإلغاء وصول تطبيق الوظيفة إلى حساب التخزين.

تدوير مفتاح توقيع الوصول المشترك (SAS) لحساب Azure Storage

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

إزالة وصول تطبيق الوظائف إلى Azure Key Vault

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

الملخص

ملفات التطبيق الخاصة بك مشفرة الآن في الوضع غير النشط في حساب التخزين الخاص بك. عند بدء تشغيل تطبيق الوظيفة، فإنه يقوم باسترداد عنوان الويب لتوقيع الوصول المشترك (SAS) من المخزن الرئيسي. وأخيرًا، يقوم تطبيق الوظيفة بتحميل ملفات التطبيق من حساب التخزين.

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

الأسئلة المتداولة

هل هناك أي رسوم إضافية لتشغيل تطبيق الوظائف من حزمة توزيع؟

فقط التكلفة المرتبطة بحساب Azure Storage وأي رسوم خروج سارية.

كيف يؤثر التشغيل من حزمة توزيع على تطبيق الوظائف الخاص بي؟

  • تشغيل تطبيقك من حزمة توزيع يجعل wwwroot/ للقراءة فقط. يتلقى تطبيقك خطأ عند محاولة الكتابة إلى هذا الدليل.
  • تنسيقات TAR وGZIP غير مدعومة.
  • هذه الميزة غير متوافقة مع ذاكرة التخزين المؤقت المحلية.

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