DB2 - Keamanan Database
Bab ini menjelaskan keamanan database.
pengantar
Database dan fungsi DB2 dapat dikelola oleh dua mode kontrol keamanan yang berbeda:
- Authentication
- Authorization
Autentikasi
Otentikasi adalah proses untuk memastikan bahwa pengguna masuk hanya sesuai dengan hak untuk melakukan aktivitas yang diizinkan untuk dilakukannya. Otentikasi pengguna dapat dilakukan di tingkat sistem operasi atau tingkat database itu sendiri. Dengan menggunakan alat otentikasi untuk biometrik seperti retina dan cetakan gambar digunakan untuk menjaga database dari peretas atau pengguna jahat.
Keamanan database dapat dikelola dari luar sistem database db2. Berikut adalah beberapa jenis proses otentikasi keamanan:
- Berdasarkan otentikasi Sistem Operasi.
- Protokol Akses Direktori Ringan (LDAP)
Untuk DB2, layanan keamanan merupakan bagian dari sistem operasi sebagai produk terpisah. Untuk Authentication, diperlukan dua kredensial yang berbeda, yaitu userid atau username, dan password.
Otorisasi
Anda dapat mengakses Database DB2 dan fungsinya dalam sistem database DB2, yang dikelola oleh manajer Database DB2. Otorisasi adalah proses yang dikelola oleh manajer Database DB2. Manajer memperoleh informasi tentang pengguna terotentikasi saat ini, yang menunjukkan operasi database mana yang dapat dilakukan atau diakses pengguna.
Berikut berbagai cara izin yang tersedia untuk otorisasi:
Primary permission: Memberikan ID otorisasi secara langsung.
Secondary permission: Memberikan kepada grup dan peran jika pengguna adalah anggota
Public permission: Hibah untuk semua pengguna secara publik.
Context-sensitive permission: Memberikan peran konteks tepercaya.
Otorisasi dapat diberikan kepada pengguna berdasarkan kategori di bawah ini:
- Otorisasi tingkat sistem
- Administrator sistem [SYSADM]
- Kontrol Sistem [SYSCTRL]
- Pemeliharaan sistem [SYSMAINT]
- Monitor sistem [SYSMON]
Otoritas memberikan kontrol atas fungsionalitas tingkat instans. Otoritas memberikan hak istimewa grup, untuk mengontrol pemeliharaan dan operasi otoritas. Misalnya, database dan objek database.
- Otorisasi tingkat database
- Administrator Keamanan [SECADM]
- Administrator Basis Data [DBADM]
- Kontrol Akses [ACCESSCTRL]
- Akses data [DATAACCESS]
- Administrator SQL. [SQLADM]
- Administrator manajemen beban kerja [WLMADM]
- Jelaskan [JELASKAN]
Otoritas memberikan kontrol dalam database. Otoritas lain untuk database termasuk dengan LDAD dan CONNECT.
- Object-Level Authorization: Otorisasi Tingkat Objek melibatkan hak istimewa verifikasi saat operasi dilakukan pada objek.
- Content-based Authorization: Pengguna dapat memiliki akses baca dan tulis ke baris dan kolom individual pada tabel tertentu menggunakan Kontrol akses berbasis Label [LBAC].
Tabel DB2 dan file konfigurasi digunakan untuk mencatat izin yang terkait dengan nama otorisasi. Saat pengguna mencoba mengakses data, izin yang direkam memverifikasi izin berikut:
- Nama otorisasi pengguna
- Grup mana yang menjadi milik pengguna
- Peran mana yang diberikan secara langsung kepada pengguna atau tidak langsung ke grup
- Izin diperoleh melalui konteks tepercaya.
Saat bekerja dengan pernyataan SQL, model otorisasi DB2 mempertimbangkan kombinasi dari izin berikut:
- Izin yang diberikan ke ID otorisasi utama yang terkait dengan pernyataan SQL.
- ID otorisasi sekunder yang terkait dengan pernyataan SQL.
- Diberikan kepada PUBLIK
- Diberikan pada peran konteks tepercaya.
Otoritas tingkat instans
Mari kita bahas beberapa instansi terkait.
Otoritas administrasi sistem (SYSADM)
Ini adalah otoritas administratif tingkat tertinggi di tingkat instansi. Pengguna dengan otoritas SYSADM dapat menjalankan beberapa database dan perintah manajer database di dalam instance. Pengguna dengan otoritas SYSADM dapat melakukan operasi berikut:
- Tingkatkan Database
- Pulihkan Database
- Perbarui file konfigurasi manajer database.
Otoritas kontrol sistem (SYSCTRL)
Ini adalah level tertinggi dalam otoritas kontrol Sistem. Ini menyediakan untuk melakukan operasi pemeliharaan dan utilitas terhadap instance manajer database dan database-nya. Operasi ini dapat memengaruhi sumber daya sistem, tetapi tidak mengizinkan akses langsung ke data dalam database.
Pengguna dengan otoritas SYSCTRL dapat melakukan tindakan berikut:
- Memperbarui direktori database, Node, atau Distributed Connect Service (DCS)
- Memaksa pengguna keluar dari level sistem
- Membuat atau Menghapus tingkat database
- Membuat, mengubah, atau menghapus ruang tabel
- Menggunakan ruang meja apa saja
- Mengembalikan Database
Otoritas pemeliharaan sistem (SYSMAINT)
Ini adalah otoritas kontrol sistem tingkat kedua. Ini menyediakan untuk melakukan operasi pemeliharaan dan utilitas terhadap instance manajer database dan database-nya. Operasi ini memengaruhi sumber daya sistem tanpa mengizinkan akses langsung ke data dalam database. Otoritas ini dirancang bagi pengguna untuk memelihara database dalam contoh manajer database yang berisi data sensitif.
Hanya Pengguna dengan SYSMAINT atau otoritas sistem tingkat yang lebih tinggi yang dapat melakukan tugas-tugas berikut:
- Mengambil cadangan
- Mengembalikan cadangan
- Roll maju pemulihan
- Memulai atau menghentikan instance
- Memulihkan ruang tabel
- Menjalankan perintah db2trc
- Mengambil snapshot monitor sistem jika ada pengguna level Instance atau pengguna level database.
Seorang pengguna dengan SYSMAINT dapat melakukan tugas-tugas berikut:
- Buat kueri status tablespace
- Memperbarui file riwayat log
- Mengatur ulang tabel
- Menggunakan RUNSTATS (Statistik katalog koleksi)
Otoritas monitor sistem (SYSMON)
Dengan otoritas ini, pengguna dapat memantau atau mengambil snapshot dari instance pengelola database atau database-nya. Otoritas SYSMON memungkinkan pengguna untuk menjalankan tugas-tugas berikut:
- DAPATKAN PENGALIHAN MONITOR DATABASE MANAGER
- DAPATKAN MONITOR SWITCHES
- DAPATKAN SNAPSHOT
- DAFTAR
- DAFTAR DATABASE AKTIF
- DAFTAR APLIKASI
- DAFTAR KELOMPOK PARTISI DATABASE
- DAFTAR APLIKASI DCS
- DAFTAR PAKET
- DAFTAR TABEL
- DAFTAR TABLESPACE CONTAINER
- DAFTAR TABEL
- DAFTAR UTITLITAS
- SETEL ULANG MONITOR
- PERBARUI PERALIHAN MONITOR
Otoritas database
Setiap otoritas database memegang ID otorisasi untuk melakukan beberapa tindakan pada database. Otoritas database ini berbeda dari hak istimewa. Berikut adalah daftar dari beberapa otoritas database:
ACCESSCTRL: memungkinkan untuk memberikan dan mencabut semua hak istimewa objek dan otoritas database.
BINDADD: Memungkinkan untuk membuat paket baru dalam database.
CONNECT: Memungkinkan untuk terhubung ke database.
CREATETAB: Memungkinkan untuk membuat tabel baru di database.
CREATE_EXTERNAL_ROUTINE: Memungkinkan untuk membuat prosedur yang akan digunakan oleh aplikasi dan pengguna database.
DATAACCESS: Memungkinkan untuk mengakses data yang disimpan dalam tabel database.
DBADM: Bertindak sebagai administrator database. Ini memberikan semua otoritas database lain kecuali ACCESSCTRL, DATAACCESS, dan SECADM.
EXPLAIN: Memungkinkan untuk menjelaskan rencana kueri tanpa mengharuskan mereka untuk memegang hak istimewa untuk mengakses data di tabel.
IMPLICIT_SCHEMA: Memungkinkan pengguna untuk membuat skema secara implisit dengan membuat objek menggunakan pernyataan CREATE.
LOAD: Memungkinkan untuk memuat data ke dalam tabel.
QUIESCE_CONNECT: Memungkinkan untuk mengakses database saat diam (untuk sementara dinonaktifkan).
SECADM: Memungkinkan bertindak sebagai administrator keamanan untuk database.
SQLADM: Memungkinkan untuk memantau dan menyesuaikan pernyataan SQL.
WLMADM: Memungkinkan untuk bertindak sebagai administrator beban kerja
Hak Istimewa
SETSESSIONUSER
Hak istimewa ID otorisasi melibatkan tindakan pada ID otorisasi. Hanya ada satu hak istimewa, yang disebut hak istimewa SETSESSIONUSER. Ini dapat diberikan kepada pengguna atau grup dan memungkinkan pengguna sesi untuk mengalihkan identitas ke salah satu ID otorisasi di mana hak istimewa diberikan. Hak istimewa ini diberikan oleh otoritas SECADM pengguna.
Hak istimewa skema
Hak istimewa ini melibatkan tindakan pada skema di database. Pemilik skema memiliki semua izin untuk memanipulasi objek skema seperti tabel, tampilan, indeks, paket, tipe data, fungsi, pemicu, prosedur, dan alias. Pengguna, grup, peran, atau PUBLIK dapat diberikan hak istimewa berikut kepada pengguna mana pun:
- CREATEIN: memungkinkan untuk membuat objek dalam skema
- ALTERIN: memungkinkan untuk memodifikasi objek dalam skema.
JATUHKAN
Ini memungkinkan untuk menghapus objek dalam skema.
Hak istimewa ruang tabel
Hak istimewa ini melibatkan tindakan pada tablespaces di database. Pengguna dapat diberikan hak istimewa USE untuk tablespaces. Hak istimewa tersebut kemudian memungkinkan mereka untuk membuat tabel dalam tablespaces. Pemilik hak istimewa dapat memberikan hak istimewa USE dengan perintah WITH GRANT OPTION di tablespace saat tablespace dibuat. Dan otoritas SECADM atau ACCESSCTRL memiliki izin untuk menggunakan hak istimewa di tablespace.
Hak istimewa tabel dan tampilan
Pengguna harus memiliki otoritas CONNECT pada database untuk dapat menggunakan tabel dan melihat hak istimewa. Hak istimewa untuk tabel dan tampilan seperti yang diberikan di bawah ini:
KONTROL
Ini memberikan semua hak istimewa untuk tabel atau tampilan termasuk drop and grant, mencabut hak istimewa tabel individu kepada pengguna.
MENGUBAH
Ini memungkinkan pengguna untuk mengubah tabel.
MENGHAPUS
Ini memungkinkan pengguna untuk menghapus baris dari tabel atau tampilan.
INDEKS
Ini memungkinkan pengguna untuk memasukkan baris ke dalam tabel atau tampilan. Itu juga dapat menjalankan utilitas impor.
REFERENSI
Ini memungkinkan pengguna untuk membuat dan melepaskan kunci asing.
PILIH
Ini memungkinkan pengguna untuk mengambil baris dari tabel atau tampilan.
MEMPERBARUI
Ini memungkinkan pengguna untuk mengubah entri dalam tabel, tampilan.
Keistimewaan paket
Pengguna harus memiliki otoritas CONNECT ke database. Paket adalah objek database yang berisi informasi pengelola database untuk mengakses data dengan cara yang paling efisien untuk aplikasi tertentu.
KONTROL
Ini memberi pengguna hak istimewa untuk me-rebinding, menjatuhkan atau menjalankan paket. Seorang pengguna dengan hak istimewa ini diberikan hak istimewa BIND dan EXECUTE.
MENGIKAT
Ini memungkinkan pengguna untuk mengikat atau mengikat kembali paket itu.
MENJALANKAN
Memungkinkan untuk mengeksekusi paket.
Hak istimewa indeks
Hak istimewa ini secara otomatis menerima hak istimewa CONTROL pada indeks.
Hak istimewa urutan
Urutan secara otomatis menerima hak istimewa PENGGUNAAN dan ALTER pada urutan.
Hak istimewa rutin
Ini melibatkan tindakan rutinitas seperti fungsi, prosedur, dan metode dalam database.