- Semua resource kontrol by DBMS - Kondisi yang dibutuhkan agar user dapat mengakses fungsi DBMS - User diberi hak untuk mengakses fungsi - Atau fungsi tertentu diberikan hak akses oleh seluruh grup - Seluruh fungsi diberikan level autorisasi-nya - Contoh : programmer GR hanya bisa mengakses GR - Dba memiliki tanggung jawab security DB
- Authentikasi yang kuat langkah pertama implementasi sekuritas - Passowrd harus rutin diganti untuk mempersulit hacker menjebol sekuritas - DBA melakukan otomatisasi prosedur mengirim notifikasi password mengingatkan user rutin mengganti password - ada DBMS memiliki fungsi untuk notifikasi otomatis pergantian password - jika user DBMS keluar dari perusahaan / pindah posisi DBA harus menghapus login dari sistem - user yang dapat membuat database objek dibatasi DBA saja
Hindari password terlalu pendek setiap password teridiri dari apfabet karakter, numeric dan simbol hindari password berupa kata komplit jangan ikutkan statistik personal pada password pertimbangkan penggabungan 2 kata dengan angka gunakan alat pengingat untuk mengingat password
DBA melakukan kontrol DB sekuriti dan authorisasi Data Control Language atau DCL, salah satu dari subtipe SQL (selain DDL dan DML) DCL statemen memiliki dua dasar : GRANT dan REVOKE. Hindari penggunaan Grand dan Revoke statement dalam program aplikasi, hanya gunakan lewat DBMS manager
Setiap user akun memiliki › Unique username › Authentication method › Default tablespace › Temporary tablespace › User profile
The collection of objects owned by a user is the schema. A user can be associated with only one schema Username and schema are often used interchangeably.
Sintaks masuk dengan user : conn userName [/pass] Sintaks untuk lihat login dengan user apa Show user
CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE def_tabspace] [TEMPORARY TABLESPACE temp_tabspace]; sintaks delete user DROP USER user_name [cascade] sintaks create user
Table : untuk melakukan kontrol siapa yang bisa mengases dan modifikasi table Database object: untuk melakukan kontrol siapa yang dapat membuat database baru atau menghapus objek database System: untuk mengkontrol siapa saja yang dapat melakukan beberapa aktifitas level sistem Program: untuk melakukan kontrol siapa yang bisa menambah, modifikasi dan menggunakan database program Stored procedure: untuk melakukan kontrol siapa saja yang dapat melakukan eksekusi pada fungsi tertentu ada store prosedur tertentu
Object PrivilegeAllows a User to … SELECTPerform a select INSERTPerform an insert UPDATEPerform an update DELETEPerform a delete EXECUTEExecute a stored procedure
Contoh pada system privileges › GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO userDba; Database object › For example, to enable user5 and user9 to create tables and indexes, the following statement can be issued: GRANT CREATE TABLE, CREATE INDEX TO userDba;
GRANT UNLIMITED TABLESPACE TO Atau Alter quota 1M on
Revoking Privileges Revoke statement digunakan untuk menghapus privilege dari yang sebelumnya sudah diset. Sintak dari Revok kebalikan dari GRANT sintak Umumnya semua privilege akan dihapus ketika objek database dihapus contoh : REVOKE CREATE TABLE FROM userDba;
Sekali didefinisikan, sebuah Rola dapat digunakan untuk grant satu atau lebih privilege yser Role adalah koleksi dari privilege yang esensial, DBA dapat membuat role dan menetapkan privilege tertentu pada Role tsb
CREATE ROLE product_manager; CREATE ROLE hr_manager; CREATE ROLE overall_manager IDENTIFIED by manager_password;
GRANT SELECT, INSERT, UPDATE, DELETE ON product_types TO product_manager; GRANT SELECT, INSERT, UPDATE, DELETE ON products TO product_manager; GRANT SELECT, INSERT, UPDATE, DELETE ON salary_grades TO hr_manager; GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO hr_manager; GRANT CREATE USER TO hr_manager; GRANT product_manager, hr_manager TO overall_manager;
GRANT overall_manager TO userDba;
- Modern RDBMS support kemampuan dan kualitas tambahan untuk sekuritas data - bukan fungsi utama seperti penggunaan views dan stored procedures - contoh penggunaan - Vertical restriction menggunakan views untuk menampilkan kolom yang spesifk dibutuhan saat memberi privilige user - horizontal restriction menggunakan views sebagai row-level security based on konten / data
Contoh horisontal restriction CREATE view emp_all AS SELECT first_name, last_name, middle_initial, street_address, state, zip_code FROM employee; Contoh vertikal restriction CREATE view emp_dept20 AS SELECT first_name, last_name, middle_initial, street_address, state, zip_code FROM employee WHERE deptno = 20;
Fokus pada data set dan file yang digunakan oleh DBMS Enkripsi data adalah teknik encode data menjadi data acak, membuat data tidak dapat dibaca tanpa encripsi key Job Scheduling and Security schedulling biasanya menggunakan third party job scheduller seperti : CA-7, Control-M, or AutoSys Non-DBMS DBA Security Contoh root pada security di linux
Database sekuriti adalah komponen penting dalam tugas DBA Tanpa rencana sekuritu yang komperhensif, integritas database organisasi akan dipertanyakan Setiap DBA harus mempelajari mekanisme sekuritas agar dipastikan hanya user yang mebutuhkan saja yang dapat mengakses fungsi pada database tertentu