Azure Doğrulama kullanarak Always Encrypted için kanıtlamayı yapılandırma
Şunlar için geçerlidir: Azure SQL Veritabanı
Microsoft Azure Doğrulama, Intel Software Guard Uzantıları (Intel SGX) kuşatmalarını da içeren Güvenilen Yürütme Ortamlarını (TEE) kanıtlamaya yönelik bir çözümdür.
Azure SQL Veritabanı'da güvenli kuşatmalarla Always Encrypted için kullanılan Intel SGX kuşatmalarını kanıtlamaya yönelik Azure Doğrulama kullanmak için şunları yapmanız gerekir:
Bir kanıtlama sağlayıcısı oluşturun ve bunu önerilen kanıtlama ilkesiyle yapılandırın.
Kanıtlama URL'sini belirleyin ve uygulama yöneticileriyle paylaşın.
Önemli
Azure SQL Veritabanı Intel SGX kuşatmalarında kanıtlama zorunludur ve Microsoft Azure Doğrulama gerektirir. Azure SQL Veritabanı'daki VBS kuşatmaları kanıtlamayı desteklemez. Bu makale yalnızca Intel SGX kuşatmalarında geçerlidir.
Not
Kanıtlamayı yapılandırma, kanıtlama yöneticisinin sorumluluğundadır. Bkz . Intel SGX kuşatmalarını ve kanıtlamayı yapılandırırken roller ve sorumluluklar.
Kanıtlama sağlayıcısı oluşturma ve yapılandırma
Kanıtlama sağlayıcısı, kanıtlama ilkelerine karşı kanıtlama isteklerini değerlendiren ve kanıtlama belirteçleri veren Azure Doğrulama bir kaynaktır.
Kanıtlama ilkeleri, talep kuralı dil bilgisi kullanılarak belirtilir.
Önemli
Intel SGX kuşatmalar için varsayılan ilkeyle bir kanıtlama sağlayıcısı oluşturulur ve bu ilke, kapanım içinde çalışan kodu doğrulamaz. Microsoft, aşağıdaki çıkışta kullanılan önerilen ilkeyi ayarlamanızı ve güvenli kuşatmalarla Always Encrypted için varsayılan ilkeyi kullanmamanızı kesinlikle önerir.
Microsoft, Azure SQL Veritabanı'de Always Encrypted için kullanılan Intel SGX kuşatmalarını kanıtlamaya yönelik aşağıdaki ilkeyi önerir:
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();
};
İlke aşağıdakileri doğrular:
Azure SQL Veritabanı içindeki kapanım hata ayıklamayı desteklemez.
Kuşatmalar, hata ayıklama devre dışı bırakılmış veya etkin olarak yüklenebilir. Hata ayıklama desteği, geliştiricilerin bir kapanımda çalışan kodun sorunlarını gidermesine olanak tanıyacak şekilde tasarlanmıştır. Bir üretim sisteminde hata ayıklama, yöneticinin kapanım içeriğini incelemesine olanak tanıyarak kapanım tarafından sunulan koruma düzeyini azaltabilir. Önerilen ilke, kötü amaçlı bir yönetici kapanım makinesini devralarak hata ayıklama desteğini açmaya çalışırsa kanıtlamanın başarısız olmasını sağlamak için hata ayıklamayı devre dışı bırakır.
Kapanım ürün kimliği, güvenli kuşatmalarla Always Encrypted'a atanan ürün kimliğiyle eşleşir.
Her kapanım, kapanı diğer kuşatmalardan ayıran benzersiz bir ürün kimliğine sahiptir. Always Encrypted kapanıma atanan ürün kimliği 4639'dur.
Kitaplığın güvenlik sürüm numarası (SVN) 2'den büyük veya buna eşittir.
SVN, Microsoft'un kapanım kodunda tanımlanan olası güvenlik hatalarına yanıt vermesini sağlar. Bir güvenlik sorununun bulunması ve düzeltilmiş olması durumunda, Microsoft yeni bir (artımlı) SVN ile kapanım sürümünü dağıtır. Önerilen ilke, yeni SVN'yi yansıtacak şekilde güncelleştirilir. İlkenizi önerilen ilkeyle eşleşecek şekilde güncelleştirerek, kötü amaçlı bir yönetici eski ve güvenli olmayan bir kapanım yüklemeye çalışırsa kanıtlamanın başarısız olmasını sağlayabilirsiniz.
Kapanımdaki kitaplık Microsoft imzalama anahtarı kullanılarak imzalanmıştır (x-ms-sgx-mrsigner talebi, imzalama anahtarının karmasıdır).
Kanıtlamanın ana hedeflerinden biri, istemcileri kapanımda çalışan ikilinin çalışması gereken ikili dosya olduğuna ikna etmektir. Kanıtlama ilkeleri bu amaçla iki mekanizma sağlar. Biri, bir kapanımda çalışması gereken ikilinin karması olan mrenclave talebidir. mrenclave ile ilgili sorun, ikili karmanın kodda yapılan önemsiz değişikliklerle bile değişmesi ve bu da kapanımda çalıştırılan kodun iptalini zorlaştırmasıdır. Bu nedenle, kapanım ikili dosyasını imzalamak için kullanılan bir anahtarın karması olan mrsigner'ın kullanılmasını öneririz. Microsoft kapanıma iptal ettiğinde, imzalama anahtarı değişmediği sürece mrsigner aynı kalır. Bu şekilde müşterilerin uygulamalarını bozmadan güncelleştirilmiş ikili dosyaları dağıtmak mümkün hale gelir.
Önemli
Microsoft'un Always Encrypted kapanım ikili dosyasını imzalamak için kullanılan anahtarı döndürmesi gerekebilir. Bu, nadir bir olay olması beklenir. Yeni bir anahtarla imzalanan kapanım ikili dosyasının yeni bir sürümü Azure SQL Veritabanı dağıtılmadan önce, bu makale yeni bir önerilen kanıtlama ilkesi ve uygulamalarınızın kesintisiz çalışmaya devam etmesini sağlamak için kanıtlama sağlayıcılarınızda ilkeyi nasıl güncelleştirmeniz gerektiğine ilişkin yönergeler sağlayacak şekilde güncelleştirilecektir.
Aşağıdakileri kullanarak bir kanıtlama sağlayıcısı oluşturma ve kanıtlama ilkesiyle yapılandırma yönergeleri için:
- Hızlı Başlangıç: Azure portalıyla Azure Doğrulama ayarlama
Önemli
Kanıtlama ilkenizi Azure portalıyla yapılandırırken Kanıtlama Türü'nü olarak
SGX-IntelSDK
ayarlayın. - Hızlı Başlangıç: Azure PowerShell ile Azure Doğrulama ayarlama
Önemli
Kanıtlama ilkenizi Azure PowerShell ile yapılandırırken parametresini
Tee
olarakSgxEnclave
ayarlayın. - Hızlı Başlangıç: Azure CLI ile Azure Doğrulama ayarlama
Önemli
Kanıtlama ilkenizi Azure CLI ile yapılandırırken parametresini
attestation-type
olarakSGX-IntelSDK
ayarlayın.
Kanıtlama ilkeniz için kanıtlama URL'sini belirleme
Bir kanıtlama ilkesi yapılandırdıktan sonra kanıtlama URL'sini Azure SQL Veritabanı'de güvenli kuşatmalarla Always Encrypted kullanan uygulamaların yöneticileriyle paylaşmanız gerekir. Kanıtlama URL'si, kanıtlama ilkesini içeren kanıtlama sağlayıcısının adıdır Attest URI
ve şuna benzer: https://MyAttestationProvider.wus.attest.azure.net
.
Kanıtlama URL'sini belirlemek için Azure portalını kullanma
Kanıtlama sağlayıcınızın Genel Bakış bölmesinde özelliğin Attest URI
değerini panoya kopyalayın.
Kanıtlama URL'sini belirlemek için PowerShell kullanma
Get-AzAttestation
Kanıtlama sağlayıcısı özelliklerini (AttestURI dahil) almak için cmdlet'ini kullanın.
Get-AzAttestation -Name $attestationProviderName -ResourceGroupName $attestationResourceGroupName
Daha fazla bilgi için bkz . Kanıtlama sağlayıcısı oluşturma ve yönetme.
Sonraki adımlar
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin