MERDEKA, REVOKE lan DENY Permissions Database
Data Kontrol Basa (DCL) yaiku subset saka Structured Query Language (SQL) lan ngidini administrator basis data kanggo ngonfigurasi akses keamanan marang database hubungan. Iki nglengkapi Data Definition Language (DDL), sing digunakake kanggo nambah lan mbusak obyek basis data, lan Data Manipulation Language (DML) digunakake kanggo nompo, masang, lan ngowahi isi basis data.
DCL paling gampang saka subset SQL , amarga mung ana telung perintah: GRANT, REVOKE, lan DENY. Gabungan, telung perintah kasebut nyedhiyakake pangurus kanthi keluwesan kanggo nyetel lan mbusak ijin basis data kanthi cara banget.
Nambahake Ijin kanthi Command GRANT
Panganggo GRANT digunakake dening pangurus kanggo nambah idin anyar menyang panganggo basis data . Nduweni sintaks sing prasaja, sing ditrapake kaya ing ngisor iki:
GRANT [hak istimewa] ON [object] TO [user] [WITH GRANT OPTION]Punika dhaptar ing saben paramèter sing bisa nyuplai kanthi printah iki:
- Privilege bisa dadi salah sijine kata kunci ALL (kanggo menehi ijin beraneka ragam) utawa ijin basis data spesifik utawa simpenan ijin. Conto kalebu CREATE DATABASE, SELECT, INSERT, UPDATE, DELETE, EXECUTE lan CREATE VIEW.
- Obyek bisa dadi obyek basis data apa wae. Opsi hak istimewa sing sah beda-beda miturut jinis objek database sing kalebu ing klausa iki. Biasane, obyek kasebut bakal dadi basis data, fungsi, prosedur sing disimpen , tabel utawa tampilan.
- Panganggo bisa dadi panganggo basis data. Sampeyan uga bisa ngganti peran kanggo pangguna ing klausa kasebut yen sampeyan pengin nggunakake keamanan basis data peran.
- Yen sampeyan nyakup klausa opsional WITH GRANT OPTION ing mburi paragraf GRANT, sampeyan ora mung menehi pangguna sing ditetepake ijin sing ditetepake ing pernyataan SQL nanging uga menehi pangguna kemampuan kanggo menehi ijin sing padha menyang pangguna database liyane . Mulane, gunakake pasal kasebut kanthi ati-ati.
Contone, anggep sampeyan pengin menehi panganggo Joe kemampuan kanggo njupuk informasi saka tabel karyawan ing basis data disebut HR. Sampeyan bisa nggunakake perintah SQL ing ngisor iki:
PILIH GANTI KARYAWAN HR.employees TO JoeJoe saiki duwe kemampuan kanggo njupuk informasi saka meja kerja. Nanging, dheweke ora bisa mènèhi idin kanggo pangguna liya kanggo njupuk informasi saka tabel kasebut amarga sampeyan ora ngandhut klausa WITH GRANT OPTION ing statement GRANT.
Nganyari Akses Database
Printah REVOKE digunakake kanggo mbusak akses basis data saka pangguna sing sadurunge diwenehake. Sintaks perintah iki didéfinisi minangka:
REVOKE [OPTION FOR] [ijin] ON [object] FROM [user] [CASCADE]Punika dhaptar ing paramèter kanggo printah REVOKE:
- Idin nemtokaké ijin basis data kanggo dibusak saka pangguna sing diidentifikasi. Dhawuhe mbatalake panjajahan GRANT lan DENY sing sadurunge digawe kanggo ijin kasebut.
- Obyek bisa dadi obyek basis data apa wae. Opsi hak istimewa sing sah beda-beda miturut jinis objek database sing kalebu ing klausa iki. Biasane, obyek kasebut bakal dadi basis data, fungsi, prosedur sing disimpen, tabel utawa tampilan.
- Panganggo bisa dadi panganggo basis data. Sampeyan uga bisa ngganti peran kanggo pangguna ing klausa kasebut yen sampeyan pengin nggunakake keamanan basis data peran.
- Pilihan GRANT FOR clause mbusak kemampuan user kasebut kanggo menehi ijin sing dituju kanggo pangguna liyane. Wigati : Yen sampeyan nyakup OPTION GRANT FOR clause ing statement REVOKE, ijin utama ora dicabut. Klausa iki mung mbebayani.
- Opsi CASCADE uga mbatalake ijin kasebut saka pangguna sing pangguna sing diwenehi ijin kasebut.
Contone, printah ing ngisor iki nyabut ijin sing diwenehake marang Joe ing conto sadurungé:
REVOKE pilih SELECT HR.employees saka JoeNyatane Nolak Akses Database
Printah DENY digunakake kanggo tegas nyegah pangguna saka nampa ijin tartamtu. Iki mbiyantu nalika panganggo minangka anggota saka peran utawa grup sing diwenehake ijin, lan sampeyan pengin nyegah pangguna individu kasebut saka diwenehi ijin kanthi nggawe pangecualian. Sintaks iki kanggo dhaptar iki:
DENY [ijin] ON [object] TO [user] Paramèter kanggo paréntah DENY identik karo sing dipigunakaké kanggo paréntah GRANT.
Contone, yen sampeyan kepengin kanggo njamin yen Matius ora bakal nampa kemampuan kanggo mbusak informasi saka tabel karyawan, nerbitake printah ing ngisor iki: