Mengonfigurasi pengesahan untuk Always Encrypted menggunakan Azure Attestation
Berlaku untuk:Azure SQL Database
Microsoft Azure Attestation adalah solusi untuk membuktikan Trusted Execution Environments (TEEs), termasuk enklave Intel Software Guard Extensions (Intel SGX).
Untuk menggunakan Azure Attestation dalam membuktikan enklave Intel SGX yang digunakan untuk Always Encrypted dengan enklave aman di Azure SQL Database, Anda perlu:
Membuat penyedia pengesahan dan mengonfigurasikannya dengan kebijakan pengesahan yang direkomendasikan.
Tentukan URL pengesahan dan bagikan dengan admin aplikasi.
Penting
Dengan enklave Intel SGX di Azure SQL Database, pengesahan bersifat wajib dan memerlukan Microsoft Azure Attestation. Enklave VBS di Azure SQL Database tidak mendukung pengesahan. Artikel ini hanya berlaku untuk enklave Intel SGX.
Catatan
Mengonfigurasi pengesahan adalah tanggung jawab administrator pengesahan. Lihat Peran dan tanggung jawab saat mengonfigurasi enklave dan pengesahan Intel SGX.
Membuat dan mengonfigurasikan penyedia pengesahan
Penyedia pengesahan adalah sumber daya di Azure Attestation yang mengevaluasi permintaan pengesahan terhadap kebijakan pengesahan dan masalah token pengesahan.
Kebijakan pengesahan ditentukan menggunakan tata bahasa aturan klaim.
Penting
Penyedia pengesahan dibuat dengan kebijakan default untuk enklave Intel SGX, yang tidak memvalidasi kode yang berjalan di dalam enklave. Microsoft sangat menyarankan Anda menetapkan kebijakan yang direkomendasikan yang digunakan dalam output berikut, dan tidak menggunakan kebijakan default untuk Always Encrypted dengan enklave aman.
Microsoft merekomendasikan kebijakan berikut untuk membuktikan enklave Intel SGX yang digunakan untuk Always Encrypted di Azure SQL Database:
version= 1.0;
authorizationrules
{
[ type=="x-ms-sgx-is-debuggable", value==false ]
&& [ type=="x-ms-sgx-product-id", value==4639 ]
&& [ type=="x-ms-sgx-svn", value>= 2 ]
&& [ type=="x-ms-sgx-mrsigner", value=="e31c9e505f37a58de09335075fc8591254313eb20bb1a27e5443cc450b6e33e5"]
=> permit();
};
Kebijakan memverifikasi:
Enklave di dalam Azure SQL Database tidak mendukung penelusuran kesalahan.
Enklave dapat dimuat dengan penelusuran kesalahan yang aktif maupun non-aktif. Dukungan penelusuran kesalahan dirancang untuk memungkinkan pengembang memecahkan masalah kode yang berjalan di enklave. Dalam sistem produksi, penelusuran kesalahan dapat memungkinkan administrator untuk memeriksa konten enklave, yang akan mengurangi tingkat perlindungan yang disediakan enklave. Kebijakan yang direkomendasikan menonaktifkan penelusuran kesalahan untuk memastikan bahwa jika admin mencurigakan yang mencoba mengaktifkan dukungan penelusuran kesalahan dengan mengambil alih mesin enklave, pengesahan akan gagal.
ID produk enklave cocok dengan ID produk yang ditetapkan ke Always Encrypted dengan enklave aman.
Setiap enklave memiliki ID produk unik yang membedakan enklave tersebut dari enklave lain. ID produk yang ditetapkan ke enklave Always Encrypted adalah 4639.
Nomor versi keamanan (SVN) pustaka lebih besar dari atau sama dengan 2.
SVN memungkinkan Microsoft untuk merespons potensi bug keamanan yang diidentifikasi dalam kode enklave. Jika masalah keamanan ditemukan dan diperbaiki, Microsoft akan menyebarkan versi baru enklave dengan SVN baru (bertahap). Kebijakan yang direkomendasikan diperbarui untuk mencerminkan SVN baru. Dengan memperbarui kebijakan Anda agar sesuai dengan kebijakan yang direkomendasikan, Anda dapat memastikan bahwa jika administrator berbahaya mencoba memuat enklave yang lebih lama dan tidak aman, pengesahan akan gagal.
Pustaka di enklave telah ditandatangani menggunakan kunci penandatanganan Microsoft (nilai klaim x-ms-sgx-mrsigner adalah hash kunci penandatanganan).
Salah satu tujuan utama pengesahan adalah untuk meyakinkan klien bahwa biner yang berjalan di enklave adalah biner yang seharusnya berjalan. Kebijakan pengesahan menyediakan dua mekanisme untuk tujuan ini. Salah satunya adalah klaim mrenclave , yang merupakan hash biner yang seharusnya dijalankan dalam enklave. Masalah dengan mrenclave adalah bahwa hash biner berubah bahkan hanya dengan perubahan sepele pada kode, yang membuatnya sulit untuk mengubah kode yang berjalan di enklave. Oleh karena itu, kami merekomendasikan penggunaan mrsigner, yang merupakan hash kunci yang digunakan untuk menandatangani biner enklave. Saat Microsoft merevs enklave, mrsigner tetap sama selama kunci penandatanganan tidak berubah. Dengan cara ini, memungkinkan untuk menyebarkan biner yang diperbarui tanpa merusak aplikasi pelanggan.
Penting
Microsoft mungkin perlu memutar kunci yang digunakan untuk menandatangani biner enklave Always Encrypted, yang diharapkan menjadi peristiwa langka. Sebelum versi baru enklave biner ditandatangani dengan kunci baru, disebarkan ke Azure SQL Database, artikel ini akan diperbarui untuk memberikan kebijakan pengesahan baru yang direkomendasikan dan instruksi tentang bagaimana Anda harus memperbarui kebijakan di penyedia pengesahan Anda untuk memastikan aplikasi terus bekerja tanpa gangguan.
Untuk petunjuk cara membuat penyedia pengesahan dan mengonfigurasi dengan kebijakan pengesahan, gunakan langkah berikut:
- Mulai cepat: Menyiapkan Azure Attestation dengan portal Microsoft Azure
Penting
Saat Anda mengonfigurasi kebijakan pengesahan dengan portal Microsoft Azure, atur Jenis Pengesahan ke
SGX-IntelSDK
. - Mulai cepat: Menyiapkan Azure Attestation dengan Azure PowerShell
Penting
Saat Anda mengonfigurasi kebijakan pengesahan dengan Azure PowerShell, atur parameter
Tee
keSgxEnclave
. - Mulai cepat: Menyiapkan Azure Attestation dengan Azure CLI
Penting
Saat Anda mengonfigurasi kebijakan pengesahan dengan Azure CLI, atur parameter
attestation-type
keSGX-IntelSDK
.
Tentukan URL pengesahan untuk kebijakan pengesahan Anda
Setelah mengonfigurasi kebijakan pengesahan, Anda perlu membagikan URL pengesahan dengan administrator aplikasi yang menggunakan Always Encrypted dengan enklave aman di Azure SQL Database. URL pengesahan adalah Attest URI
dari penyedia pengesahan yang berisi kebijakan pengesahan, yang terlihat seperti ini: https://MyAttestationProvider.wus.attest.azure.net
.
Menggunakan portal Microsoft Azure untuk menentukan URL pengesahan
Di panel Gambaran Umum untuk penyedia pengesahan Anda, salin nilai properti Attest URI
ke clipboard.
Menggunakan PowerShell untuk menentukan URL pengesahan
Gunakan cmdlet Get-AzAttestation
untuk mengambil properti penyedia pengesahan, termasuk AttestURI.
Get-AzAttestation -Name $attestationProviderName -ResourceGroupName $attestationResourceGroupName
Untuk informasi selengkapnya, lihat Membuat dan mengelola penyedia pengesahan.
Langkah berikutnya
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk