Pengamanan Basis Data

advertisement
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 orangorang 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 objekobjek 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
Update (All)
Select (All)
A
Update (All)
D
B
Insert +
Delete (All)
C
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
A001
B
A11.003
B003
A
A11.001
A001
D
• 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
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
3
7
A003
Pemrog. Internet
3
5
NIM
Kode_kul
nilai
A11.001
A001
A
A11.002
A004
B
A11.003
A003
B
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
Kode_kul
S1-TI
Nama_kul
sks
smt
A001
Struktur Data
3
5
A002
SBD
3
7
A003
Pemrog. Internet
3
5
Kode_kul
Nama_kul
sks
smt
B001
Struktur Data
3
5
B002
SBD
3
7
A003
Pemrog.
Internet
3
5
• 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
A11.003
A004
B
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
A11.003
A004
B
• 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
Download