Quickstart: إعداد Azure Attestation باستخدام Azure PowerShell

اتبع الخطوات التالية لإنشاء موفر تصديق وتكوينه باستخدام Azure PowerShell. راجع نظرة عامة على Azure PowerShell للحصول على معلومات حول كيفية تثبيت Azure PowerShell وتشغيله.

إشعار

تم الآن دمج الوحدة النمطية Az.Attestation PowerShell في الوحدة النمطية Az PowerShell. الحد الأدنى من إصدار وحدة Az النمطية المطلوبة لدعم عمليات التصديق:

  • الوحدة النمطية Az PowerShell 6.5.0

لقد قام معرض PowerShell بإهمال بروتوكول أمان طبقة النقل (TLS) الإصدارات 1.0 و 1.1. يوصى باستخدام TLS 1.2 أو إصدار أحدث. ومن ثم قد تتلقى الأخطاء التالية:

  • تحذير: تعذر حل مصدر الحزمة "https://www.powershellgallery.com/api/v2"
  • PackageManagement\Install-Package: لم يتم العثور على تطابق لمعايير البحث المحددة واسم الوحدة النمطية

لمتابعة التفاعل مع PowerShell Gallery، قم بتشغيل الأمر التالي قبل أوامر Install-Module

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 

تسجيل الدخول إلى Azure

تسجيل الدخول إلى Azure في وحدة تحكم PowerShell (بدون امتيازات وصول مرتفعة).

Connect-AzAccount

إذا لزم الأمر، فقم بالتبديل إلى الاشتراك الذي سيتم استخدامه لتصديق Azure.

Set-AzContext -Subscription <subscription id>  

تسجيل موفر موارد Microsoft.Attestation

قم بتسجيل موفر مورد Microsoft.Attestation في الاشتراك. لمزيد من المعلومات حول موفري موارد Azure وكيفية تكوين موفري الموارد وإدارتهم، راجع أنواع وأنواع موفري موارد Azure. تسجيل موفر الموارد مطلوب مرة واحدة فقط للاشتراك.

Register-AzResourceProvider -ProviderNamespace Microsoft.Attestation

التوفر الإقليمي لـ Azure Attestation

(Get-AzResourceProvider -ProviderNamespace Microsoft.Attestation)[0].Locations

إنشاء مجموعة موارد Azure

إنشاء مجموعة موارد لـ attestation provider. يمكن وضع موارد Azure الأخرى (بما في ذلك جهاز ظاهري مع مثيل تطبيق العميل) في نفس مجموعة الموارد.

$location = "uksouth" 
$attestationResourceGroup = "<attestation provider resource group name>"
New-AzResourceGroup -Name $attestationResourceGroup -Location $location 

إشعار

بمجرد إنشاء موفر تصديق في مجموعة الموارد هذه، يجب أن يكون لمستخدم Microsoft Entra دور Attestation Contributor على الموفر لتنفيذ عمليات مثل تكوين النهج/ إدارة شهادات الموقع على النهج. يمكن أيضا توريث هذه الأذونات بأدوار مثل المالك (أذونات أحرف البدل) / المساهم (أذونات أحرف البدل) في مجموعة الاشتراك/ الموارد.

إنشاء وإدارة مزود تصديق

الأمر New-AzAttestation ينشئ مزود شهادة.

$attestationProvider = "<attestation provider name>" 
New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location

إن PolicySignerCertificateFile هو ملف يحدد مجموعة من مفاتيح التوقيع الموثوقة. إذا تم تحديد اسم ملف للمعامل PolicySignerCertificateFile، فيمكن تكوين موفر التصديق فقط مع النُهج بتنسيق JWT الموقَّع. يمكن تكوين نهج آخر في صيغة نصية أو بتنسيق JWT غير موقع.

New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location -PolicySignersCertificateFile "C:\test\policySignersCertificates.pem"

بالنسبة إلى نموذج PolicySignersCertificateFile، راجع أمثلة لشهادة موقع النهج.

Get- يسترد AzAttestation خصائص موفر التصديق مثل status و AttestURI. قم بتدوين ملاحظة عن AttestURI، حيث ستكون هناك حاجة إليها لاحقاً.

Get-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup  

يجب أن ينتج الأمر أعلاه الإخراج بهذا التنسيق:

Id:/subscriptions/MySubscriptionID/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider
Location: MyLocation
ResourceGroupName: MyResourceGroup
Name: MyAttestationProvider
Status: Ready
TrustModel: AAD
AttestUri: https://MyAttestationProvider.us.attest.azure.net 
Tags: 
TagsTable: 

يمكن حذف موفري المصادقة باستخدام الأمر Remove- AzAttestation cmdlet.

Remove-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

إدارة السياسات

لإدارة النهج، يتطلب مستخدم Microsoft Entra الأذونات التالية ل "الإجراءات":

  • Microsoft.Attestation/attestationProviders/attestation/read
  • Microsoft.Attestation/attestationProviders/attestation/write
  • Microsoft.Attestation/attestationProviders/attestation/delete

لتنفيذ هذه الإجراءات، يجب أن يكون لمستخدم Microsoft Entra دور Attestation Contributor على موفر التصديق. يمكن أيضا توريث هذه الأذونات بأدوار مثل المالك (أذونات أحرف البدل) / المساهم (أذونات أحرف البدل) في مجموعة الاشتراك/ الموارد.

لقراءة النهج، يتطلب مستخدم Microsoft Entra الإذن التالي ل "الإجراءات":

  • Microsoft.Attestation/attestationProviders/attestation/read

لتنفيذ هذا الإجراء، يجب أن يكون لمستخدم Microsoft Entra دور قارئ التصديق على موفر التصديق. يمكن أيضا توريث أذونات القراءة بأدوار مثل Reader (أذونات أحرف البدل) في مجموعة الاشتراك/ الموارد.

توفر أوامر PowerShell cmdlets هذه إدارة النهج لموفر التصديق (TEE واحد في كل مرة).

Get- إرجاع AzAttestationPolicy النهج الحالية لـ TEE المحدد. يعرض الأمر cmdlet النهج في كل من تنسيق النص وJWT للنهج.

$teeType = "<tee Type>"
Get-AzAttestationPolicy   -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType 

أنواع TEE المدعومة هي " SgxEnclave " و " OpenEnclave " و " VbsEnclave".

يحدد Set- AttestationPolicy نهجاً جديداً لـ TEE المحدد. يقبل الأمر cmdlet النهج إما بتنسيق نصي وإما بتنسيق JWT ويتم التحكم فيه بواسطة معلمة PolicyFormat. "Text "هي القيمة الافتراضية لـ PolicyFormat.

$policyFormat = "<policy format>"
$policy=Get-Content -path "C:\test\policy.txt" -Raw
Set-AzAttestationPolicy   -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType -Policy $policy -PolicyFormat $policyFormat 

إذا تم توفير PolicySignerCertificateFile أثناء إنشاء موفر شهادة، فيمكن تكوين النُهج فقط بتنسيق JWT الموقع. يمكن تكوين نهج آخر في صيغة نصية أو بتنسيق JWT غير موقع.

يجب أن تحتوي نهج التصديق بتنسيق JWT على مطالبة باسم " AttestationPolicy". بالنسبة للنهج الموقعة، يجب توقيع JWT بمفتاح خاص يتوافق مع أي من شهادات الموقّع على النهج الحالية.

للحصول على نماذج النهج، راجع أمثلة على نهج التصديق.

إعادة تعيين - AzAttestationPolicy يعيد تعيين النهج إلى الافتراضي لـ TEE المحدد.

Reset-AzAttestationPolicy -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType 

إدارة شهادات الموقّع على النهج

توفر أوامر PowerShell cmdlets هذه إدارة شهادات الموقع على النهج لموفر التصديق:

Get-AzAttestationPolicySigners -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

Add-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>

Remove-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>

شهادة الموقّع على النهج عبارة عن شهادة JWT موقعة تحمل اسم "شهادة نهج maa". قيمة المطالبة هي JWK، والتي تحتوي على مفتاح التوقيع الموثوق به لإضافته. يجب توقيع JWT بمفتاح خاص يتوافق مع أي من شهادات الموقّع على النهج الحالية.

يجب إجراء جميع المعالجة الدلالية لشهادة الموقع على النهج خارج PowerShell. بقدر ما يتعلق الأمر بوويرشيل، فهي سلسلة بسيطة.

للحصول على نموذج شهادة الموقّع على النهج، راجع أمثلة لشهادة الموقّع على النهج.

لمزيد من المعلومات حول أوامر cmdlets ومعلماتها، راجع أوامر cmdlets لـ Azure Attestation PowerShell

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