İngilizce dilinde oku

Aracılığıyla paylaş


Always Encrypted ile güvenli gizli bölümler

Şunlar için geçerlidir: SQL Server 2019 (15.x) ve üzeri - Yalnızca Windows Azure SQL Veritabanı

Güvenli kuşatmalarla Always Encrypted, yerinde şifrelemeyi ve daha zengin gizli sorguları etkinleştirerek Always Encrypted gizli bilgi işlem özelliklerini genişletir. Güvenli kuşatmalarla Always Encrypted, SQL Server 2019 (15.x) ve sonraki sürümlerde ve Azure SQL Veritabanı'nda kullanılabilir.

2015'te ve SQL Server 2016'da (13.x) Azure SQL Veritabanı'nda kullanıma sunulan Always Encrypted, hassas verilerin gizliliğini kötü amaçlı yazılımlardan ve yüksek ayrıcalıklı yetkisiz kullanıcılarına karşı korur: Veritabanı Yöneticileri (DTA), bilgisayar yöneticileri, bulut yöneticileri veya sunucu örneklerine, donanımlara yasal erişimi olan ancak gerçek verilerin bir kısmına veya tümüne erişimi olmaması gereken diğer kişiler.

Bu makalede açıklanan geliştirmeler olmadan, Always Encrypted, verileri istemci tarafında şifreleyerek korur ve hiçbir zaman verilerin veya ilgili şifreleme anahtarlarının Veritabanı Altyapısı içinde düz metin olarak görünmesine izin vermez. Sonuç olarak, veritabanının içindeki şifrelenmiş sütunlardaki işlevsellik ciddi ölçüde kısıtlanır. Veritabanı Altyapısı'nın şifrelenmiş verilerde gerçekleştirebileceği tek işlemler eşitlik karşılaştırmalarıdır (yalnızca belirleyici şifrelemeile kullanılabilir). Şifreleme işlemleri (ilk veri şifreleme veya anahtar döndürme) ve daha zengin sorgular (örneğin, desen eşleştirme) dahil olmak üzere diğer tüm işlemler veritabanında desteklenmez. Kullanıcıların bu işlemleri istemci tarafında gerçekleştirmek için verilerini veritabanının dışına taşıması gerekir.

Always Encrypted , sunucu tarafındaki güvenli bir alan içinde düz metin verilerinde bazı hesaplamaların yapılmasına izin vererek bu sınırlamaları giderir. Güvenli yalıtılmış alan, Veritabanı Motoru işlemi içindeki korumalı bir bellek bölgesidir. Güvenli alan, Veritabanı Altyapısı'nın geri kalanına ve barındırma makinesindeki diğer işlemlere opake bir kutu olarak görünür. Bir hata ayıklayıcıyla bile dışarıdan güvenli bölge içindeki verileri veya kodları görüntülemenin hiçbir yolu yoktur. Bu özellikler güvenli güvenilir yürütme ortamı, veri gizliliğinden ödün vermeden şifreleme anahtarlara ve hassas verilere düz metin olarak güvenli bir şekilde erişebilir.

Always Encrypted, aşağıdaki diyagramda gösterildiği gibi güvenli kuşatmalar kullanır:

Always Encrypted için Veri akışının diyagramı.

Bir uygulama tarafından gönderilen bir Transact-SQL deyimi ayrıştırıldığında, Veritabanı Altyapısı deyiminin güvenli kapanım kullanımını gerektiren şifrelenmiş veriler üzerinde herhangi bir işlem içerip içermediğini belirler. Bu tür ifadeler için:

  • İstemci sürücüsü, işlemler için gereken sütun şifreleme anahtarlarını güvenli kapsüle (güvenli bir kanal üzerinden) gönderir ve ardından sorguyu yürütme için gönderir.

  • Deyimi işlerken, Veritabanı Altyapısı şifreli sütunlardaki şifreleme işlemlerini veya hesaplamaları güvenli kapanıma devreder. Gerekirse, güvenli bölge verilerin şifresini çözer ve düz metin üzerinde hesaplamalar gerçekleştirir.

İfade işleme sırasında, hem veriler hem de sütun şifreleme anahtarları, güvenli özel alan dışında Veritabanı Motoru'nda düz metin olarak açığa çıkarılmaz.

Desteklenen istemci sürücüleri

Always Encrypted'ı güvenli kuşatmalarla kullanmak için uygulamanın özelliği destekleyen bir istemci sürücüsü kullanması gerekir. Uygulamayı ve istemci sürücüsünü, kapanım hesaplamalarını ve kapanım kanıtlamasını etkinleştirecek şekilde yapılandırın (aşağıdaki Güvenli kapanım kanıtlama bölümüne bakın). Desteklenen istemci sürücülerinin listesi de dahil olmak üzere ayrıntılar için bkz. Always Encrypted kullanarak uygulama geliştirme.

Desteklenen güvenli ortam teknolojileri

Always Encrypted aşağıdaki kapanım teknolojilerini (veya kapanım türlerini) destekler:

Veritabanınız için kullanılabilen kapanım türü, veritabanını barındıran SQL ürününe (Azure SQL Veritabanı vs. SQL Server) ve (Azure SQL Veritabanı söz konusu olduğunda) veritabanınızın yapılandırmasına bağlıdır.

  • SQL Server 2019 (15.x) ve sonraki sürümlerinde Always Encrypted, VBS kuşatmalarını destekler. (Intel SGX kuşatmaları desteklenmez.)

  • Azure SQL Veritabanı'nda veritabanı, veritabanının çalışmak üzere yapılandırıldığı donanıma bağlı olarak Intel SGX kapanımını veya VBS kapanımını kullanabilir:

    • DC-serisi donanım yapılandırmasını kullanan veritabanları (sanal çekirdek satın alma modeliile mevcut) Intel SGX gizli bölgelerini kullanır.
    • vCore satın alma modeliyle DC serisi dışında bir yapılandırma kullanan veritabanları ve DTU satın alma modeli kullanan veritabanları, VBS enklavlarını kullanacak şekilde yapılandırılabilir.

    Not

    VBS bölgeleri şu anda tüm Azure SQL Veritabanı bölgelerinde,: Jio India Central hariç, kullanılabilir.

Her kapanım türünün sağladığı düzey koruması hakkında önemli bilgiler için Güvenlik konuları bölümüne bakın.

Güvenli yalıtım kanıtlama

Enklav doğrulaması, kötü amaçlı yöneticiler tarafından enklav kodu veya ortamıyla oynanan saldırıların tespit edilmesine yardımcı olan derinlemesine bir savunma mekanizmasıdır.

Hizmet bölgesi kanıtlama, istemci uygulamasının, bağlı olduğu veritabanı için güvenli alanda güven oluşturmasına ve ardından uygulamanın hassas verileri işlemek üzere bu alanı kullanmasına olanak tanır. Kanıtlama iş akışı, kapanımın gerçek bir VBS veya Intel SGX güvenli bölgesi olduğunu ve içinde çalışan kodun Always Encrypted için Microsoft'un imzaladığı gerçek kapanım kütüphanesi olduğunu doğrular. Kanıtlama sırasında hem uygulama içindeki istemci sürücüsü hem de Veritabanı Altyapısı, istemci tarafından belirtilen uç noktayı kullanarak bir dış kanıtlama hizmetiyle iletişim kurar.

Always Encrypted iki kanıtlama hizmetlerinden birini kullanabilir:

Uygulamanızın güvenli kuşatmalarıyla Always Encrypted'ı etkinleştirmek için, uygulamanızdaki istemci sürücüsünün yapılandırmasında bir kanıtlama protokolü ayarlamanız gerekir. Kanıtlama protokolü değeri, 1) istemci uygulamasının kanıtlama kullanıp kullanmayacağını belirler ve kullanıyorsa 2) kullanacağı kanıtlama hizmetinin türünü belirtir. Geçerli SQL ürünü ve kapsama alanı türü bileşimleri için desteklenen kanıtlama protokolleri aşağıdaki tabloda belirtilmiştir.

Barındırma ürünü Enklav türü Desteklenen kanıtlama protokolleri
SQL Server 2019 (15.x) ve üzeri VBS kuşatmaları HGS, Kanıtlama yok
Azure SQL Veritabanı SGX güvenli bölgeleri (DC serisi veritabanları) Microsoft Azure Kanıtlama
Azure SQL Veritabanı VBS enklavları Kanıtlama yok

Dikkat edilmesi gereken birkaç önemli nokta:

  • SQL Server 2019 (15.x) ve sonraki sürümlerde VBS kuşatmalarını kanıtlama HGS gerektirir. VBS korumalarını kanıtlama olmadan da kullanabilirsiniz (en son istemci sürücülerinin yüklü olması gereklidir).
  • Azure SQL Veritabanı'ndaki Intel SGX enklavlarında (DC serisi veritabanlarında) doğrulama zorunludur ve Microsoft Azure Doğrulama gerektirir.
  • Azure SQL Veritabanı'ndaki VBS kuşatmaları kanıtlamayı desteklemez.

Daha fazla bilgi için bkz:

Terminoloji

Kapanım özellikli anahtarlar

Güvenli bölgelerle Always Encrypted, bölge destekli anahtarlar kavramını tanıtır.

  • Enclave özellikli sütun ana anahtarı - veritabanının içindeki sütun master anahtar meta veri nesnesinde belirtilen ENCLAVE_COMPUTATIONS özelliğine sahip bir sütun master anahtarı. Sütun master anahtar meta veri nesnesi de meta veri özelliklerinin geçerli bir imzasını içermelidir. Daha fazla bilgi için bkz. CREATE COLUMN MASTER KEY (Transact-SQL)
  • Enclave-özellikli sütun şifreleme anahtarı - enclave-özellikli sütun master anahtarıyla şifrelenmiş bir sütun şifreleme anahtarı. Güvenli kapanım içindeki hesaplamalar için yalnızca kapanım özellikli sütun şifreleme anahtarları kullanılabilir.

Daha fazla bilgi için bkz. Always Encrypted anahtarlarını güvenli bölgelerle yönetme.

Kapanım özellikli sütunlar

Güvenlik alanı özellikli sütun, güvenlik alanı özellikli sütun şifreleme anahtarıyla şifrelenmiş bir veritabanı sütunudur.

Enklav özellikli sütunlar için gizli bilgi işlem kapasitesi

Güvenli kuşatmalarla Always Encrypted'ın iki temel avantajı yerinde şifreleme ve zengin gizli sorgulardır.

Yerinde şifreleme

Yerinde şifreleme, verileri veritabanının dışına taşımadan güvenli kapanım içindeki veritabanı sütunlarında şifreleme işlemlerine olanak tanır. Yerinde şifreleme, şifreleme işlemlerinin performansını ve güvenilirliğini artırır. ALTER TABLE (Transact-SQL) deyimini kullanarak yerinde şifreleme gerçekleştirebilirsiniz.

Yerinde desteklenen şifreleme işlemleri şunlardır:

  • Düz metin sütununu kapanım özellikli bir sütun şifreleme anahtarıyla şifreleme.
  • Şifrelenmiş bir kapanım özellikli sütunu şu şekilde yeniden şifreleme:
    • Sütun şifreleme anahtarını döndürme - sütunu yeni bir kapanım özellikli sütun şifreleme anahtarıyla yeniden şifreleyin.
    • Kapanım özellikli bir sütunun şifreleme türünü (örneğin, belirleyiciden rastgeleye) değiştirin.
  • Enklav destekli bir sütunda depolanan verilerin şifresinin çözülmesi (sütunu düz metin sütununa çevirme).

Şifreleme işlemine dahil olan sütun şifreleme anahtarları enklav özellikli olduğu sürece hem belirleyici hem de rastgele şifreleme ile yerleşik şifrelemeye izin verilir.

Gizli sorgular

Not

SQL Server 2022 (16.x), şifrelenmiş sütunlarda JOIN, GROUP BY ve ORDER BY işlemleriyle gizli sorgular için ek destek ekler.

Gizli sorgular, güvenli kapanım içinde gerçekleştirilen kapanım özellikli sütunlardaki işlemleri içeren DML sorgularıdır.

Güvenli kuşatmalar içinde desteklenen işlemler şunlardır:

Operasyon Azure SQL Veritabanı SQL Server 2022 (16.x) SQL Server 2019 (15.x)
Karşılaştırma İşleçleri Destekli Destekleniyor Destekli
BETWEEN (Transact-SQL) Destekli Destekli Destekli
IN (Transact-SQL) Destekli Destekleniyor Destekli
LIKE (Transact-SQL) Destekli Destekli Destekli
DISTINCT Destekli Destekleniyor Destekli
,'e Katılıyor Destekleniyor Destekli Yalnızca iç içe döngü birleşimleri desteklenir
SELECT - ORDER BY Sözdizimi (Transact-SQL) Destekli Destekleniyor Desteklenmiyor
SELECT - GROUP BY - Transact-SQL Destekli Destekli Desteklenmiyor

Not

Güvenli kuşatmalar içindeki yukarıdaki işlemler rastgele şifreleme gerektirir. Belirleyici şifreleme desteklenmez. Eşitlik karşılaştırması, belirleyici şifreleme kullanan sütunlar için kullanılabilir durumda kalır.

Veritabanının uyumluluk düzeyi SQL Server 2022 (160) veya üzeri olarak ayarlanmalıdır.

Azure SQL Veritabanı'nda ve SQL Server 2022'de (16.x) bir karakter dizesi sütununda (char, nchar) kuşatmalar kullanan gizli sorgular, sütunun ikili kod noktası (_BIN2) harmanlama veya UTF-8 harmanlamakullanmasını gerektirir. SQL Server 2019'da (15.x), a_BIN2 harmanlama gerekir.

Daha fazla bilgi için bkz. Güvenli ortamlar kullanarak Transact-SQL deyimlerini çalıştırma.

Enklav özellikli sütunlarda dizinler

Güvenli kapanım kullanarak gizli DML sorgularının daha hızlı çalışmasını sağlamak için rastgele şifreleme kullanarak enclave özellikli sütunlarda kümelenmemiş dizinler oluşturabilirsiniz.

Rastgele şifreleme kullanılarak şifrelenmiş bir sütundaki dizinin hassas verileri sızdırmadığından emin olmak için, dizin veri yapısındaki (B ağacı) anahtar değerleri şifrelenir ve düz metin değerlerine göre sıralanır. Düz metin değerine göre sıralamak, kapanım içindeki sorguları işlemek için de yararlıdır. Veritabanı Motoru'ndaki sorgu yürütücüsü, yalıtılmış alandaki hesaplamalar için şifrelenmiş bir sütunda dizin kullandığında, sütunda depolanan belirli değerleri bulmak için dizinde arama yapar. Her arama birden çok karşılaştırma içerebilir. Sorgu yürütücüsü, sütunda depolanan bir değerin ve karşılaştırılacak şifrelenmiş dizin anahtarının şifresini çözmek ve karşılaştırmayı düz metin üzerinde gerçekleştirmek için her karşılaştırmayı güvenli bölgeye devreder ve karşılaştırmanın sonucunu yürütücüye döndürür.

Rastgele şifreleme kullanan ve kapanım etkin olmayan sütunlarda dizin oluşturma işlemi desteklenmez.

Belirleyici şifreleme kullanan bir sütundaki dizin, sütunun kapanım etkin olup olmadığına bakılmaksızın şifre metnine (düz metin değil) göre sıralanır.

Daha fazla bilgi için bkz. Always Encrypted'i güvenli kapsayıcılarla kullanarak sütunlarda dizin oluşturma ve kullanma. Veritabanı Altyapısı'nda dizin oluşturmanın nasıl çalıştığı hakkında genel bilgi için Açıklanan Kümelenmiş ve Kümelenmemiş Dizinlermakalesine bakın.

Veritabanı kurtarma

SQL Server örneği başarısız olursa veritabanları, veri dosyalarının tamamlanmamış işlemlerden bazı değişiklikler içerebileceği bir durumda bırakılabilir. Örnek başlatıldığında, veritabanının bütünlüğünün korunduğundan emin olmak için işlem günlüğünde bulunan tüm eksik işlemlerin geri döndürülmesini içeren veritabanı kurtarmaadlı bir işlem çalıştırır. Tamamlanmamış bir işlem dizinde herhangi bir değişiklik yaptıysa, bu değişikliklerin de geri alınması gerekir. Örneğin, dizindeki bazı anahtar değerlerinin kaldırılması veya yeniden eklenmeleri gerekebilir.

Önemli

Microsoft, veritabanınız için Hızlandırılmış Veritabanı Kurtarma (ADR)'nin etkinleştirilmesini, rastgele şifreleme kullanılarak şifrelenmiş ve kapanım özellikli bir sütunda ilk dizini oluşturmadan önce kesinlikle önerir. ADR, Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği'nde varsayılan olarak etkindir. ADR, SQL Server 2019 (15.x) ve sonraki sürümlerde kullanılabilir ancak varsayılan olarak etkinleştirilmez.

geleneksel veritabanı kurtarma işlemi (ARIES kurtarma modelinden sonra) bir dizinde yapılan değişikliği geri almak için Veritabanı Motoru'nun, uygulamanın sütun şifreleme anahtarını enklava ulaştırmasını beklemesi gerekir, bu da uzun sürebilir. Hızlandırılmış veritabanı kurtarma (ADR), kapsam içindeki bellekte bir sütun şifreleme anahtarı kullanılamadığından ertelenmesi gereken geri alma işlemlerinin sayısını önemli ölçüde azaltır. Sonuç olarak, yeni bir işlemin engellenme olasılığını en aza indirerek veritabanı kullanılabilirliğini önemli ölçüde artırır. ADR etkinken, Veritabanı Altyapısı'nın eski veri sürümlerini temizlemeyi tamamlamak için yine de bir sütun şifreleme anahtarına ihtiyacı olabilir, ancak bunu veritabanının veya kullanıcı işlemlerinin kullanılabilirliğini etkilemeyen bir arka plan görevi olarak yapar. Hata günlüğünde eksik bir sütun şifreleme anahtarı nedeniyle temizleme işlemlerinin başarısız olduğunu belirten hata iletileri görebilirsiniz.

Güvenlikle ilgili dikkat edilmesi gerekenler

Aşağıdaki güvenlik konuları, güvenli kuşatmalarla Always Encrypted için geçerlidir.

  • VBS kuşatmaları, verilerinizin VM içindeki saldırılara karşı korunmasına yardımcı olur. Ancak, ana makineden kaynaklanan ayrıcalıklı sistem hesaplarını kullanan saldırılara karşı herhangi bir koruma sağlamaz. Intel SGX kuşatmaları, verileri hem konuk işletim sisteminden hem de konak işletim sisteminden kaynaklanan saldırılara karşı korur.
  • Ortamınız için kullanılabiliyorsa ve veritabanınızı barındıran makineye işletim sistemi düzeyinde yönetici erişimi olan kullanıcıların saldırılarına karşı verilerinizi koruma konusunda endişeleriniz varsa, kapanım kanıtlamasını kullanmanız önerilir. Kanıtlama kullanıyorsanız, kanıtlama hizmetinin ve yapılandırmasının güvenilir bir yönetici tarafından yönetildiğinden emin olmanız gerekir. Ayrıca, desteklenen her iki kimlik doğrulama hizmeti de farklı politikalar ve doğrulama modları sunmaktadır. Bu modlardan bazıları, güvenli bölge ve ortamın minimum düzeyde doğrulamasını gerçekleştirir ve test ile geliştirme için tasarlanmıştır. Üretim dağıtımlarınız için önerilen yapılandırmaları ve ilkeleri kullandığınızdan emin olmak için kanıtlama hizmetinize özgü yönergeleri yakından izleyin.
  • Bir sütunun, kapanım özellikli bir sütun şifreleme anahtarıyla rastgele şifreleme kullanılarak şifrelenmesi, sütunda depolanan verilerin sırasının sızdırılmasına neden olabilir, örneğin sütunlar aralık karşılaştırmalarını destekler. Örneğin, çalışan maaşlarını içeren şifrelenmiş bir sütunda dizin varsa, kötü amaçlı bir DBA en yüksek şifrelenmiş maaş değerini bulmak ve en yüksek maaşa sahip bir kişiyi tanımlamak için dizini tarar (kişinin adının şifrelenmediği varsayılarak).
  • Hassas verileri DTA'lar tarafından yetkisiz erişime karşı korumak için Always Encrypted kullanıyorsanız, sütun master anahtarlarını veya sütun şifreleme anahtarlarını DTA'larla paylaşmayın. DBA, kapanım içindeki sütun şifreleme anahtarlarının önbelleğini kullanarak anahtarlara doğrudan erişime gerek kalmadan şifrelenmiş sütunlardaki dizinleri yönetebilir.

İş sürekliliği, olağanüstü durum kurtarma ve veri geçişi ile ilgili dikkat edilmesi gerekenler

Always Encrypted'ı güvenli kuşatmalarla kullanarak bir veritabanı için yüksek kullanılabilirlik veya olağanüstü durum kurtarma çözümü yapılandırırken, tüm veritabanı çoğaltmalarının güvenli bir kapanım kullanabileceğine emin olun. Birincil replika için bir kapalı alan mevcutsa ancak ikincil replika için mevcut değilse, Always Encrypted işlevini güvenli kapalı alanlarla kullanmaya çalışan tüm ifadeler, yük devretmeden sonra başarısız olacaktır.

Güvenli kuşatmalarla Always Encrypted kullanarak bir veritabanını kopyaladığınızda veya geçirirken, hedef ortamın her zaman kuşatmalar desteklediğinden emin olun. Aksi takdirde, gizli bölgeler kullanan ifadeler kopyada veya taşınan veritabanında çalışmaz.

Aklınızda bulundurmanız gereken belirli noktalar şunlardır:

  • SQL Server

    • birAlwaysOn kullanılabilirlik grubu yapılandırırken, kullanılabilirlik grubunda veritabanı barındıran her SQL Server örneğinin güvenli kuşatmalarla Always Encrypted'ı desteklediğinden ve bir kapanım ve kanıtlamanın yapılandırıldığından emin olun.
    • Güvenli enklavlarla Always Encrypted işlevini kullanan bir veritabanının yedekleme dosyasından, enklav yapılandırılmamış bir SQL Server örneğinde geri yükleme yapıldığında, geri yükleme işlemi başarılı olur ve enklava bağlı olmayan tüm işlevler kullanılabilir. Ancak, kapanım işlevini kullanan sonraki tüm deyimler başarısız olur ve rastgele şifreleme kullanan kapanım özellikli sütunlardaki dizinler geçersiz hale gelir. Bu durum, kapanım yapılandırılmamış örnekte always encrypted kullanarak güvenli kuşatmalarla veritabanı eklerken de geçerlidir.
    • Veritabanınız rastgele şifreleme kullanan kapanım özellikli sütunlarda dizinler içeriyorsa, veritabanı yedeklemesi oluşturmadan önce veritabanında hızlandırılmış veritabanı kurtarma (ADR) etkinleştirdiğinizden emin olun. ADR, veritabanını geri yükledikten hemen sonra dizinler de dahil olmak üzere veritabanının kullanılabilir olmasını sağlar. Daha fazla bilgi için bkz. Veritabanı Kurtarma.
  • Azure SQL Veritabanı

    • aktif coğrafi çoğaltma yapılandırırken, birincil veritabanı destekliyorsa ikincil veritabanının güvenli bölgeleri desteklediğinden emin olun.

Hem SQL Server'da hem de Azure SQL Veritabanı'nda, veritabanınızı bir bacpac dosyası kullanarak geçirirken, bacpac dosyasını oluşturmadan önce rastgele şifreleme kullanarak gizli alanlar özellikli sütunlar için tüm indeksleri kaldırdığınızdan emin olmanız gerekir.

Bilinen sınırlamalar

Güvenli enclave'lerle Always Encrypted, Gizli bilgi işlem yetenekleri,enclave destekli sütunlar için bölümünde açıklandığı gibi, yerinde şifrelemeyi ve dizinlerle daha gelişmiş gizli sorguları destekleyerek Always Encrypted'ın bazı sınırlamalarını giderir.

Always Encrypted için Sınırlamaları'de listelenen diğer tüm sınırlamalar, güvenli veri bölgeleriyle Always Encrypted için de geçerlidir.

Aşağıdaki sınırlamalar, güvenli kuşatmalarla Always Encrypted'a özgüdür:

  • Kümelenmiş dizinler, rastgele şifreleme kullanılarak kapanım özellikli sütunlarda oluşturulamaz.
  • Enclave kullanan rastgele şifrelemeli sütunlar birincil anahtar sütunları olamaz ve yabancı anahtar veya benzersiz anahtar kısıtlamaları tarafından başvurulamaz.
  • SQL Server 2019'da (15.x) (bu sınırlama Azure SQL Veritabanı veya SQL Server 2022 (16.x) için geçerli değildir) yalnızca iç içe döngü birleşimleri (varsa dizinler kullanılarak) rastgele şifreleme kullanılarak kapanım özellikli sütunlarda desteklenir. Farklı ürünler arasındaki diğer farklar hakkında bilgi için bkz. Gizli sorgular.
  • Yerinde şifreleme işlemleri, aynı kod sayfasında harmanlamayı değiştirme ve boş değer atanabilirlik dışında sütun meta verilerinde yapılan diğer değişikliklerle birleştirilemiyor. Örneğin, bir sütunu şifreleyemez, yeniden şifreleyemez veya şifresini çözemez ve tek bir ALTER TABLE/ALTER COLUMN Transact-SQL deyiminde sütunun veri türünü değiştiremezsiniz. İki ayrı deyim kullanın.
  • Bellek içi tablolardaki sütunlar için kapanım özellikli anahtarların kullanılması desteklenmez.
  • Hesaplanan sütunları tanımlayan ifadeler, rastgele şifreleme kullanarak kapanım özellikli sütunlarda hesaplama gerçekleştiremez (hesaplamalar Gizli sorgular) içinde listelenen desteklenen işlemler arasında olsa bile).
  • Kaçış karakterleri, rastgele şifreleme kullanılarak enklav özellikli sütunlarda LIKE işlecinin parametrelerinde desteklenmez.
  • Aşağıdaki veri türlerinden birini kullanan (şifrelemeden sonra büyük nesnelere dönüşen) LIKE işlecine veya sorgu parametresine sahip bir karşılaştırma işlecine sahip sorgular dizinleri yoksayar ve tablo taramaları gerçekleştirir.
    • n 3967'den büyükse nchar[n] ve nvarchar[n].
    • n 7935'ten büyükse char[n], varchar[n], binary[n], varbinary[n].
  • Araç sınırlamaları:
    • Kapanım özellikli sütun master anahtarları depolamak için desteklenen tek anahtar depoları Windows Sertifika Deposu ve Azure Key Vault'tur.
    • ALTER TABLE / ALTER COLUMNaracılığıyla yerinde bir şifreleme işlemi başlatmak için, SSMS veya Azure Data Studio'da bir sorgu penceresi kullanarak ifadeyi çalıştırmanız veya ifadeyi çalıştıracak kendi programınızı yazmanız gerekir. Şu anda SqlServer PowerShell modülündeki Set-SqlColumnEncryption cmdlet'i ve SQL Server Management Studio'daki Always Encrypted sihirbazı yerinde şifrelemeyi desteklememektedir. İşlemler için kullanılan sütun şifreleme anahtarları kapanım etkin olsa bile şifreleme işlemleri için verileri veritabanından taşıyın.
  • VBS kapanım özellikli bir veritabanını geri yüklerken, VBS kapanım ayarını yeniden yapılandırmak önemlidir.