Apakah ada alasan mengapa saya tidak harus mengatur pemilik db saya menjadi [sa]?

15

Kemarin saya menanyakan pertanyaan ini tentang mengubah dbo dari beberapa database yang saya miliki. Perubahan itu masuk akal, tetapi saya ingin menjadi jelas.

Adakah alasan atau keadaan yang bagus mengapa saya tidak seharusnya mengatur dbo database ke [sa]?

RLH
sumber
1
FYI: Saat mengubah pemilik database, atau khususnya ketika Anda menerapkan ini pada sekelompok database sekaligus, pastikan skrip Anda menyertakan ketentuan untuk mengaitkan kembali pengguna database dengan login mereka. Buat perubahan ini saat tidak sibuk jika memungkinkan.
Jon Seigel

Jawaban:

18

Menjadikan SA sebagai pemilik database sebenarnya menyederhanakan dan / atau menyelesaikan sejumlah hal, tetapi dapat memiliki beberapa implikasi keamanan.

Secara khusus, ingat bahwa jika SA adalah pemilik basis data, maka dbo = 'SA'. Ini berarti, antara lain, setiap prosedur dalam skema [dbo] (yang merupakan default) yang memiliki "EXECUTE As Owner" di dalamnya, sebenarnya menjalankan sebagai SA. Itu tidak cukup seburuk kedengarannya, karena kecuali Anda telah menandai database sebagai dapat dipercaya, SQL Server tidak akan membiarkan sesi atau tugas dari database dengan kepala sekolah tingkat server menyamar seperti itu.

Yang memunculkan poin berikutnya: jangan pernah menandai database seperti TRUSTWORTHY, kecuali Anda benar - benar yakin bahwa itu aman. Karena siapa pun dengan kemampuan untuk membuat prosedur dalam skema [dbo] dapat mengeksekusi sebagai SA, di seluruh server, jika mereka mau.

Masalah lain dapat muncul karena banyak produk dan aplikasi yang memiliki database SQL Server mereka sendiri, sering kali menentukan bahwa login aplikasi mereka harus menjadi DBO database. Jelas Anda dapat mengatasinya dengan membuat login aplikasi mereka menjadi 'SA'. Mudah-mudahan, itu juga jelas bahwa Anda tidak boleh melakukan itu, kecuali bahwa SQL Server Instance tidak digunakan untuk hal lain (bahkan kemudian, saya akan merekomendasikan menentangnya).

RBarryYoung
sumber
Ok, terima kasih atas informasi tambahannya. Itu cukup berguna.
RLH