إدارة هوية الأجهزة الموثوق بها
تعالج خدمة إدارة هوية الأجهزة الموثوق بها إدارة ذاكرة التخزين المؤقت للشهادات لجميع بيئات التنفيذ الموثوق بها (TEEs) الموجودة في Azure. كما يوفر معلومات قاعدة الحوسبة الموثوق بها (TCB) لفرض حد أدنى أساسي لحلول التصديق.
إدارة هوية الأجهزة الموثوق بها وتفاعلات التصديق
تحدد إدارة هوية الأجهزة الموثوق بها أساس أمان Azure لعقد الحوسبة السرية Azure (ACC) وملفات التخزين المؤقت الإضافية من موفري TEE. يمكن لخدمات التصديق وعقد ACC استخدام المعلومات المخزنة مؤقتا للتحقق من صحة TEEs. يوضح الرسم التخطيطي التالي التفاعلات بين خدمة التصديق أو العقدة، وإدارة هوية الأجهزة الموثوق بها، ومضيف جيب.
الأسئلة الشائعة
كيف أعمل استخدام إدارة هوية الأجهزة الموثوق بها مع معالجات Intel؟
لإنشاء علامات اقتباس Intel SGX وIntel TDX، تحتاج مكتبة Intel Quote Generation (QGL) إلى الوصول إلى ضمان إنشاء/التحقق من صحة عرض الأسعار. يجب إحضار جميع أو أجزاء هذه الضمانات من إدارة هوية الأجهزة الموثوق بها. يمكنك إحضاره باستخدام مكتبة موفر عرض أسعار Intel (QPL) أو مكتبة عميل Azure Data Center Attestation Primitives (DCAP).
يبدو أن تاريخ "التحديث التالي" لواجهة برمجة تطبيقات خدمة التخزين المؤقت الداخلية Azure التي يستخدمها Azure Attestation قديم. هل لا يزال قيد التشغيل ويمكنني استخدامه؟
tcbinfo
يحتوي الحقل على معلومات TCB. توفر خدمة إدارة هوية الأجهزة الموثوق بها معلومات أقدم tcbinfo
بشكل افتراضي. سيؤدي التحديث إلى أحدث tcbinfo
المعلومات من Intel إلى فشل الإثبات للعملاء الذين لم يقوموا بالترحيل إلى أحدث Intel SDK، وقد يؤدي إلى انقطاع.
ومع ذلك، لا ينظر Open Enclave SDK وAzure Attestation إلى nextUpdate
التاريخ، وسيمرر التصديق.
ما هي مكتبة Azure DCAP؟
تقوم مكتبة Azure Data Center Attestation Primitives (DCAP)، وهي بديل لمكتبة موفر عرض أسعار Intel (QPL)، بإحضار ضمانات إنشاء الاقتباس والتحقق من صحة الاقتباس مباشرة من خدمة إدارة هوية الأجهزة الموثوق بها. يضمن إحضار الضمانات مباشرة من خدمة إدارة هوية الأجهزة الموثوق بها أن جميع مضيفي Azure لديهم ضمانات متاحة بسهولة داخل سحابة Azure لتقليل التبعيات الخارجية. الإصدار الحالي الموصى به من مكتبة DCAP هو 1.11.2.
أين يمكنني تنزيل أحدث مكتبة Azure DCAP؟
استخدم الارتباطات التالية لتنزيل الحزم:
للحصول على إصدارات أحدث من Ubuntu (على سبيل المثال، Ubuntu 22.04)، يجب عليك استخدام Intel QPL.
لماذا لدى إدارة هوية الأجهزة الموثوق بها وIntel خطوط أساس مختلفة؟
توفر إدارة هوية الأجهزة الموثوق بها وIntel مستويات أساسية مختلفة لقاعدة الحوسبة الموثوق بها. عندما يفترض العملاء أن Intel لديها أحدث الخطوط الأساسية، يجب عليهم التأكد من استيفاء جميع المتطلبات. يمكن أن يؤدي هذا الأسلوب إلى توقف إذا لم يتم تحديث العملاء إلى المتطلبات المحددة.
تتبع إدارة هوية الأجهزة الموثوق بها نهجا أبطأ لتحديث خط الأساس TCB، حتى يتمكن العملاء من إجراء التغييرات اللازمة بالسرعة الخاصة بهم. على الرغم من أن هذا الأسلوب يوفر أساسا قديما ل TCB، فلن يواجه العملاء تعطلا إذا لم يستوفوا متطلبات أساس TCB الجديد. هذا هو السبب في أن أساس TCB من إدارة هوية الأجهزة الموثوق بها هو إصدار مختلف عن أساس Intel. نريد تمكين العملاء من تلبية متطلبات خط الأساس الجديد ل TCB بوتيرتهم، بدلا من إجبارهم على التحديث والتسبب في تعطيل يتطلب إعادة ترتيب تدفقات العمل.
باستخدام معالجات Intel Xeon E، يمكنني الحصول على شهاداتي مباشرة من Intel PCS. لماذا، مع معالجات Intel Xeon القابلة للتحجيم بدءا من الجيل الرابع، هل أحتاج إلى الحصول على الشهادات من إدارة هوية الأجهزة الموثوق بها؟ وكيف يمكنني إحضار هذه الشهادات؟
بدءا من الجيل الرابع من معالجات Intel® Xeon® Scalable، يقوم Azure بإجراء التسجيل غير المباشر في خدمة تسجيل Intel باستخدام بيان النظام الأساسي ويخزن شهادة PCK الناتجة في خدمة إدارة هوية الأجهزة الموثوق بها (THIM) التي يستخدمها Azure التسجيل غير المباشر، لأن خدمة تسجيل Intel لن تخزن المفاتيح الجذر للنظام الأساسي في هذه الحالة وينعكس false
ذلك في CachedKeys
العلامة في شهادات PCK.
عند استخدام التسجيل غير المباشر، تتطلب جميع الاتصالات التالية إلى Intel PCS بيان النظام الأساسي، والذي لا يوفره Azure للأجهزة الظاهرية (VMs).
بدلا من ذلك، يجب على الأجهزة الظاهرية التواصل مع THIM لتلقي شهادات PCK.
لاسترداد شهادة PCK، يمكنك إما استخدام Intel QPL أو مكتبة Azure DCAP.
كيف أعمل استخدام Intel QPL مع إدارة هوية الأجهزة الموثوق بها؟
قد يرغب العملاء في المرونة لاستخدام Intel QPL للتفاعل مع إدارة هوية الأجهزة الموثوق بها دون الحاجة إلى تنزيل تبعية أخرى من Microsoft (أي مكتبة عميل Azure DCAP). يجب على العملاء الذين يرغبون في استخدام Intel QPL مع خدمة إدارة هوية الأجهزة الموثوق بها ضبط ملف تكوين Intel QPL، sgx_default_qcnl.conf.
يمكن تقسيم ضمانات إنشاء/التحقق من الاقتباس المستخدمة لإنشاء علامات اقتباس Intel SGX أو Intel TDX إلى:
- شهادة PCK. لاسترداده، يجب على العملاء استخدام نقطة نهاية إدارة هوية الأجهزة الموثوق بها.
- جميع ضمانات إنشاء/التحقق من الأسعار الأخرى. لاسترداده، يمكن للعملاء إما استخدام نقطة نهاية إدارة هوية الأجهزة الموثوق بها أو نقطة نهاية Intel Provisioning Certification Service (PCS).
يحتوي ملف تكوين Intel QPL (sgx_default_qcnl.conf) على ثلاثة مفاتيح لتعريف نقاط النهاية الجانبية. pccs_url
يعرف المفتاح نقطة النهاية المستخدمة لاسترداد شهادات PCK. يمكن للمفتاح collateral_service
تحديد نقطة النهاية المستخدمة لاسترداد جميع ضمانات إنشاء/التحقق من الأسعار الأخرى. collateral_service
إذا لم يتم تعريف المفتاح، يتم استرداد جميع ضمانات التحقق من عرض الأسعار من نقطة النهاية المحددة بالمفتاحpccs_url
.
يوضح الجدول التالي كيفية تعيين هذه المفاتيح.
الاسم | نقاط النهاية المحتملة |
---|---|
pccs_url |
نقطة نهاية إدارة هوية الأجهزة الموثوق بها: https://global.acccache.azure.net/sgx/certification/v3 . |
collateral_service |
نقطة نهاية إدارة هوية الأجهزة الموثوق بها (https://global.acccache.azure.net/sgx/certification/v3 ) أو نقطة نهاية Intel PCS. يسرد ملف sgx_default_qcnl.conf دائما أحدث نقطة نهاية في collateral_service المفتاح. |
مقتطف التعليمات البرمجية التالي من مثال لملف تكوين Intel QPL:
{
"pccs_url": "https://global.acccache.azure.net/sgx/certification/v3/",
"use_secure_cert": true,
"collateral_service": "https://global.acccache.azure.net/sgx/certification/v3/",
"pccs_api_version": "3.1",
"retry_times": 6,
"retry_delay": 5,
"local_pck_url": "http://169.254.169.254/metadata/THIM/sgx/certification/v3/",
"pck_cache_expire_hours": 24,
"verify_collateral_cache_expire_hours": 24,
"custom_request_options": {
"get_cert": {
"headers": {
"metadata": "true"
},
"params": {
"api-version": "2021-07-22-preview"
}
}
}
}
توضح الإجراءات التالية كيفية تغيير ملف تكوين Intel QPL وتنشيط التغييرات.
على Windows
قم بإجراء تغييرات على ملف التكوين.
تأكد من وجود أذونات قراءة للملف من موقع التسجيل التالي والمفتاح/القيمة:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intel\SGX\QCNL] "CONFIG_FILE"="<Full File Path>"
أعد تشغيل خدمة AESMD. على سبيل المثال، افتح PowerShell كمسؤول واستخدم الأوامر التالية:
Restart-Service -Name "AESMService" -ErrorAction Stop Get-Service -Name "AESMService"
On Linux
قم بإجراء تغييرات على ملف التكوين. على سبيل المثال، يمكنك استخدام Vim للتغييرات عبر الأمر التالي:
sudo vim /etc/sgx_default_qcnl.conf
أعد تشغيل خدمة AESMD. افتح أي محطة طرفية وقم بتشغيل الأوامر التالية:
sudo systemctl restart aesmd systemctl status aesmd
كيف أعمل طلب ضمانات في جهاز ظاهري سري؟
استخدم النموذج التالي في ضيف جهاز ظاهري سري (CVM) لطلب ضمانات AMD التي تتضمن شهادة VCEK وسلسلة الشهادات. للحصول على تفاصيل حول هذا الضمان ومن أين يأتي، راجع شهادة مفتاح مصادقة الشريحة (VCEK) ومواصفات واجهة KDS.
معلمات URI
GET "http://169.254.169.254/metadata/THIM/amd/certification"
نص الطلب
Name | كتابة | الوصف |
---|---|---|
Metadata |
قيمة منطقية | يسمح الإعداد بإعادة True الضمانات. |
نموذج الطلب
curl GET "http://169.254.169.254/metadata/THIM/amd/certification" -H "Metadata: true"
الردود
الاسم | الوصف |
---|---|
200 OK |
يسرد الضمانات المتوفرة في نص HTTP بتنسيق JSON |
Other Status Codes |
توضح هذه المقالة سبب فشل العملية |
التعريفات
مفتاح | الوصف |
---|---|
VcekCert |
شهادة X.509v3 كما هو محدد في RFC 5280 |
tcbm |
قاعدة الحوسبة الموثوق بها |
certificateChain |
شهادات AMD SEV Key (ASK) وAMD Root Key (ARK) |
كيف أعمل طلب ضمان AMD في حاوية خدمة Azure Kubernetes على عقدة CVM؟
اتبع هذه الخطوات لطلب ضمانات AMD في حاوية سرية:
ابدأ بإنشاء مجموعة Azure Kubernetes Service (AKS) على عقدة CVM أو عن طريق إضافة تجمع عقدة CVM إلى مجموعة موجودة:
إنشاء نظام مجموعة AKS على عقدة CVM:
إنشاء مجموعة موارد في إحدى المناطق المدعومة من CVM:
az group create --resource-group <RG_NAME> --location <LOCATION>
إنشاء نظام مجموعة AKS مع عقدة CVM واحدة في مجموعة الموارد:
az aks create --name <CLUSTER_NAME> --resource-group <RG_NAME> -l <LOCATION> --node-vm-size Standard_DC4as_v5 --nodepool-name <POOL_NAME> --node-count 1
تكوين kubectl للاتصال بالمجموعة:
az aks get-credentials --resource-group <RG_NAME> --name <CLUSTER_NAME>
إضافة تجمع عقدة CVM إلى مجموعة AKS موجودة:
az aks nodepool add --cluster-name <CLUSTER_NAME> --resource-group <RG_NAME> --name <POOL_NAME > --node-vm-size Standard_DC4as_v5 --node-count 1
تحقق من الاتصال بالمجموعة باستخدام
kubectl get
الأمر . يعمل هذا الأمر على استرجاع قائمة نظام المجموعة العنقودية.kubectl get nodes
يوضح مثال الإخراج التالي العقدة الفردية التي قمت بإنشائها في الخطوات السابقة. تأكد من أن حالة العقدة هي
Ready
.الاسم الحالة ادوار العمر الإصدار aks-nodepool1-31718369-0 جاهز agent 6m44s الإصدار 1.12.8 إنشاء ملف curl.yaml بالمحتوى التالي. وهو يحدد مهمة تقوم بتشغيل حاوية curl لإحضار ضمانات AMD من نقطة نهاية إدارة هوية الأجهزة الموثوق بها. لمزيد من المعلومات حول وظائف Kubernetes، راجع وثائق Kubernetes.
apiVersion: batch/v1 kind: Job metadata: name: curl spec: template: metadata: labels: app: curl spec: nodeSelector: kubernetes.azure.com/security-type: ConfidentialVM containers: - name: curlcontainer image: alpine/curl:3.14 imagePullPolicy: IfNotPresent args: ["-H", "Metadata:true", "http://169.254.169.254/metadata/THIM/amd/certification"] restartPolicy: "Never"
يحتوي الملف curl.yaml على الوسيطات التالية.
Name كتابة الوصف Metadata
قيمة منطقية يسمح الإعداد بإعادة True
الضمانات.قم بتشغيل المهمة عن طريق تطبيق ملف curl.yaml :
kubectl apply -f curl.yaml
تحقق وانتظر حتى تكتمل pod وظيفتها:
kubectl get pods
وإليك مثالاً للاستجابة:
الاسم جاهز الحالة إعادة التشغيل العمر Curl-w7nt8 0/1 مكتمل 0 72 ثانية قم بتشغيل الأمر التالي للحصول على سجلات المهمة والتحقق من صحتها إذا كانت تعمل. يجب أن يتضمن
vcekCert
الإخراج الناجح وtcbm
و.certificateChain
kubectl logs job/curl