إصدار مفتاح آمن مع حاويات سرية على مثيل حاوية Azure (ACI)

يمكن تنفيذ تدفق إصدار المفتاح الآمن (SKR) مع Azure Key Vault (AKV) مع عروض حاوية سرية بطريقتين. تقوم الحاويات السرية بتشغيل ضيف مستنير يكشف جهاز AMD SEV-SNP من خلال Linux Kernel الذي يستخدم في البرامج الثابتة الضيف مع التصحيحات الضرورية المتعلقة ب Hyper-V التي نشير إليها باسم Direct Linux Boot (DLB). لا يستخدم هذا النظام الأساسي vTPM وHCL استنادا إلى تلك الأجهزة الظاهرية السرية مع دعم AMD SEV-SNP. يفترض مستند المفهوم هذا أنك تخطط لتشغيل الحاويات في Azure Container Support باختيار SKU للحوسبة السرية

  • حاوية مساعد السيارة الجانبية المقدمة من Azure
  • التنفيذ المخصص مع تطبيق الحاوية الخاص بك

حاوية مساعد السيارة الجانبية المقدمة من Azure

يوضح مشروع مصدر مفتوح d GitHub "سري للسيارات الجانبية" تفاصيل كيفية إنشاء هذه الحاوية والمعلمات/متغيرات البيئة المطلوبة لك لإعداد وتشغيل حاوية السيارة الجانبية هذه. يوفر تنفيذ السيارة الجانبية الحالية العديد من واجهات برمجة تطبيقات HTTP REST التي يمكن أن تستخدمها حاوية التطبيق الأساسي لجلب المفتاح من AKV. التكامل من خلال Microsoft Azure Attestation (MAA) مضمن بالفعل. يمكن العثور على خطوات التحضير لتشغيل حاوية SKR السيارة الجانبية في التفاصيل هنا.

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

key/release يتوقع أسلوب POST JSON بالتنسيق التالي:

{	
    "maa_endpoint": "<maa endpoint>", //https://learn.microsoft.com/en-us/azure/attestation/quickstart-portal#attestation-provider
    "akv_endpoint": "<akv endpoint>", //AKV URI
    "kid": "<key identifier>" //key name,
    "access_token": "optional aad token if the command will run in a resource without proper managed identity assigned"
}

عند النجاح، تحمل StatusOK استجابة key/release أسلوب POST عنوانا وحمولة بالتنسيق التالي:

{
    "key": "<key in JSON Web Key format>"
}

عند الخطأ، تحمل StatusForbidden استجابة key/release أسلوب POST رأسا وحمولة بالتنسيق التالي:

{
    "error": "<error message>"
}

التنفيذ المخصص مع تطبيق الحاوية الخاص بك

لتنفيذ تطبيق حاوية مخصص يوسع إمكانية Azure Key Vault (AKV) - Secure Key Release وMicrosoft Azure Attestation (MAA)، استخدم ما يلي كتدفق مرجعي عالي المستوى. نهج سهل هو مراجعة التعليمات البرمجية الحالية لتنفيذ السيارة الجانبية في مشروع GitHub الجانبي هذا.

Image of the aforementioned operations, which you should be performing.

  1. الخطوة 1: إعداد AKV باستخدام مفتاح قابل للتصدير وإرفاق نهج الإصدار. المزيد هنا
  2. الخطوة 2: إعداد هوية مدارة باستخدام معرف Microsoft Entra وإرفاقها ب AKV. المزيد هنا
  3. الخطوة 3: نشر تطبيق الحاوية الخاص بك مع المعلمات المطلوبة داخل ACI عن طريق إعداد نهج إنفاذ الحوسبة السرية. المزيد هنا
  4. الخطوة 4: في هذه الخطوة، يجب على تطبيقك إحضار تقرير أجهزة RAW AMD SEV-SNP عن طريق إجراء استدعاء IOCTL Linux Socket. لا تحتاج إلى أي مكتبة تصديق ضيف لتنفيذ هذا الإجراء. المزيد حول التنفيذ الحالي للسيارات الجانبية
  5. الخطوة 5: إحضار سلسلة شهادات AMD SEV-SNP لمجموعة الحاوية. يتم تسليم هذه الشهادات من نقطة نهاية IMDS لمضيف Azure. المزيد هنا
  6. الخطوة 6: أرسل تقرير أجهزة SNP RAW وتفاصيل الشهادة إلى MAA للتحقق من المطالبات وإرجاعها. المزيد هنا
  7. الخطوة 7: إرسال رمز MAA المميز ورمز الهوية المدار الذي تم إنشاؤه بواسطة ACI إلى AKV لإصدار المفتاح. المزيد هنا

عند نجاح جلب المفتاح من AKV، يمكنك استهلاك المفتاح لفك تشفير مجموعات البيانات أو تشفير البيانات التي تخرج من بيئة الحاوية السرية.

المراجع

ACI مع عمليات نشر الحاوية السرية

تنفيذ السيارة الجانبية مع جلب الكائن الثنائي كبير الحجم المشفر وفك تشفيره باستخدام مفتاح SKR AKV

AKV SKR مع AMD SEV-SNP الخاص بالجهاز الظاهري السري

Microsoft Azure Attestation (MAA)

أمثلة على نهج SKR