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