Pengamanan Basis Data
Pengamanan Basis Data (database security) Merupakan aspek dalam basis data yang mengacu pada upaya-upaya pengamanan dari akses yang berbahaya/merugikan
Pelanggaran akses secara sengaja Pembacaan data yang tidak diijinkan Pengubahan data yang tidak diijinkan Penghapusan/perusakan data yang tidak diijinkan
Pengamanan Basis Data Fisik Lokasi sistem komputer harus aman dan terlindungi dari jangkauan orang-orang yg tidak berwenang Manusia otoritas user harus dibatasi dan diberikan secara hati-hati untuk mengurangi kesempatan pada user yg terdaftar memberikannya pada intruder Sistem Operasi Sistem pengamanan yang diterapkan oleh suatu Sistem operasi berpengaruh pada pengamanan basis data Jaringan Perlu mekanisme pangamanan pada software ataupun hardware jaringan Sistem Basis Data SBD menerapkan pemberian otoritas sebagian / seluruhnya pada objek-objek basis data
Jenis otoritas untuk pengaksesan basis data Disabling Permision Enabling Permsision
Disabling/Enabling permision pada obyek-obyek basis data Tabel/Relasi Seorang user diijinkan/tdk utk membuat atau mengakses tabel Indeks Seorang user diijinkan/tdk utk membuat atau menghapus indeks View Seorang user diijinkan/ tdk utk mengakses view
Bentuk otoritas terhadap data yang tersimpan dalam tabel database Read authorization Insert authorization Update authorization Delete authorization
Bentuk otoritas terhadap pendefinisian dan pengubahan skema basis data Index authorization pembuatan/penghapusan index Resource authorization pembuatan/penghapusan tabel Alteration authorization Pengubahan skema tabel dlm bentuk penambahan dan penghapusan field dalam tabel Drop authorization Penghapusan obyek basis data
Pemberian otoritas DBA A B C D Update (All) Insert + Delete (All) Select (All) Insert + Delete (All) A B C Update (All) D
Perintah SQL Pengamanan Basis Data Pemberian otorisasi Grant <daftar otoritas> on <nama objek basis data> to <daftar user> Grant insert on mahasiswa to ali,ani Grant update (nim,kode_makul) on nilai to ari,diah Grant select,insert on kuliah to slamet Grant select on mahasiswa to public Memberi otoritas ke user lain Grant all on mahasiswa to andi with grant option
Perintah SQL Pengamanan Basis Data Pembatalan otorisasi Revoke <daftar otoritas> on <nama obyek basis data> from <daftar user> Revoke update (nim,kode_makul) on nilai to ari,diah Revoke select,insert on kuliah to slamet Revoke select on mahasiswa to public Revoke insert on mahasiswa to ali Revoke grant option for all on mahasiswa from andi
Pemeliharaan Integritas Basis Data Ditujukan pada upaya-upaya untuk mencegah dan menanggulangi pelanggaran inkonsistensi data secara tidak disengaja
Timbulnya inkonsistensi data secara tidak sengaja Sistem rusak(crash) selama pemrosesan transaksi Inkonsistensi basis data akibat akses dari banyak user (concurent access) ke basis data yang tidak terjaga dengan baik. Inkonsistensi basis data karena adanya pendistribusian data ke banyak komputer (client) Kesalahan lojik (kesalahan aplikasi) yang melanggar integritas yang semestinya dipelihara agar basis data tetap konsisten.
Integritas Basis Data Integritas Basis Data berguna untuk menjamin validitas data yang terekam ke dalam basis data
Jenis- jenis Integritas Basis Data Entity Integrity Tidak diperbolehkannya baris data duplikat dalam satu tabel Domain Integrity Tidak diperbolehkannya item data yang melanggar jangkauan nilai di tiap kolom data Refererential integrity Menjaga relasi antar tabel Redundant data integrity Tidak diperbolehkannya data di sebuah tabel terulang di tabel lain Bussiness rule integrity Data dalam suatu tabel harus memiliki nilai layak dan dapat diterima.
Entity Integrity Sebuah tabel seharusnya berisi baris-baris data yang berbeda dan dapat dibedakan antara satu dengan yang lainnya.
Entity Integrity NIM Kode_kul nilai A11.001 A001 D A11.002 B A11.003 B003 A Kondisi tersebut dapat terjadi karena tidak disengaja ataupun memang disengaja, namun untuk kedua alasan tersebut tidak diperbolehkan melanggar Entity Integrity . Untuk mencegah pelanggaran Integritas Entitas dari faktor ketidaksengajaan maka harus diterapkan key dari dari tabel tersebut. Untuk mencegah pelanggaran Integritas Entitas dari faktor kesengajaan maka harus melakukan perubahan struktur tabel.
Domain Integrity Merupakan batasan nilai yang diperbolehkan untuk setiap atribut dalam tabel. Karakter bebas alfabet(A-Z,a-z),numerik(0-9),tanda baca(.,!;),simbol($,*,%) Alfanumerik alfabet(A-Z,a-z),numerik(0-9) Alfabet alfabet(A-Z,a-z) Numerik numerik(0-9),- Contoh: domain Integer bigint:19digit,int:10digit,smallint:5digit(+/- 32768),tinyint:3digit(-128 s/d 127)
Domain Integrity Pemeliharaan integritas Kode_kul nama Sks Smt A001 Daspro D 1 A002 SBD B 12 A003 Alpro A 2 Pemeliharaan integritas Pendefinisian skema/struktur tabel Pemanfaatan property field Penerapan validasi pada program aplikasi
Refererential integrity Hubungan antar tabel dapat memenuhi aturan referensi yang telah ditetapkan. Kode_kul Nama_kul sks smt A001 Struktur Data 3 5 A002 SBD 7 A003 Pemrog. Internet NIM Kode_kul nilai A11.001 A001 A A11.002 A004 B A11.003 A003
Refererential integrity Untuk menjaga integritas referensial : Reject Cascade Nullify Penerapan : Prosedure basis data cascade,nullify Program aplikasi reject,cascade,nullify
Redundant data integrity Integritas ini menghendaki keberadaan baris data di suatu tabel tidak terulang di tabel lain. Tujuan: Efisiensi ruang penyimpanan Konsistensi Database
Redundant data integrity S1-SI S1-TI Kode_kul Nama_kul sks smt A001 Struktur Data 3 5 A002 SBD 7 A003 Pemrog. Internet Kode_kul Nama_kul sks smt B001 Struktur Data 3 5 B002 SBD 7 A003 Pemrog. Internet Terjadinya pelanggaran integritas ini diakibatkan karena kesalahan perencanaan dan pembentukan basis data.
Bussiness rule integrity Data disuatu tabel harus memiliki nilai yang layak dan dapat diterima di tempat sistem basisdata itu diterapkan. NIM Kode_kul nilai A11.001 A001 A A11.002 A004 B A11.003 A003 D Matakuliah A004 hanya boleh diambil jika telah lulus matakuliah A003
Bussiness rule integrity NIM Kode_kul nilai A11.001 A001 A A11.002 A004 B A11.003 A003 D Pelanggaran integritas misl: ada aturan Matakuliah A004 hanya boleh diambil jika telah lulus matakuliah A003 Rule sederhana bisa dapat didefinisikan bersama dengan pendefinisian tabel. Rule yang rumit di terapkan pada program aplikasi