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