SQL Server Integration Services Protection Level
2021-03-19 Deniz Alkan
SSIS paketleri birden fazla kişi tarafından geliştirilirken, Protection Level seçimi doğru yapılmadığı taktirde, hata alınması kaçınılmaz bir sondur.
Bu hataları gidermek için SSIS içerisinde sunulan Protection Level seçeneklerini iyi anlamak gerekir. Bu seçenekler verilerin hassas (sensetive) olup olmamasına göre farklı çözümler sunar.
Hassas verilere örnek olarak; Connection String ifadelerinde yer alan şifre bölümleri hassas veriye örnek olarak verilebilir. Eğer gerekli ayarlar yapılırsa, Connection String içerisindeki bilgilerin tamamını hassas veri olarak işaretleyebilirsiniz. Paketteki bileşenlerin XML çıktıları da hassas verilere bir örnektir. Bunlara ek olarak proje içerisinde oluşturulan parametreler de hassas veri olarak ayarlanabilir.
Paket içerisindeki verinin tamamının veya sadece hassas verinin korunmasına bağlı olarak, 5 farklı Protection Level seçeneği kullanılabilir.
Do Not Save Sensetive Data: Bu seçenekte hassas veriler kaydedilmez. Paketi kapatıp tekrar açtığınızda hassas verileri tekrar girmeniz gerekir.
Encrypt Sensetive Data With User Key: Varsayılan olarak bu seçenek gelir. Paket içerisindeki hassas veriyi SSIS’de oturum açtığınız kullanıcı (account) bilgileri ile şifreler. Böylece, geliştirdiğiniz bir paketi farklı bir kullanıcıya gönderdiğinizde, kullanıcı paketi açabilir ama içerisindeki hassas olarak işaretlenen verileri görüntüleyemez.
Encrypt Sensetive Data With Password: Paket içerisindeki hassas veriyi, belirlediğiniz bir parola ile şifreler. Paketi farklı bir kullanıcıya gönderdiğinizde kullanıcı şifreyi girerek paketin tamamına erişebilir. Kullanıcının şifreyi yanlış girmesi durumunda, paket açılır ancak içerisindeki hassas veriler görüntülenmez.
Encrypt All Data With User Key: Verilerin tamamını, geliştirme yaptığınız kullanıcı bilgileri ile şifreler. Bu seçeneği seçtiğinizde, paket farklı bir kullanıcı ile açılamaz.
Encrypt All Data With Password: Verilerin tamamını, belirlenen bir parola ile şifreler. Parolayı doğru girmediğiniz sürece projeye ulaşılamaz.
Birden fazla geliştiricinin çalıştığı projelerde, Encrypt All Data With Password seçeneği en sağlıklı seçenek olacaktır.