Saya ingin menggunakan keamanan terintegrasi dengan aplikasi internal saya yang semuanya ada di domain. Sayangnya, saya tidak pernah bisa melakukan ini dengan baik. Saya ingin menetapkan seluruh Grup Exchange (Direktori Aktif) peran dalam SQL Server untuk akses baca / tulis ke tabel tertentu. Dengan begitu saya tidak perlu membuat operator setiap kali seseorang dipekerjakan atau menghapus operator setiap kali seseorang dipecat. Apakah ini mungkin? Langkah apa yang akan saya ambil untuk melakukan ini?
sql-server
sql-server-2008
security
role
active-directory
Michael Hedgpeth
sumber
sumber
Pemberian izin dalam SQL Server ke Grup AD relatif mudah. Ini dapat dilakukan baik melalui T-SQL atau Management Studio.
Misalnya, jika Anda memiliki grup AD yang dipanggil
MYDOMAIN\APPLICATION SUPPORT
, Anda akan membuat login di tingkat server, dan kemudian menggunakan pemetaan untuk masing-masing database untuk memberikan izin yang sedikit lebih terperinci seperti pembaca data.Idealnya, semua akses aplikasi harus melalui prosedur tersimpan *, jadi hanya jalankan izin pada prosedur tersimpan itu dalam basis data yang diperlukan.
* Dari sudut pandang keamanan, untuk memungkinkan pengguna tertentu melihat beberapa data tertentu, Anda bisa membuat prosedur dan memberikan izin kepada pengguna untuk menjalankan prosedur itu, dan tidak ada yang lain. Mengizinkan pengguna melakukan kueri secara langsung berarti memberikan izin pilih pada semua tabel yang terlibat. Lebih mudah untuk bekerja dengan prosedur, dan lebih mudah untuk debug.
Prosedur tersimpan akses tabel abstrak dan membatasi akses. Untuk tipe DBA, ini seperti "biarkan saya melihat semua variabel instan Anda: Saya tidak ingin menggunakan metode, getter atau setter".
sumber
Dari marc_s menjawab "Bagaimana cara menambahkan grup pengguna Direktori Aktif sebagai login di SQL Server" :
Di SQL Server Management Studio, buka
Object Explorer > (your server) > Security > Logins
dan klik kananNew Login
:Kemudian di kotak dialog yang muncul, pilih jenis objek yang ingin Anda lihat (
Groups
dinonaktifkan secara default - centang!) Dan pilih lokasi di mana Anda ingin mencari objek Anda (mis. GunakanEntire Directory
) dan kemudian temukan grup AD Anda .Anda sekarang memiliki Login SQL Server reguler - sama seperti ketika Anda membuatnya untuk pengguna AD tunggal. Berikan izin masuk yang baru pada database yang dibutuhkan, dan pergilah!
Setiap anggota grup AD itu sekarang dapat masuk ke SQL Server dan menggunakan database Anda.
sumber
Jika pengguna adalah anggota DOMAIN \ SecurityGroup yang memiliki otoritas Sysadmin dalam SQL, maka itu akan digunakan ketika mengakses database. Kalau tidak, Anda perlu melihat apa yang telah diberikan otoritas DOMAIN \ SecurityGroup di setiap basis data. Jika pengguna adalah anggota 2 SecurityGroups, dengan SecGroupA memiliki otoritas pilih dan SecGroupB memiliki otoritas penyisipan, maka pengguna dapat memilih dan menyisipkan.
sumber