DATABASE ADMINISTRATION Pertemuan ke8 pengantar Semua resource kontrol
DATABASE ADMINISTRATION Pertemuan ke-8
pengantar 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
Database Security Basics - Authentikasi yang kuat langkah pertama implementasi sekuritas Passowrd harus rutin diganti untuk mempersulit hacker menjebol sekuritas DBA melakukan otomatisasi prosedur mengirim email 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
Panduan Password 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 �
Granting and Revoking Authority � 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
Manajemen user � Setiap user akun memiliki › › › Unique username Authentication method Default tablespace Temporary tablespace User profile
Database user dan schema � 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 user. Name [/pass] � Sintaks untuk lihat login dengan user apa Show user
sintaks create user � CREATE USER user_name IDENTIFIED BY password [DEFAULT TABLESPACE def_tabspace] [TEMPORARY TABLESPACE temp_tabspace]; sintaks delete user � DROP USER user_name [cascade]
Beberapa tipe privilige yang didukung modern DBMS antara lain � � � 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
System privileges
Objek privilege Object Privilege Allows a User to … SELECT Perform a select INSERT Perform an insert UPDATE Perform an update DELETE Perform a delete EXECUTE Execute a stored procedure
Grant privilege � Contoh pada system privileges › GRANT CREATE SESSION, CREATE USER, CREATE TABLE TO user. Dba; � Database object › For example, to enable user 5 and user 9 to create tables and indexes, the following statement can be issued: GRANT CREATE TABLE, CREATE INDEX TO user. Dba;
Grant tablespace GRANT UNLIMITED TABLESPACE TO <username> Atau Alter <username> quota 1 M on <tablespace>
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 user. Dba;
Roles � 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
Contoh create role CREATE ROLE product_manager; CREATE ROLE hr_manager; CREATE ROLE overall_manager IDENTIFIED by manager_password;
Memberikan privilege pada role 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;
Memberikan akses role pada user � GRANT overall_manager TO user. Dba;
Other Database Security Mechanisms 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_dept 20 AS SELECT first_name, last_name, middle_initial, street_address, state, zip_code FROM employee WHERE deptno = 20;
External Security � � � 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 Auto. Sys Non-DBMS DBA Security Contoh root pada security di linux
Summary � 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
Terima kasih
- Slides: 24