Aracılığıyla paylaş


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:

  1. Bir kanıtlama sağlayıcısı oluşturun ve bunu önerilen kanıtlama ilkesiyle yapılandırın.

  2. 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:

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.