Gambaran Umum Keamanan (Layanan Integrasi)
Berlaku untuk: SQL Server SSIS Integration Runtime di Azure Data Factory
Keamanan di SQL Server Integration Services terdiri dari beberapa lapisan yang menyediakan lingkungan keamanan yang kaya dan fleksibel. Lapisan keamanan ini mencakup penggunaan tanda tangan digital, properti paket, peran database SQL Server, dan izin sistem operasi. Sebagian besar fitur keamanan ini termasuk dalam kategori identitas dan kontrol akses.
Mitigasi Ancaman dan Kerentanan
Meskipun Integration Services mencakup berbagai mekanisme keamanan, paket, dan file yang dibuat atau digunakan paket dapat dieksploitasi untuk tujuan berbahaya.
Tabel berikut menjelaskan risiko ini dan langkah-langkah proaktif yang dapat Anda ambil untuk mengurangi risiko.
Ancaman atau kerentanan | Definisi | Mitigasi |
---|---|---|
Sumber paket | Sumber paket adalah individu atau organisasi yang membuat paket. Menjalankan paket dari sumber yang tidak dikenal atau tidak tepercaya dapat berisiko. | Identifikasi sumber paket dengan menggunakan tanda tangan digital, dan jalankan paket yang hanya berasal dari sumber tepercaya yang diketahui. Untuk informasi selengkapnya, lihat Mengidentifikasi Sumber Paket dengan Tanda Tangan Digital. |
Konten paket | Konten paket mencakup elemen dalam paket dan propertinya. Properti dapat berisi data sensitif seperti kata sandi atau string koneksi. Elemen paket seperti pernyataan SQL dapat mengungkapkan struktur database Anda. | Kontrol akses ke paket dan ke konten dengan melakukan langkah-langkah berikut: 1) Untuk mengontrol akses ke paket itu sendiri, terapkan fitur keamanan SQL Server ke paket yang disimpan ke database msdb dalam instans SQL Server. Untuk paket yang disimpan dalam sistem file, terapkan fitur keamanan sistem file, seperti daftar kontrol akses (ACL). 2) Untuk mengontrol akses ke konten paket, atur tingkat perlindungan paket. Untuk informasi selengkapnya, lihat Gambaran Umum Keamanan (Layanan Integrasi) dan Kontrol Akses untuk Data Sensitif dalam Paket. |
Output paket | Saat Anda mengonfigurasi paket untuk menggunakan konfigurasi, titik pemeriksaan, dan pengelogan, paket menyimpan informasi ini di luar paket. Informasi yang disimpan di luar paket mungkin berisi data sensitif. | Untuk melindungi konfigurasi dan log yang disimpan paket ke tabel database SQL Server, gunakan fitur keamanan SQL Server. Untuk mengontrol akses ke file, gunakan daftar kontrol akses (ACL) yang tersedia dalam sistem file. Untuk informasi selengkapnya, lihat Akses ke File yang Digunakan oleh Paket |
Fitur Identitas
Dengan menerapkan fitur identitas dalam paket, Anda dapat mencapai tujuan berikut:
Pastikan Anda hanya membuka dan menjalankan paket dari sumber tepercaya.
Untuk memastikan bahwa Anda hanya membuka dan menjalankan paket dari sumber tepercaya, Pertama-tama Anda harus mengidentifikasi sumber paket. Anda dapat mengidentifikasi sumber dengan menandatangani paket dengan sertifikat. Kemudian, saat membuka atau menjalankan paket, Anda dapat meminta Integration Services untuk memeriksa keberadaan dan validitas tanda tangan digital. Untuk informasi selengkapnya, lihat Mengidentifikasi Sumber Paket dengan Tanda Tangan Digital.
Fitur Kontrol Akses
Dengan menerapkan fitur identitas dalam paket, Anda dapat mencapai tujuan berikut:
Pastikan hanya pengguna yang berwenang yang membuka dan menjalankan paket.
Untuk memastikan bahwa hanya pengguna yang berwenang yang membuka dan menjalankan paket, Anda harus mengontrol akses ke informasi berikut:
Mengontrol akses ke konten paket, terutama data sensitif.
Mengontrol akses ke paket dan konfigurasi paket yang disimpan di SQL Server.
Mengontrol akses ke paket dan ke file terkait seperti konfigurasi, log, dan file titik pemeriksaan yang disimpan dalam sistem file.
Mengontrol akses ke layanan Layanan Integrasi dan ke informasi tentang paket yang ditampilkan layanan di SQL Server Management Studio.
Mengontrol Akses ke Konten Paket
Untuk membantu membatasi akses ke konten paket, Anda dapat mengenkripsi paket dengan mengatur properti ProtectionLevel paket. Anda dapat mengatur properti ini ke tingkat perlindungan yang diperlukan paket Anda. Misalnya, di lingkungan pengembangan tim, Anda dapat mengenkripsi paket dengan menggunakan kata sandi yang hanya diketahui oleh anggota tim yang mengerjakan paket.
Saat Anda mengatur properti ProtectionLevel dari paket, Integration Services secara otomatis mendeteksi properti sensitif dan menangani properti ini sesuai dengan tingkat perlindungan paket yang ditentukan. Misalnya, Anda mengatur properti ProtectionLevel untuk paket ke tingkat yang mengenkripsi informasi sensitif dengan kata sandi. Untuk paket ini, Integration Services secara otomatis mengenkripsi nilai semua properti sensitif dan tidak akan menampilkan data yang sesuai tanpa kata sandi yang benar yang disediakan.
Biasanya, Integration Services mengidentifikasi properti sebagai sensitif jika properti tersebut berisi informasi, seperti kata sandi atau string koneksi, atau jika properti tersebut sesuai dengan variabel atau simpul XML yang dihasilkan tugas. Apakah Layanan Integrasi menganggap properti sensitif tergantung pada apakah pengembang komponen Layanan Integrasi, seperti manajer koneksi atau tugas, telah menetapkan properti sebagai sensitif. Pengguna tidak dapat menambahkan properti ke, juga tidak dapat menghapus properti dari, daftar properti yang dianggap sensitif. Jika Anda menulis tugas kustom, manajer koneksi, atau komponen aliran data, Anda dapat menentukan properti Layanan Integrasi mana yang harus diperlakukan sebagai sensitif.
Untuk informasi selengkapnya, lihat Kontrol Akses untuk Data Sensitif dalam Paket.
Mengontrol Akses ke Paket
Anda dapat menyimpan paket Integration Services ke database msdb dalam instans SQL Server, atau ke sistem file sebagai file XML yang memiliki ekstensi nama file .dtsx. Untuk informasi selengkapnya, lihat Menyimpan Paket.
Menyimpan Paket ke Database msdb
Menyimpan paket ke database msdb membantu memberikan keamanan di tingkat server, database, dan tabel. Dalam database msdb, paket Integration Services disimpan dalam tabel sysssispackages. Karena paket disimpan ke tabel sysssispackages dan sysdtspackages dalam database msdb, paket secara otomatis dicadangkan saat Anda mencadangkan database msdb.
Paket SQL Server yang disimpan dalam database msdb juga dapat dilindungi dengan menerapkan peran tingkat database Integration Services. Integration Services mencakup tiga peran tingkat database tetap db_ssisadmin, db_ssisltduser, dan db_ssisoperator untuk mengontrol akses ke paket. Peran pembaca dan penulis dapat dikaitkan dengan setiap paket. Anda juga dapat menentukan peran tingkat database kustom untuk digunakan dalam paket Integration Services. Peran hanya dapat diimplementasikan pada paket yang disimpan ke database msdb dalam instans SQL Server. Untuk informasi selengkapnya, lihat Peran Layanan Integrasi (Layanan SSIS).
Menyimpan Paket ke Sistem File
Jika Anda menyimpan paket ke sistem file alih-alih dalam database msdb, pastikan untuk mengamankan file paket dan folder yang berisi file paket.
Mengontrol Akses ke File yang Digunakan oleh Paket
Paket yang telah dikonfigurasi untuk menggunakan konfigurasi, titik pemeriksaan, dan pengelogan menghasilkan informasi yang disimpan di luar paket. Informasi ini mungkin sensitif dan harus dilindungi. File titik pemeriksaan hanya dapat disimpan ke sistem file, tetapi konfigurasi dan log dapat disimpan ke sistem file atau ke tabel dalam database SQL Server. Konfigurasi dan log yang disimpan ke SQL Server tunduk pada keamanan SQL Server, tetapi informasi yang ditulis ke sistem file memerlukan keamanan tambahan.
Untuk informasi selengkapnya, lihat Akses ke File yang Digunakan oleh Paket.
Menyimpan Konfigurasi Paket dengan Aman
Konfigurasi paket dapat disimpan ke tabel dalam database SQL Server atau ke sistem file.
Konfigurasi dapat disimpan ke database SQL Server apa pun, bukan hanya database msdb. Dengan demikian, Anda dapat menentukan database mana yang berfungsi sebagai repositori konfigurasi paket. Anda juga dapat menentukan nama tabel yang akan berisi konfigurasi, dan Integration Services secara otomatis membuat tabel dengan struktur yang benar. Menyimpan konfigurasi ke tabel memungkinkan untuk memberikan keamanan di tingkat server, database, dan tabel. Selain itu, konfigurasi yang disimpan ke SQL Server secara otomatis dicadangkan saat Anda mencadangkan database.
Jika Anda menyimpan konfigurasi dalam sistem file alih-alih di SQL Server, pastikan untuk mengamankan folder yang berisi file konfigurasi paket.
Untuk informasi selengkapnya tentang konfigurasi, lihat Konfigurasi Paket.
Mengontrol Akses ke Layanan Integrasi
SQL Server Management Studio menggunakan layanan SQL Server untuk mencantumkan paket tersimpan. Untuk mencegah pengguna yang tidak sah melihat informasi tentang paket yang disimpan di komputer lokal dan jarak jauh, dan dengan demikian mempelajari informasi privat, batasi akses ke komputer yang menjalankan layanan SQL Server.
Untuk informasi selengkapnya, lihat Akses ke Layanan Layanan Integrasi.
Akses ke File yang Digunakan oleh Paket
Tingkat perlindungan paket tidak melindungi file yang disimpan di luar paket. File-file ini mencakup yang berikut ini:
File konfigurasi
File titik pemeriksaan
File log
File-file ini harus dilindungi secara terpisah, terutama jika menyertakan informasi sensitif.
File Konfigurasi
Jika Anda memiliki informasi sensitif dalam konfigurasi, seperti informasi masuk dan kata sandi, Anda harus mempertimbangkan untuk menyimpan konfigurasi ke SQL Server, atau menggunakan daftar kontrol akses (ACL) untuk membatasi akses ke lokasi atau folder tempat Anda menyimpan file dan mengizinkan akses hanya ke akun tertentu. Biasanya, Anda akan memberikan akses ke akun yang Anda izinkan untuk menjalankan paket, dan ke akun yang mengelola dan memecahkan masalah paket, yang mungkin termasuk meninjau konten konfigurasi, titik pemeriksaan, dan file log. SQL Server menyediakan penyimpanan yang lebih aman karena menawarkan perlindungan di tingkat server dan database. Untuk menyimpan konfigurasi ke SQL Server, Anda menggunakan jenis konfigurasi SQL Server. Untuk menyimpan ke sistem file, Anda menggunakan jenis konfigurasi XML.
Untuk informasi selengkapnya, lihat Konfigurasi Paket, Buat Konfigurasi Paket, dan Pertimbangan Keamanan untuk Penginstalan SQL Server.
File Titik Pemeriksaan
Demikian pula, jika file titik pemeriksaan yang digunakan paket menyertakan informasi sensitif, Anda harus menggunakan daftar kontrol akses (ACL) untuk mengamankan lokasi atau folder tempat Anda menyimpan file. File titik pemeriksaan menyimpan informasi status saat ini pada kemajuan paket serta nilai variabel saat ini. Misalnya, paket dapat menyertakan variabel kustom yang berisi nomor telepon. Untuk informasi selengkapnya, lihat Memulai Ulang Paket dengan Menggunakan Titik Pemeriksaan.
File Log
Entri log yang ditulis ke sistem file juga harus diamankan menggunakan daftar kontrol akses (ACL). Entri log juga dapat disimpan dalam tabel SQL Server dan dilindungi oleh keamanan SQL Server. Entri log dapat mencakup informasi sensitif, Misalnya, jika paket berisi tugas Jalankan SQL yang membuat pernyataan SQL yang mengacu pada nomor telepon, entri log untuk pernyataan SQL menyertakan nomor telepon. Pernyataan SQL juga dapat mengungkapkan informasi privat tentang nama tabel dan kolom dalam database. Untuk informasi selengkapnya, lihat Pengelogan Integration Services (SSIS).
Akses ke Layanan Integrasi
Tingkat perlindungan paket dapat membatasi siapa yang diizinkan untuk mengedit dan menjalankan paket. Perlindungan tambahan diperlukan untuk membatasi siapa yang dapat melihat daftar paket yang saat ini berjalan di server dan yang saat ini dapat berhenti menjalankan paket di SQL Server Management Studio.
SQL Server Management Studio menggunakan layanan SQL Server untuk mencantumkan paket yang sedang berjalan. Anggota grup Administrator Windows dapat melihat dan menghentikan semua paket yang sedang berjalan. Pengguna yang bukan anggota grup Administrator hanya dapat melihat dan menghentikan paket yang mereka mulai.
Penting untuk membatasi akses ke komputer yang menjalankan layanan SQL Server, terutama layanan SQL Server yang dapat menghitung folder jarak jauh. Setiap pengguna yang diautentikasi dapat meminta enumerasi paket. Bahkan jika layanan tidak menemukan layanan, layanan menghitung folder. Nama folder ini mungkin berguna bagi pengguna berbahaya. Jika administrator telah mengonfigurasi layanan untuk menghitung folder pada komputer jarak jauh, pengguna mungkin juga dapat melihat nama folder yang biasanya tidak dapat mereka lihat.
Tugas Terkait
Daftar berikut berisi tautan ke topik yang memperlihatkan kepada Anda cara melakukan tugas tertentu yang berkaitan dengan keamanan.