Aracılığıyla paylaş


DAC paketiyle Always Encrypted kullanarak sütun şifrelemeyi yapılandırma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

DACPAC olarak da bilinen veri katmanı uygulaması (DAC) paketi, tabloların içindeki tablolar ve sütunlar da dahil olmak üzere tüm SQL Server nesnelerini tanımlayan taşınabilir bir SQL Server veritabanı dağıtımı birimidir. Veritabanına bir DACPAC yayımladığınızda (VERITABANıNı DACPAC kullanarak yükselttiğinizde), hedef veritabanının şeması DACPAC'deki şemayla eşleşecek şekilde güncelleştirilir. SQL Server Management Studio, PowerShell veya sqlpackage'dakiVeri Katmanı Uygulama Yükseltme Sihirbazı'nı kullanarak bir DACPAC yayımlayabilirsiniz.

Bu makalede, DACPAC veya/ve hedef veritabanı Always Encrypted ile korunan sütunlar içerdiğinde veritabanını yükseltmeye yönelik özel noktalar ele alınmaktadır. DACPAC'deki bir sütunun şifreleme düzeni hedef veritabanındaki mevcut bir sütunun şifreleme düzeninden farklıysa, DACPAC'nin yayımlanması sütunda depolanan verilerin şifrelenmesine, şifresinin çözülmesine veya yeniden şifrelenmesine neden olur. Ayrıntılar için aşağıdaki tabloya bakın.

Condition Eylem
DACPAC'teki sütun şifrelenmiş, ancak veritabanında şifrelenmemiş. Sütundaki veriler şifrelenir.
Sütun, DACPAC dosyasında şifrelenmemiştir ve veritabanında şifrelenmiştir. Sütundaki verilerin şifresi çözülür (sütun için şifreleme kaldırılır).
Sütun hem DACPAC'de hem de veritabanında şifrelenir, ancak DACPAC'deki sütun veritabanındaki ilgili sütundan farklı bir şifreleme türü veya/ve farklı bir sütun şifreleme anahtarı kullanır. Sütundaki verilerin şifresi çözülür ve ardından DACPAC'deki şifreleme yapılandırmasıyla eşleşecek şekilde yeniden şifrelenir.

DAC paketinin dağıtılması, always encrypted için sütun ana anahtarları veya sütun şifreleme anahtarları için meta veri nesnelerinin oluşturulmasına veya kaldırılmasına da neden olabilir.

Performansla ilgili dikkat edilmesi gerekenler

Şifreleme işlemlerini gerçekleştirmek için, DACPAC dağıtmak için kullandığınız bir aracın verileri veritabanından taşıması gerekir. Araç, veritabanında istenen şifreleme yapılandırmasına sahip yeni bir tablo (veya tablolar) oluşturur, özgün tablolardaki tüm verileri yükler, istenen şifreleme işlemlerini gerçekleştirir, verileri yeni tablolara yükler ve özgün tabloları yeni tablolarla değiştirir. Şifreleme işlemlerinin çalıştırılması uzun sürebilir. Bu süre boyunca veritabanınız işlemleri yazmak için kullanılamaz.

Uyarı

SQL Server 2019 (15.x) kullanıyorsanız ve SQL Server örneğiniz güvenli bir kapanımla yapılandırılmışsa, verileri veritabanından dışarı taşımadan şifreleme işlemlerini yerinde çalıştırabilirsiniz. See Always Encrypted ile güvenli bölgeler kullanarak sütun şifrelemeyi yerinde yapılandırma. YERINDE şifrelemenin DACPAC dağıtımlarında kullanılamadığını unutmayın.

Always Encrypted ayarlandıysa DAC paketi yayımlama izinleri

DACPAC'de veya/ve hedef veritabanında Always Encrypted ayarlandıysa DAC paketini yayımlamak için, DACPAC'deki şema ile hedef veritabanı şeması arasındaki farklara bağlı olarak aşağıdaki izinlerin bir kısmına veya tümüne ihtiyacınız olabilir.

HERHANGI BIR SÜTUN ANA ANAHTARıNı DEĞIŞTIRME, HERHANGI BIR SÜTUN ŞIFRELEME ANAHTARıNı DEĞIŞTIRME, HERHANGI BIR SÜTUN ANA ANAHTAR TANıMıNı GÖRÜNTÜLEME, HERHANGI BIR SÜTUN ŞIFRELEME ANAHTARı TANıMıNı GÖRÜNTÜLEME

Yükseltme işlemi bir veri şifreleme işlemi tetikliyorsa, sütun ana anahtarınıza erişmek ve bunları kullanmak için anahtar deposu izinlerine de ihtiyacınız vardır. Anahtar deposu izinleri hakkında ayrıntılı bilgi için Always Encrypted için sütun anahtarları oluşturma ve depolama bölümünü inceleyin ve anahtar deponuzla ilgili bir bölümü bulun.

Sonraki Adımlar

Ayrıca Bkz.