<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Mekanisme_kontrol_akses_dan_otorisasi</id>
	<title>Mekanisme kontrol akses dan otorisasi - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Mekanisme_kontrol_akses_dan_otorisasi"/>
	<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;action=history"/>
	<updated>2026-05-04T02:09:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.4</generator>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;diff=72574&amp;oldid=prev</id>
		<title>Onnowpurbo at 00:25, 21 April 2025</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;diff=72574&amp;oldid=prev"/>
		<updated>2025-04-21T00:25:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;amp;diff=72574&amp;amp;oldid=72511&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;diff=72511&amp;oldid=prev</id>
		<title>Onnowpurbo: Created page with &quot;Berikut adalah lanjutan dari **Modul 8: Keamanan Basis Data**, dengan fokus pada **mekanisme kontrol akses dan otorisasi**, lengkap dengan **contoh implementasi di MySQL pada...&quot;</title>
		<link rel="alternate" type="text/html" href="https://onnocenter.or.id/wiki/index.php?title=Mekanisme_kontrol_akses_dan_otorisasi&amp;diff=72511&amp;oldid=prev"/>
		<updated>2025-04-13T02:13:47Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Berikut adalah lanjutan dari **Modul 8: Keamanan Basis Data**, dengan fokus pada **mekanisme kontrol akses dan otorisasi**, lengkap dengan **contoh implementasi di MySQL pada...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Berikut adalah lanjutan dari **Modul 8: Keamanan Basis Data**, dengan fokus pada **mekanisme kontrol akses dan otorisasi**, lengkap dengan **contoh implementasi di MySQL pada Ubuntu 24.04**.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🛡️ **Modul 8 (Lanjutan): Keamanan Basis Data**&lt;br /&gt;
&lt;br /&gt;
### 🎯 **Tujuan Pembelajaran**&lt;br /&gt;
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:&lt;br /&gt;
- Memahami prinsip kontrol akses berbasis peran dan pengguna.&lt;br /&gt;
- Mengelola hak akses (privileges) pengguna di MySQL.&lt;br /&gt;
- Mengimplementasikan kontrol akses menggunakan perintah GRANT, REVOKE, dan SHOW GRANTS.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🔐 **8.6 Mekanisme Kontrol Akses dan Otorisasi**&lt;br /&gt;
&lt;br /&gt;
### 🔎 Definisi:&lt;br /&gt;
&lt;br /&gt;
- **Kontrol Akses**: Menentukan **siapa** yang dapat mengakses **apa** di dalam basis data.&lt;br /&gt;
- **Otorisasi**: Proses untuk memverifikasi **apa saja yang boleh dilakukan** oleh pengguna yang telah diautentikasi.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🧱 **8.7 Struktur Sistem Hak Akses di MySQL**&lt;br /&gt;
&lt;br /&gt;
- **User**: Diidentifikasi oleh `username@host`&lt;br /&gt;
- **Privileges**: Hak untuk melakukan aksi seperti `SELECT`, `INSERT`, `UPDATE`, dll&lt;br /&gt;
- **Level Akses**:&lt;br /&gt;
  - **Global** → berlaku ke seluruh database&lt;br /&gt;
  - **Database** → berlaku ke satu database&lt;br /&gt;
  - **Tabel** → berlaku ke tabel tertentu&lt;br /&gt;
  - **Kolom** → berlaku ke kolom tertentu&lt;br /&gt;
  - **Rutin** → berlaku ke prosedur/fungsi&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🛠️ **8.8 Praktik: Kontrol Akses di MySQL (Ubuntu 24.04)**&lt;br /&gt;
&lt;br /&gt;
### 👤 1. **Membuat Pengguna Baru**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
CREATE USER 'editor'@'localhost' IDENTIFIED BY 'password123';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### ✅ 2. **Memberi Hak Akses (GRANT)**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Akses penuh ke database 'universitas'&lt;br /&gt;
GRANT ALL PRIVILEGES ON universitas.* TO 'editor'@'localhost';&lt;br /&gt;
&lt;br /&gt;
-- Akses hanya SELECT dan INSERT pada tabel mahasiswa&lt;br /&gt;
GRANT SELECT, INSERT ON universitas.mahasiswa TO 'editor'@'localhost';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🔍 3. **Melihat Hak Akses Pengguna**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
SHOW GRANTS FOR 'editor'@'localhost';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Contoh hasil:&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
GRANT SELECT, INSERT ON `universitas`.`mahasiswa` TO 'editor'@'localhost'&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### ❌ 4. **Menghapus Hak Akses (REVOKE)**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
REVOKE INSERT ON universitas.mahasiswa FROM 'editor'@'localhost';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
### 🧼 5. **Menghapus Pengguna**&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
DROP USER 'editor'@'localhost';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 📋 **8.9 Studi Kasus Kontrol Akses Berbasis Peran (Simulasi)**&lt;br /&gt;
&lt;br /&gt;
### 🎓 Skenario:&lt;br /&gt;
&lt;br /&gt;
- **Admin** boleh mengakses semua data.&lt;br /&gt;
- **Dosen** hanya bisa melihat dan menginput nilai.&lt;br /&gt;
- **Mahasiswa** hanya bisa melihat data dirinya sendiri.&lt;br /&gt;
&lt;br /&gt;
### 🧩 Implementasi Sederhana:&lt;br /&gt;
&lt;br /&gt;
```sql&lt;br /&gt;
-- Buat user untuk dosen&lt;br /&gt;
CREATE USER 'dosen'@'localhost' IDENTIFIED BY 'dosenpass';&lt;br /&gt;
GRANT SELECT, INSERT, UPDATE ON universitas.nilai TO 'dosen'@'localhost';&lt;br /&gt;
&lt;br /&gt;
-- Buat user untuk mahasiswa&lt;br /&gt;
CREATE USER 'mahasiswa'@'localhost' IDENTIFIED BY 'mahasiswapass';&lt;br /&gt;
GRANT SELECT ON universitas.mahasiswa TO 'mahasiswa'@'localhost';&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 🧠 **8.10 Tips Praktik Keamanan MySQL**&lt;br /&gt;
&lt;br /&gt;
- Gunakan **password yang kuat** dan simpan dengan aman.&lt;br /&gt;
- Hanya berikan hak minimum yang dibutuhkan pengguna (prinsip *least privilege*).&lt;br /&gt;
- Nonaktifkan user default yang tidak dipakai.&lt;br /&gt;
- Jangan pernah berikan `GRANT ALL ON *.*` kecuali untuk admin terpercaya.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
## 📌 **8.11 Kesimpulan**&lt;br /&gt;
&lt;br /&gt;
| Aksi                         | Perintah MySQL                         |&lt;br /&gt;
|------------------------------|----------------------------------------|&lt;br /&gt;
| Buat user                    | `CREATE USER`                          |&lt;br /&gt;
| Beri hak akses               | `GRANT`                                |&lt;br /&gt;
| Cek hak akses                | `SHOW GRANTS`                          |&lt;br /&gt;
| Cabut hak akses              | `REVOKE`                               |&lt;br /&gt;
| Hapus user                   | `DROP USER`                            |&lt;br /&gt;
&lt;br /&gt;
Kontrol akses dan otorisasi adalah garis pertahanan pertama dalam menjaga keamanan basis data dari penyalahgunaan akses.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Kalau kamu mau lanjut ke **Modul 9: Backup, Recovery, dan Replikasi** atau saya bantu simulasi multi-user access di MySQL (misal role-based access), tinggal bilang ya!&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>