حاويات سرية على Azure Kubernetes Service (AKS) مع جيوب Intel SGX

تساعدك الحاويات السرية على تشغيل تطبيقات الحاوية غير المعدلة الموجودة من أوقات تشغيل لغات البرمجة الأكثر شيوعا (Python والعقدة وJava وما إلى ذلك) في بيئة التنفيذ الموثوق بها المستندة إلى Intel SGX (TEE). لا يحتاج نموذج التعبئة والتغليف هذا عادة إلى أي تعديلات على التعليمات البرمجية المصدر أو إعادة التحويل البرمجي وهو أسرع طريقة للتشغيل في جيوب Intel SGX. تتطلب عملية التوزيع النموذجية لتشغيل حاويات docker القياسية الخاصة بك تضمين SGX مفتوح المصدر أو حل شريك Azure. في نموذج التعبئة والتنفيذ هذا، يتم تحميل كل تطبيق حاوية في الحدود الموثوق بها (الجيب) ومع العزل المستند إلى الأجهزة التي تفرضها وحدة المعالجة المركزية Intel SGX. تتلقى كل حاوية تعمل في جيب مفتاح تشفير الذاكرة الخاص بها الذي تم تسليمه من وحدة المعالجة المركزية Intel SGX. هذا النموذج يعمل بشكل جيد لتطبيقات حاوية قبالة الرف المتاحة في السوق أو التطبيقات المخصصة التي تعمل حالياً على العقد الأغراض العامة. لتشغيل حاوية Docker موجودة، تتطلب التطبيقات على عقد الحوسبة السرية برنامج تضمين Intel Software Guard Extensions (SGX) للمساعدة في تنفيذ الحاوية ضمن حدود مجموعة تعليمات وحدة المعالجة المركزية الخاصة. ينشئ SGX تنفيذا مباشرا إلى وحدة المعالجة المركزية لإزالة نظام التشغيل الضيف (OS) أو نظام التشغيل المضيف أو برنامج تشغيل الآلة الافتراضية من حد الثقة. تقلل هذه الخطوة من مناطق الهجوم السطحية الإجمالية والثغرات الأمنية مع تحقيق عزل مستوى العملية داخل عقدة واحدة.

تتضمن العملية الإجمالية لتشغيل حاويات غير معدلة تغييرات على كيفية حزم الحاوية اليوم كما هو مفصل أدناه.

Diagram of confidential container conversion, with new steps for enabling Intel SGX and AKS.

يتم تقديم برنامج تضمين SGX المطلوب للمساعدة في تشغيل الحاويات القياسية من قبل شركاء برامج Azure أو حلول البرامج مفتوحة المصدر (OSS).

أدوات تمكين الشريك

يمكن للمطورين اختيار موفري البرامج استنادا إلى ميزاتهم والتكامل مع خدمات Azure ودعم الأدوات.

هام

غالبا ما يتضمن شركاء برامج Azure رسوم ترخيص أعلى البنية الأساسية ل Azure. يرجى التحقق من جميع شروط برامج الشركاء بشكل مستقل.

Fortanix

يحتوي Fortanix على تجارب المدخل وواجهة سطر الأوامر (CLI) لتحويل تطبيقاتها الحاوية إلى حاويات سرية قادرة على SGX. لا تحتاج إلى تعديل التطبيق أو إعادة تحويله برمجيا. يوفر Fortanix المرونة لتشغيل وإدارة مجموعة واسعة من التطبيقات. يمكنك استخدام التطبيقات الموجودة والتطبيقات الأصلية الجديدة في الجيب والتطبيقات المحزمة مسبقا. ابدأ بواجهة مستخدم مدير جيب Fortanix أو واجهات برمجة تطبيقات REST. إنشاء حاويات سرية باستخدام دليل التشغيل السريع Fortanix ل AKS.

Diagram of Fortanix deployment process, showing steps to move applications to confidential containers and deploy.

SCONE (Scontain)

تنشئ نهج أمان SCONE (Scontain) شهادات ومفاتيح وأسرار. فقط الخدمات التي تتضمن تصديقا لتطبيق ما ترى بيانات الاعتماد هذه. تقوم خدمات التطبيق تلقائيا بالإثبات لبعضها البعض من خلال TLS. لا تحتاج إلى تعديل التطبيقات أو TLS. لمزيد من الشرح، راجع العرض التوضيحي لتطبيق FLASK الخاص ب SCONE.

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

Diagram of SCONE workflow, showing how SCONE processes binary images.

يمكنك نشر SCONE على عقد الحوسبة السرية Azure مع AKS باتباع نموذج نشر تطبيق AKS هذا.

أنجونا

يوفر Anjuna برنامج النظام الأساسي SGX لتشغيل حاويات غير معدلة على AKS. لمزيد من المعلومات، راجع وثائق Anjuna حول الوظائف ونماذج التطبيقات.

ابدأ باستخدام نموذج Redis Cache وتطبيق Python المخصص هنا

Diagram of Anjuna's process, showing how containers are run on Azure confidential computing.

أدوات تمكين OSS

إشعار

لا ترتبط حوسبة Azure السرية وMicrosoft مباشرة بهذه المشاريع والحلول.

الغريامين

Gramine هو نظام تشغيل ضيف خفيف الوزن، مصمم لتشغيل تطبيق Linux واحد مع الحد الأدنى من متطلبات المضيف. يمكن لل Gramine تشغيل التطبيقات في بيئة معزولة. هناك دعم أدوات لتحويل حاوية Docker الموجودة إلى حاويات جاهزة SGX.

لمزيد من المعلومات، راجع نموذج تطبيق Gramine ونشره على AKS

Occlum

Occlum هو نظام تشغيل مكتبة متعدد العمليات وآمن للذاكرة (LibOS) لـ Intel SGX. يمكن نظام التشغيل التطبيقات القديمة من العمل على SGX مع تعديلات قليلة أو معدومة على التعليمات البرمجية المصدر. يحمي Occlum بشفافية سرية أحمال عمل المستخدم مع السماح بسهولة "الرفع والإزاحة" إلى تطبيقات Docker الحالية.

لمزيد من المعلومات، راجع إرشادات نشر Occlum ونماذج التطبيقات على AKS.

ماربلرون

Marblerun هو إطار تنسيق للحاويات السرية. يمكنك تشغيل وتوسيع نطاق الخدمات السرية على Kubernetes التي تدعم SGX. يعتني Marblerun بالمهام المتداولة مثل التحقق من الخدمات في مجموعتك، وإدارة الأسرار لهم، وإنشاء اتصالات mTLS من جيب إلى جيب بينهما. يضمن Marblerun أيضا أن مجموعتك من الحاويات السرية تلتزم ببيان محدد في JSON البسيط. يمكنك التحقق من البيان مع العملاء الخارجيين من خلال التصديق عن بعد.

يوسع إطار العمل هذا خصائص السرية والسلامة وإمكانية التحقق من جيب واحد إلى مجموعة Kubernetes.

يدعم Marblerun الحاويات السرية التي تم إنشاؤها باستخدام Graphene وOcclum وEGo، مع أمثلة لكل SDK. يعمل إطار العمل على Kubernetes جنبا إلى جنب مع الأدوات الأصلية الموجودة على السحابة. هناك مخططات CLI و helm. يدعم Marblerun أيضا عقد الحوسبة السرية على AKS. اتبع دليل Marblerun لنشر Marblerun على AKS.

البنيات المرجعية للحاويات السرية

الاتصال

هل لديك أسئلة حول التنفيذ الخاص بك؟ هل تريد أن تصبح أداة تمكين للحاويات السرية؟ إرسال بريد إلكتروني إلى acconaks@microsoft.com.

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