Mulai Cepat: Menyiapkan Azure Attestation dengan Azure PowerShell

Ikuti langkah-langkah di bawah ini untuk membuat dan mengonfigurasi penyedia pengesahan menggunakan Azure PowerShell. Lihat Gambaran Umum Azure PowerShell untuk informasi tentang cara memasang dan menjalankan Azure PowerShell.

Catatan

Modul Az.Attestation PowerShell sekarang diintegrasikan ke dalam modul Az PowerShell. Versi minimum modul Az yang diperlukan untuk mendukung operasi pengesahan:

  • Modul Az PowerShell 6.5.0

PowerShell Gallery memiliki Transport Layer Security (TLS) versi 1.0 dan 1.1 yang sudah tidak digunakan lagi. Sebaiknya gunakan TLS 1.2 atau versi yang lebih baru. Anda mungkin menerima pesan kesalahan berikut:

  • PERINGATAN: Tidak dapat menyelesaikan sumber paket 'https://www.powershellgallery.com/api/v2'
  • PackageManagement\Install-Package: Tidak ada kecocokan yang ditemukan untuk kriteria pencarian dan nama modul yang ditentukan

Untuk terus berinteraksi dengan PowerShell Gallery, jalankan perintah berikut sebelum perintah Modul-Pemasangan

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

Masuk ke Azure

Masuk ke Azure di konsol PowerShell (tanpa izin yang ditingkatkan).

Connect-AzAccount

Jika diperlukan, beralihlah ke langganan yang akan digunakan untuk Azure Attestation.

Set-AzContext -Subscription <subscription id>  

Daftarkan penyedia sumber daya Microsoft.Attestation

Daftarkan penyedia sumber daya Microsoft.Attestation dalam langganan. Untuk informasi selengkapnya tentang penyedia sumber daya Azure dan cara mengonfigurasi dan mengelolanya, lihat Penyedia dan jenis sumber daya Azure. Mendaftarkan penyedia sumber daya hanya diperlukan sekali untuk langganan.

Register-AzResourceProvider -ProviderNamespace Microsoft.Attestation

Ketersediaan wilayah Azure Attestation

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

Membuat Grup Sumber Daya Azure

Buat grup sumber daya untuk penyedia pengesahan. Sumber daya Azure lainnya (termasuk komputer virtual dengan instans aplikasi klien) dapat dimasukkan ke dalam grup sumber daya yang sama.

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

Catatan

Setelah penyedia pengesahan dibuat dalam grup sumber daya ini, pengguna Microsoft Entra harus memiliki peran Kontributor Pengesahan pada penyedia untuk melakukan operasi seperti konfigurasi kebijakan/manajemen sertifikat penanda tangan kebijakan. Izin ini juga dapat diwariskan dengan peran seperti Pemilik (izin kartubebas)/ Kontributor (izin kartubebas) pada grup langganan/sumber daya.

Membuat dan mengelola penyedia pengesahan

New-AzAttestation membuat penyedia pengesahan.

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

PolicySignerCertificateFile adalah file yang menentukan sekumpulan kunci penandatanganan tepercaya. Jika nama file ditentukan untuk parameter PolicySignerCertificateFile, penyedia pengesahan hanya dapat dikonfigurasi dengan kebijakan dalam format JWT yang ditandatangani. Kebijakan lain dapat dikonfigurasi dalam teks atau format JWT yang tidak ditandatangani.

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

Untuk sampel PolicySignersCertificateFile, lihat contoh sertifikat penanda tangan kebijakan.

Get-AzAttestation mengambil properti penyedia pengesahan seperti status dan AttestURI. Catat AttestURI, karena akan dibutuhkan nanti.

Get-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup  

Perintah di atas harus menghasilkan output dalam format ini:

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: 

Penyedia pengesahan dapat dihapus menggunakan cmdlet Remove-AzAttestation.

Remove-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

Manajemen kebijakan

Untuk mengelola kebijakan, pengguna Microsoft Entra memerlukan izin berikut untuk "Tindakan":

  • Microsoft.Attestation/attestationProviders/attestation/read
  • Microsoft.Attestation/attestationProviders/pengesahan/tulis
  • Microsoft.Attestation/attestationProviders/pengesahan/hapus

Untuk melakukan tindakan ini, pengguna Microsoft Entra harus memiliki peran Kontributor Pengesahan pada penyedia pengesahan. Izin ini juga dapat diwariskan dengan peran seperti Pemilik (izin kartubebas)/ Kontributor (izin kartubebas) pada grup langganan/sumber daya.

Untuk membaca kebijakan, pengguna Microsoft Entra memerlukan izin berikut untuk "Tindakan":

  • Microsoft.Attestation/attestationProviders/attestation/read

Untuk melakukan tindakan ini, pengguna Microsoft Entra harus memiliki peran Pembaca Pengesahan pada penyedia pengesahan. Izin baca juga dapat diwariskan dengan peran seperti Pembaca (izin kartubebas) pada grup langganan/sumber daya.

Cmdlet PowerShell ini menyediakan manajemen kebijakan untuk penyedia pengesahan (satu TEE pada satu waktu).

Get-AzAttestationPolicy mengembalikan kebijakan saat ini untuk Trusted Execution Environment yang ditentukan. Cmdlet menampilkan kebijakan baik dalam format JWT dan teks dari kebijakan.

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

Jenis Trusted Execution Environment yang didukung adalah "SgxEnclave", "OpenEnclave", dan "VbsEnclave".

Set-AttestationPolicy menetapkan kebijakan baru untuk Trusted Execution Environment yang ditentukan. Cmdlet menerima kebijakan baik dalam format JWT dan teks dan dikendalikan oleh parameter PolicyFormat. "Teks" adalah nilai default untuk 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 

Jika PolicySignerCertificateFile disediakan selama pembuatan penyedia pengesahan, kebijakan hanya dapat dikonfigurasi dalam format JWT yang ditandatangani. Kebijakan lain dapat dikonfigurasi dalam teks atau format JWT yang tidak ditandatangani.

Kebijakan pengesahan dalam format JWT harus berisi klaim bernama "AttestationPolicy". Untuk kebijakan yang ditandatangani, JWT harus ditandatangani dengan kunci privat yang sesuai dengan salah satu sertifikat penanda tangan kebijakan yang ada.

Lihat contoh kebijakan pengesahan untuk mengetahui sampel kebijakan.

Reset-AzAttestationPolicy mengatur ulang kebijakan ke default untuk Trusted Execution Environment yang ditentukan.

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

Manajemen sertifikat penanda tangan kebijakan

Cmdlet PowerShell ini menyediakan manajemen sertifikat penanda tangan kebijakan untuk penyedia pengesahan:

Get-AzAttestationPolicySigners -Name $attestationProvider -ResourceGroupName $attestationResourceGroup

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

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

Sertifikat penanda tangan kebijakan adalah JWT yang ditandatangani dengan klaim bernama "maa-policyCertificate". Nilai klaim adalah JWK, yang berisi kunci penandatanganan tepercaya untuk ditambahkan. JWT harus ditandatangani dengan kunci privat yang sesuai dengan salah satu sertifikat penanda tangan kebijakan yang ada.

Semua manipulasi semantik sertifikat penanda tangan kebijakan harus dilakukan di luar PowerShell. Selama menyangkut PowerShell, itu adalah untai (karakter) sederhana.

Untuk sampel sertifikat penanda tangan kebijakan, lihat contoh sertifikat penanda tangan kebijakan.

Untuk informasi selengkapnya tentang cmdlet dan parameternya, lihat cmdlet Azure Attestation PowerShell

Langkah berikutnya