SQL Server: apa alasan untuk memilih peran basis data yang disesuaikan daripada yang diperbaiki?

8

Ini mungkin agak kabur, tapi saya merenungkan berapa banyak DBA menggunakan peran basis data tetap mengendalikan keamanan database. Jadi pertanyaannya adalah, apakah ada alasan untuk mendukung peran basis data yang disesuaikan dari pada peran basis data tetap (db_datareader dll.)?

jrara
sumber

Jawaban:

12

Peran basis data tetap memberikan izin ke seluruh basis data. Peran khusus mulai dimainkan saat Anda tidak ingin memberikan izin kepada pengguna ke semua database, hanya sebagian saja.

Misalnya, db_datareader memberikan izin SELECT ke setiap tabel, tampilan, dll dalam basis data itu. Untuk alasan kepatuhan mungkin ada beberapa tabel atau pandangan bahwa staf SDM hanya dapat memilih dari dan staf lain tidak boleh. Di situlah biasanya peran khusus ikut bermain.


sumber
3

Peran basis data standar sangat bagus untuk basis data di mana hanya ada beberapa pengguna atau ketika tidak ada tim DBA untuk mengelola izin. Namun, jika ada beberapa pengguna dengan tim basis data besar dan data sensitif, akan lebih bijaksana untuk membuat peran khusus sehingga Anda tahu siapa yang melihat apa.

Ketika datang ke keamanan data (dan database), Anda ingin mengunci semuanya sebanyak mungkin dan masih membiarkan semua orang dapat melakukan pekerjaan mereka tanpa tantangan besar. Peran khusus sesuai dengan tagihan ini dengan cukup baik.

Richard
sumber
2

Tidak, saya rasa tidak ada alasan untuk mendukung peran basis data khusus KECUALI perannya lebih khusus dan disesuaikan dengan lingkungan dan persyaratan Anda. Pengembang akan melihat penawaran standar, dan jika cocok dengan pekerjaan - sempurna! Tetapi jika tidak, saatnya untuk menyesuaikan!

Peter Schofield
sumber
2

Alasan praktis, terutama dengan db_datareader dan db_datawriter

  • pengguna akhir dapat merusak riwayat dan tabel audit
  • Kepatuhan PCI / SOX / Adit
  • Anda akan memiliki spreadsheet yang terhubung ke database Anda
  • ... yang juga memberi Anda memiliki dependensi yang tidak diketahui pada tabel dan tampilan
  • pengguna tidak akan mengerti normalisasi atau desain basis data
  • tidak semua data untuk semua pengguna
  • ...

Peran db lainnya tidak benar-benar digunakan yang saya temukan

gbn
sumber
Ya, PCI / SOX / Adit adalah topik hangat saat ini. Itu mungkin alasan yang cukup baik untuk keluar dari peran tetap.
StanleyJohns