SISTEM KEAMANAN
AKSES DATA PADA DATABASE ORACLE
1. Perkembangan Sistem Keamanan Akses Data
Sebelum membahas Virtual
Private Database lebih jauh, penulis akan membahas sedikit beberapa sistem
keamanan akses data yang sudah ada sebelumnya dan banyak dipakai para
administrator.
Pada bab pendahuluan diatas
telah sedikit dibahas suatu sistem pengaturan hak akses user terhadap
objek-objek database di Oracle yang masih bersifat tradisional yaitu privilege dan role.
Secara umum ada beberapa sistem
pengaturan hak akses user di database Oracle yaitu :
1.
Grant security (system privilege dan
object privilege)
Oracle grant security terdiri
dari system privilege dan object privilege. System
privilege memberikan hak akses kepada user untuk mengatur dan mengelola
sistem database Oracle. Terdapat sekitar 80 system privilege yang ada di
Oracle.
contoh :
sql> grant create any
cluster to customer_role;
sql> grant select any table
to fred;
sql> grant create any table
to public;
sql> grant create tablespace
to dba_role;
Object
privilege merupakan hak akses yang diberikan kepada user
untuk melakukan beberapa operasi pada beberapa objek database seperti; tabel,
view, sequence, atau procedure.
contoh :
sql> grant select, insert on
customer to fred, mary, joe;
sql> grant insert on
order_table to update_role;
sql> grant all on customer
to fred;
sql> grant select on
customer_view to mary;
2.
Role-based grant security
Role-based grant security pada
dasarnya adalah kumpulan dari beberapa privilege yang dikumpulkan menjadi satu.
Ini merupakan salah satu cara untuk memudahkan dalam pemberian hak akses kepada
user.
contoh :
sql> create role
system_admin;
sql> grant select, update on
customer to system_admin;
sql> grant select on
item_table to system_admin;
sql> grant system_admin to
user 1, user 2, user 3;
Secara umum penerapan role dan
privilege di Oracle dapat dilihat pada gambar dibawah ini :
Gambar
1. Penerapan privilege dan role
1. Grant
execute security
Oracle menyediakan kemampuan
untuk membuat hak akses dengan menciptakan suatu program tertentu melalui store
procedure dan bahasa PL/SQL. Secara spesifik sdministrator dapat berkreasi
dalam membuat hak akses user.
Secara keseluruhan grant
execute security memiliki cukup perbedaan dengan traditional grant security
yang telah dibahas sebelumnya.
2. Virtual
Private Database (VPD)
Virtual Private Database (VPD)
pertama kali diperkenalkan pada Oracle8i yang kemudian dilanjutkan pada Oracle
versi 9i dan 10g. Sistem keamanan akses data ini merupakan standar baru dalam
sistem keamanan database yang dibuat kedalam database server.
Untuk
lebih jelasnya kita akan bahas VPD pada subbab berikut ini dan bab-bab
selanjutnya.
2. Konsep Virtual Private
Database (VPD)
Virtual
Private Database
(VPD) atau row level security (RLS)
atau biasa disebut juga fine-grained
access control (FGAC) merupakan teknologi yang dapat membatasi akses
terhadap baris-baris (row) data dari
beberapa objek database yaitu tabel dan view secara run-time.
Virtual Private Database
memfasilitasi database untuk memodifikasi query berdasarkan security policy
yang terdapat pada paket policy. Sebuah security policy sangat berkaitan dengan
tabel atau view yang dituju.
Ketika user secara langsung atau tidak
memasuki tabel atau view yang berkaitan dengan VPD security policy, server
secara dinamis memodifikasi SQL statement user. Modifikasi ini berdasarkan pada
suatu kondisi yang diberikan oleh suatu fungsi yang mengimplementasi kan security policy.
Setiap user diberikan security policy yang berbeda terhadap tabel dan view yang
di-query.
Gambar 2. Pemahaman sederhana Virtual Private Database
Dari
gambar 2 diatas, terlihat bahwa setiap user akan memiliki hak akses yang
berbeda terhadap suatu sumber data (tabel atau view), walaupun user-user
tersebut melakukan perintah query yang sama, tetapi yang ditampilkan akan
berbeda-beda untuk setiap user.
Adapun akses data dengan VPD
melalui tahapan-tahapan sebagai berikut:
1. User
mengirimkan SQL ke database server.
2. Tabel
yang dituju akan memberikan pendefinisian security policy.
3. Security
policy akan mengembalikan sebuah predicate (dalam bentuk pernyataan where,
disesuaikan dengan user yang mengakses).
4. Pernyataan
SQL akan termodifikasi berdasarkan security policy.
5. Data
yang telah melalui security policy akan kembali ke user (user akan disajikan
data yang sesuai dengan hak aksesnya).
Untuk
lebih jelasnya dapat dilihat pada gambar dibawah ini :
Gambar 3. Gambaran Umum Virtual Private Database
Penggunaan security
policy menjamin otoritas akses pada baris tabel yang spesifik. Aturan akses
digunakan tanpa menghiraukan bagaimana tabel terakses, melalui aplikasi atau
secara langsung melalui query tool, seperti SQL*Plus. Yang jelas user hanya
melihat baris yang telah terotorisasi.
0 komentar:
Posting Komentar
Please Give Your Feedback Or Message.
Thank You!!?