-
Saat mengatur izin, apa pun pengguna atau perannya, mereka adalah objek untuk mengatur izin. Kecuali peran aplikasi bersifat khusus dan memiliki hubungan yang saling eksklusif dengan peran dan pengguna lain, peran dan anggota database memiliki hubungan yang sangat erat dalam hal izin. Seorang pengguna mungkin memiliki beberapa peran database pada saat yang sama, dan setiap peran mungkin memiliki izin yang berbeda. Saat ini, prinsip bagi pengguna untuk mendapatkan izin sebenarnya adalah "gabungan" kecuali ada pengaturan penolakan (terlarang). Misal role A dilarang membaca tabel data B, namun role C boleh membaca tabel data
B, saat ini pengguna yang termasuk dalam role A dan C masih belum bisa membaca tabel data B karena sudah dibanned.
Objek perizinannya dapat dibedakan menjadi server dan database, yaitu perizinan dapat diatur secara terpisah untuk kedua hal tersebut, silahkan simak penjelasannya berikut ini.
Tentukan izin server (1) Klik kanan pada server di Object Explorer dan pilih "Properties".
(2) Beralih ke "Izin" di kotak dialog.
(3) Pilih objek yang izinnya akan diatur di "Nama Masuk atau Peran", dan periksa masing-masing otorisasi di "Izin Eksplisit".
Setelah selesai, klik tombol “OK”, seperti terlihat pada Gambar 15-21.
Seperti yang ditunjukkan pada Gambar 15-21, ini adalah pengaturan izin untuk server. "Pengotorisasi" adalah yang saat ini masuk ke SQL Server
Nama login server; "Izin" adalah izin yang dapat diatur oleh semua nama login saat ini; "Grant" berarti memberikan izin; jika "Have Grant" dicentang, berarti sa memberikan izin kepada objek yang dipilih dan dapat lalu berikan ke login lain; "Tolak" Itu dilarang untuk digunakan.
Pemilihan ketiga opsi ini terkait. Jika "Tolak" dicentang, "Berikan" dan "Memiliki Hibah" akan dihapus secara otomatis; jika "Memiliki Hibah" dicentang, "Tolak" akan dihapus dan "Berikan" akan dipilih .
"Nama atau peran login" adalah objek yang izinnya ditetapkan. Pembaca dapat mengklik tombol "Tambah" untuk menentukan nama atau peran login lainnya. Namun, semua peran server bawaan tidak dapat mengubah izin, tetapi izin dapat ditentukan untuk peran publik.
Untuk melihat izin dari login atau peran yang dipilih saat ini, klik tombol Izin Efektif, karena izin efektif tidak hanya diatur pada Gambar 15-21, tetapi juga bergantung pada peran yang dimiliki login tersebut. Oleh karena itu, Gambar 15-21 hanya akan menampilkan izin yang ditentukan dalam pengaturan ini, dan izin default yang ada tidak akan ditampilkan.
Gambar 15-21 Mengatur izin server dan menentukan izin database (1) Pilih database eBook di Object Explorer, klik kanan dan pilih "Properties".
(2) Beralih ke "Izin" di kotak dialog.
(3) Pilih objek yang izinnya akan diatur di "Pengguna atau Peran", periksa izin di "Izin Eksplisit", dan klik tombol "OK" setelah selesai, seperti yang ditunjukkan pada Gambar 15-22.
Izin objek (1) Pilih database eBook di penjelajah objek, buka "Tabel Data", pilih tabel data "Pesanan", klik kanan dan pilih "Properti".
(2) Beralih ke "Izin" di kotak dialog.
(3) Klik tombol "Tambah", lalu tentukan pengguna, peran database, atau peran aplikasi yang izinnya ingin Anda ubah di kotak dialog.
(4) Pilih objek yang izinnya akan diatur di "Pengguna atau Peran", periksa izin di "Izin Eksplisit", dan klik tombol "OK" setelah selesai, seperti yang ditunjukkan pada Gambar 15-23.
Metode pengoperasian Gambar 15-21 dan Gambar 15-23 sama persis, perbedaannya adalah izin server, database, dan objek diatur secara terpisah, dan objek yang dapat diatur juga berbeda. Pada Gambar 15-21, izin dapat ditentukan untuk nama login dan peran server
Pada Gambar 15-23, izin dapat ditentukan untuk pengguna, peran database, dan peran aplikasi. Perbedaan lainnya adalah izin yang dapat ditentukan berbeda.
Gambar 15-22 Mengatur izin database
Gambar 15-23 Mengatur izin dan izin objek
Izin yang dapat diatur di SQL Server sangat kompleks. Ada 94 izin dari server ke objek. Yang lebih sulit untuk dipahami adalah properti server dan database.
Tabel 15-4 Deskripsi izin penting
Deskripsi konten izin
CONTROL memberikan kemampuan seperti kepemilikan kepada penerima hibah. Penerima hibah sebenarnya mempunyai hak yang aman untuk itu
Semua izin ditentukan pada ikon
ALTER Memberikan kemampuan untuk mengubah properti (kecuali kepemilikan) dari objek tertentu yang dapat diamankan. dalam rentang tertentu
Ketika izin ALTER diberikan pada suatu cakupan, izin tersebut juga diberikan untuk mengubah, membuat, atau menghapus cakupan.
Kemampuan objek keamanan apa pun yang terkandung
ALTER ANY <objek yang dapat diamankan server> Memberikan kemampuan untuk membuat, mengubah, atau menghapus instance individual dari objek yang dapat diamankan server
ALTER <objek aman database> APAPUN Memberikan CREATE, ALTER, atau DROP ke instance individual dari objek aman database.
kemampuan
TAKE OWNERSHIP memungkinkan penerima hibah untuk mengambil kepemilikan atas objek jaminan yang diberikan
CREATE <objek keamanan server> Memberikan kemampuan untuk membuat objek keamanan server kepada penerima
CREATE <objek keamanan database> Memberikan kemampuan untuk membuat objek keamanan database kepada penerima
LIHAT DEFINISI memungkinkan penerima hibah mengakses metadata
"Objek keamanan" pada Tabel 15-4 mengacu pada objek operasi pengaturan izin, seperti "Peran" dalam "Buat Peran"
Ini adalah objek aman di sini.
Gunakan T-SQL untuk mengatur izin. Untuk mengatur izin di T-SQL, Anda dapat menggunakan tiga pernyataan GRANT (hibahkan), DENY (tolak) dan REVOKE (cabut).
Ketiga pernyataan ini mempunyai banyak kegunaan, dan bentuk dasarnya adalah sebagai berikut:
MEMBERIKAN SEMUA atau nama izin PADA objek KE pengguna atau nama peran DENGAN opsi
BATALKAN SEMUA atau nama izin PADA objek KE pengguna atau nama peran CASCADE
TOLAK SEMUA atau nama izin PADA objek KE pengguna atau nama peran CASCADE
Setiap pernyataan memiliki tiga elemen yaitu nama izin, objek dan pengguna (peran), sebagai berikut (Ch151524Grant.sql):
GUNAKAN eBuku
GRANT SELECT PADA OBJECT::dbo.members KEPADA David
REFERENSI HIBAH (MemberID) PADA OBYEK::dbo.Orders
KEPADA DAVID DENGAN OPSI HIBAH
Pernyataan di atas menggunakan pernyataan Grant untuk memberikan izin kepada David masing-masing, tetapi konten objeknya berbeda. Silakan gunakan nama objek sebagai
Mulailah dengan "OBJEK ::", diikuti dengan nama lengkap, sebaiknya diikuti oleh pemiliknya. Pernyataan Hibah kedua bertindak pada objek khusus, "(MemberID) ON OBJECT:: dbo.Orders", yang mewakili MemberID yang bertindak pada objek Pesanan.
bidang, berikan izin melihat pada kolom ini kepada David. Pada saat yang sama, menambahkan "DENGAN OPSI GRANT" berarti David dapat memberikan izin ini kepada orang lain, yang setara dengan "dengan hibah" pada Gambar 15-23.
Pada pernyataan Revoke dan Deny, Cascade dapat ditambahkan di akhir. Fungsi kata kunci ini adalah untuk mencabut izin yang dapat diberikan pengguna kepada orang lain setelah To, yaitu membatalkan "telah diberikan".
Lihat izin yang tersedia. Karena ada banyak izin yang tersedia, tidak ada opsi untuk dipilih di T-SQL, jadi gunakan GRANT, DENY dan
Saat REVOKE, Anda harus mengetahui terlebih dahulu nama izinnya sebelum dapat mengaturnya. Pembaca dapat melihat sys.fn_builtin_permissions,
Tiga tabel data sistem sys.database_permissions dan sys.server_permissions ditunjukkan pada Gambar 15-24.
Gambar 15-24 Lihat izin yang tersedia. “Permission_name” pada Gambar 15-24 adalah nama izin yang tersedia, yang dapat diterapkan pada Grant, DENY atau
Cabut pernyataan.
Melihat konten izin Untuk melihat nama login saat ini dan konten izin pengguna, Anda dapat menjalankan prosedur tersimpan sp_helprotect, seperti yang ditunjukkan pada Gambar 15-25
ditampilkan.
Penerima pada Gambar 15-25 adalah nama pengguna yang memberikan izin, dan Pemberi Izin adalah nama pengguna yang memberikan izin kepada orang lain.
Hingga empat parameter dapat digunakan setelah prosedur tersimpan sp_helprotect, yang mewakili nama objek, nama pengguna, dan nama pemberi. Parameter keempat dapat berupa o atau s, masing-masing mewakili izin objek kueri atau izin pernyataan.