Pengamanan Basis data
Pendahuluan Pelanggaran Basis data Di Kelompokan menjadi 2 aksi: - Disengaja - Tidak disengaja.
Pelanggaran Basis data: A. Disengaja. - Pembacaan data yang tidak diizinkan - Pengubahan data yang tidak diizinkan - Penghapusan data yang tidak diizinkan
Pelanggaran Basis data: B. Tidak Disengaja. - Sistem rusak (Crash) selama proses transaksi - Inkonsistensi Basis data akibat akses banyak user. - Inkonsistensi Basis data akibat pendistribusian ke banyak komputer (Client). - Kesalahan lojik (kesalahan aplikasi) Yang melanggar integritas yang seharusnya dipelihara.
Pengamanan basis data Level pengamanan Basis data: Fisik: Lokasi sistem komputer Manusia: Otoritas user dibatasi Sistem Operasi. Jaringan (network) Sistem basis data.
Pengamanan Basis data Terdiri dari 2 aspek: A. Pengamanan basis data ( Database Security) B. Pemeliharaan Integritas basis data (Database integrity)
A. Pengamanan Basis data A1. Pemberian otoritas A2. Perintah SQL untuk pengamanan Basis data A3. Penyandian( Enkripsi)
A1. Pemberian otoritas Memberikan otoritas pada sejumlah pemakai (user) dalam mengakses basis data. Antara lain Operator, supervisor atau administrator.
A2. Perintah SQL untuk pengamanan Basis data Perintah utama pemberian otorisasi ini adalah: Grant dengan sintax : Grant<daftar otoritas> on < nama objek basis data> To <daftar user> - <daftar otoritas>: klausa otoritas - < nama objek basis data>: dapat berupa tabel/view - <daftar user>: User pemakai Contoh: Grant insert on Mahasiswa to ali, ani
A3. Penyandian ( Enkripsi) Teknik enkripsi yang baik memiliki kriteria: Pemakai yang memiliki otoritas dapat dengan mudah melakukan penyandian dan pemecahannya. Skema enkripsi yang digunakan tidak tergantung kerahasian algoritma /program enkripsi dan dekripsi tetapi tergantung pada parameter algoritma sebagai kunci enkripsinya. Sangat sukar untuk ditebak kunci enkripsi yang digunakan.
B. Pemeliharaan Integritas basis data Terdiri dari 2 yaitu: B1. Jenis jenis Integritas Basis data B2. Pemaksaan Integritas
B1. Jenis jenis Integritas Basis data Integritas Entitas: Tidak boleh ada baris duplikat dalam satu tabel. Integritas jangkauan nilai: Tidak ada item data yang melanggar jangkauan nilai ditiap kolom. Integritas acuan: Yang menjaga relasi/korespondensi antar tabel. Integritas data antar tabel: dimana disebuah tabel tidak terulang tabel yang lain. Integritas aturan nyata: dimana data disuatu tabel harus memiliki nilai yang layak dan dapat diterima sistem basis data.
B2. Pemaksaan Integritas Definisi tabel dan struktur penyimpanan. Type data,nilai,null dll. Penerapan aturan integritas Dalam SQL perintahnya: Create assertion<nama-assertion>check<predikat> Contoh: kita membuat aturan tidak boleh mengambil sks lebih dari 20. create assertion no_exist check (not exist ( select sum (sks) From nilai a, kuliah b Where a. kode_kul-b.kul=b.kode_kul Group by semester having sum (sks)>20)
B2. Pemaksaan Integritas Penggunaan mekanisme pembangkitan aksi untuk menjaga integritas.Dalam mekanisme ini kita harus: - Menentukan kondisi yang menimbul pembangkitan aksi (triger) - Menenentukan aksi yang akan dikerjakan(Procedure) Contoh: Define trigger hapus_mahasiswa on delete of mahasiswa a (delete from nilai where nim=old a.nim)
B2. Pemaksaan Integritas Penerapan aturan integritas dalam script aplikasi. Aturan integritas dapat pula kita terapkan disisi aplikasi, dan bukannya disisi DBMS. Penerapan aturan integritas dalam objek objek aplikasi. Kondisi ini sangat tergantung pada fasilitas yang disediakan oleh development toolnya.