Database Security :
1. Otorisasi :
- Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
- Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
- Mengendalikan sistem atau obyek yang dapat diakses
- Mengendalikan bagaimana pengguna menggunakannya
- Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View :
- Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
- Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi
à
pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View
à
pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat
pada view
3. Read
Authorization à
pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert
Authorization à
pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data
yang sudah ada.
5. Update
Authorization à
pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete
Authorization à
pengguna diperbolehkan menghapus data.
- Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index
Authorization à
pengguna diperbolehkan membuat dan menghapus index data.
2. Resource
Authorization à
pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration
Authorization à
pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop
Authorization à
pengguna diperbolehkan menghapus relasi yang sudah ada.
- Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT ON TO
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA ) ON S TO ALI,BUDI
REVOKE : mencabut wewenang
yang dimiliki oleh pemakai
Syntax : REVOKE ON FROM
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA ) ON S TO ALI,BUDI
Priviledge list : READ, INSERT,
DROP, DELETE, INEX, ALTERATION, RESOURCE
3. Backup data dan
recovery :
Backup : proses
secara periodik untuk mebuat duplikat ari database dan melakukan logging file
(atau program) ke media penyimpanan eksternal.
Jurnaling :
proses menyimpan dan mengatur log file dari semua perubahan yang ibuat di
database untuk proses recovery yang efektif jika terjai kesalahan.
Isi Jurnal :
- Record transaksi
1. Identifikasi
dari record
2. Tipe
record jurnal (transaksi start, insert, update, delete, abort, commit)
3. Item
data sebelum perubahan (operasi update dan delete)
4. Item
data setelah perubahan (operasi insert dan update)
5. Informasi
manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk
semua transaksi
- Record ceckpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Recovery :
merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar
setelah terjadinya suatu kegagalan.
3 Jenis Pemulihan :
- Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
- Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
- Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
Fasilitas pemulihan pada DBMS :
- Mekanisme backup secara periodik
- fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
- fasilitas checkpoint, melakukan update database yang terbaru.
- manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.
Teknik Pemulihan :
- defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
- Immediate Upadte / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
- Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
4. Kesatuan data dan
Enkripsi :
- Enkripsi : keamanan data
- Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
- Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Tidak ada komentar:
Posting Komentar