Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Toplu kopyalama işlemleri sırasında sunucuda meta veri denetimleri gerçekleştirmeden şifrelenmiş verileri yüklemek için seçeneğiyle ALLOW_ENCRYPTED_VALUE_MODIFICATIONS kullanıcıyı oluşturun. Bu seçenek, Always Encrypted kullanamayan eski araçlar veya üçüncü taraf Extract-Transform-Load (ETL) iş akışları tarafından kullanılmak üzere tasarlanmıştır. Bu, kullanıcının şifrelenmiş sütunlar içeren bir tablo kümesindeki şifrelenmiş verileri şifrelenmiş sütun içeren başka bir tablo kümesine (aynı veya farklı bir veritabanında) güvenli bir şekilde taşımasına olanak tanır.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS seçeneği
Hem CREATE USER hem de ALTER USER seçenekleri ALLOW_ENCRYPTED_VALUE_MODIFICATIONS vardır. olarak ayarlandığında ON (varsayılan değer), OFFbu seçenek sunucuda toplu kopyalama işlemlerinde şifreleme meta verileri denetimlerini gizler ve bu da kullanıcının verilerin şifresini çözmeden şifrelenmiş verileri tablolar veya veritabanları arasında toplu olarak kopyalamasını sağlar.
Veri geçişi senaryoları
Aşağıdaki tabloda, çeşitli geçiş senaryoları için uygun önerilen ayarlar gösterilmektedir.
Şifrelenmiş verileri toplu yükleme
Şifrelenmiş verileri yüklemek için aşağıdaki işlemi kullanın.
Toplu kopyalama işleminin hedefi olan veritabanındaki kullanıcı için seçeneğini
ONolarak ayarlayın. Örneğin:ALTER USER Bob WITH ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = ON;Toplu kopyalama uygulamanızı veya aracınızı bu kullanıcı olarak bağlanarak çalıştırın. (Uygulamanız Always Encrypted özellikli bir istemci sürücüsü kullanıyorsa, şifrelenmiş sütunlardan alınan verilerin şifrelenmiş kaldığından emin olmak için veri kaynağının bağlantı dizesinin içermediğinden
column encryption setting=enabledemin olun. Daha fazla bilgi için bkz . Always Encrypted kullanarak uygulama geliştirme.)ALLOW_ENCRYPTED_VALUE_MODIFICATIONSseçeneğini yenidenOFFolarak ayarlayın. Örneğin:ALTER USER Bob WITH ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = OFF;
Veri bozulması olasılığı
Bu seçeneğin yanlış kullanılması veri bozulmasına neden olabilir. seçeneği ALLOW_ENCRYPTED_VALUE_MODIFICATIONS , kullanıcının veritabanındaki şifrelenmiş sütunlara farklı anahtarlarla şifrelenmiş, yanlış şifrelenmiş veya hiç şifrelenmemiş veriler de dahil olmak üzere tüm verileri eklemesine olanak tanır. Kullanıcı, hedef sütun için ayarlanan şifreleme şemasını (sütun şifreleme anahtarı, algoritma, şifreleme türü) kullanarak doğru şekilde şifrelenmemiş verileri yanlışlıkla kopyalarsa, verilerin şifresini çözemezsiniz (veriler bozulmuştur). Bu seçenek, veritabanındaki verilerin bozulmasına neden olabileceğinden dikkatli bir şekilde kullanılmalıdır.
Aşağıdaki senaryoda verilerin yanlış içeri aktarılmasının veri bozulmasına nasıl yol açabileceği gösterilmektedir:
Bir kullanıcı için seçenek
ONolarak ayarlanır.Kullanıcı veritabanına bağlanan uygulamayı çalıştırır. Uygulama, şifrelenmiş sütunlara düz metin değerleri eklemek için toplu API'ler kullanır. Uygulama, Always Encrypted özellikli bir istemci sürücüsünün ekleme işlemindeki verileri şifrelemesini bekler. Ancak, uygulama yanlış yapılandırıldığından Always Encrypted'ı desteklemeyen bir sürücü kullanır veya bağlantı dizesi
column encryption setting=enablediçermez.Uygulama sunucuya düz metin değerleri gönderir. Kullanıcı için sunucuda şifreleme meta verileri denetimleri devre dışı bırakıldığından, sunucu hatalı verilerin (doğru şifrelenmiş şifreleme metni yerine düz metin) şifrelenmiş bir sütuna eklenmesine izin verir.
Aynı veya başka bir uygulama, Always Encrypted özellikli bir sürücü kullanarak ve bağlantı dizesindeki
column encryption setting=enabledile veritabanına bağlanır ve verileri alır. Uygulama, verilerin şifresinin saydam olarak çözülmesini bekler. Ancak, veriler yanlış şifreleme metni olduğundan sürücü verilerin şifresini çözemiyor.
En iyi uygulama
Bu seçeneği kullanarak uzun süre çalışan iş yükleri için belirlenen kullanıcı hesaplarını kullanın.
Şifrelenmiş verileri şifresini çözmeden taşıması gereken kısa süre çalışan toplu kopyalama uygulamaları veya araçları için, uygulamayı çalıştırmadan hemen önce seçeneğini ON ayarlayın ve işlemi çalıştırdıktan hemen sonra KAPALI olarak ayarlayın.
Yeni uygulamalar geliştirmek için bu seçeneği kullanmayın. Bunun yerine, SQL Server için .NET Framework Veri Sağlayıcısı seçeneği gibi AllowEncryptedValueModifications tek bir oturum için şifreleme meta veri denetimlerini gizlemeye yönelik bir API sunan bir istemci sürücüsü kullanın. Bkz. SqlBulkCopy kullanarak Şifrelenmiş Verileri Kopyalama.
İlgili içerik
- Her Zaman Şifreli
- SQL Server İçeri ve Dışarı Aktarma Sihirbazı ile Always Encrypted kullanarak verileri sütunlara veya sütunlardan geçirme
- KULLANICI OLUŞTUR (Transact-SQL)
- ALTER USER (Transact-SQL)
- SQL Server Management Studio ile Always Encrypted kullanarak sütunları sorgulama
- Always Encrypted kullanarak uygulama geliştirme