Belajar Keycloak - Pre-Requisites & Setup Environment
Episode 0 of 31

Belajar Keycloak - Pre-Requisites & Setup Environment

Menyiapkan fondasi belajar Keycloak: skill dasar yang wajib dikuasai, software dan hardware yang dibutuhkan, konsep realm, serta menjalankan Keycloak dengan Docker untuk mulai bereksperimen di localhost.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Selamat datang di episode 0 dari series Belajar SSO dengan Keycloak! Series ini membawa kalian dari nol hingga siap membangun platform identitas terpusat: memahami apa itu Single Sign-On (SSO), menguasai protokol identitas seperti OAuth 2.0 dan OpenID Connect, lalu mengoperasikan Keycloak sebagai otoritas autentikasi untuk semua aplikasi kalian. Sebelum masuk ke materi inti, episode ini memastikan skill, software, dan lingkungan kalian benar-benar siap.

SSO adalah konsep sederhana dengan dampak besar: satu autentikasi, akses ke banyak aplikasi. Alih-alih login ulang di setiap sistem, pengguna cukup login sekali di pusat identitas, dan pusat itulah yang menangani autentikasi, sesi, dan kebijakan akses. Di series ini, pusat itu adalah Keycloak.

Apa Itu SSO dan Roadmap Series

SSO (Single Sign-On) berarti pengguna melakukan autentikasi satu kali di sebuah identity provider, lalu token yang diperoleh dipakai untuk mengakses banyak aplikasi tanpa login ulang. Keycloak adalah identity and access management (IAM) open-source dari Red Hat yang mengimplementasikan konsep ini dengan dukungan penuh untuk OAuth 2.0, OpenID Connect, SAML 2.0, dan LDAP.

Roadmap series ini terdiri dari 31 episode dalam beberapa fase:

  • Fase 1 (episode 0-3): pre-requisites, sejarah SSO, overview protokol identitas, dan arsitektur Keycloak.
  • Fase 2 (episode 4-8): deep dive OAuth 2.0 — grant types, token, scopes, dan consent.
  • Fase 3 (episode 9-11): OpenID Connect — ID token, claims, dan session management.
  • Fase 4 (episode 12-14): SAML 2.0 — Keycloak sebagai SAML IdP dan integrasi service provider.
  • Fase 5 (episode 15-18): user federation, social login, SCIM, dan manajemen groups & roles.
  • Fase 6+ (episode 19-31): instalasi produksi, themes, events & auditing, MFA, keamanan, dan production deployment.

Episode 0 ini adalah landasan: pastikan skill dan environment kalian siap sebelum mulai menyentuh Keycloak.

Skill Dasar yang Wajib Dikuasai

Belajar Keycloak bukan sekadar mengklik tombol di admin console. Kalian akan membaca konfigurasi, memahami token, dan men-debug alur autentikasi. Skill berikut wajib dikuasai setidaknya pada level menengah:

  • Authentication vs authorization — membedakan "siapa kalian" dan "apa yang boleh kalian akses"; inilah yang membedakan OAuth 2.0 dari OpenID Connect.
  • Konsep kriptografi dasar — public/private key, sertifikat, signature, dan struktur JWT.
  • HTTP fundamentals — headers, cookies, redirects, dan status codes; seluruh alur SSO berjalan di atas HTTP.
  • Konsep RESTful API — memahami endpoint, method, dan payload JSON.
  • JSON dan XML — JSON dipakai oleh OAuth 2.0 dan OIDC; XML dipakai oleh SAML.
  • Web security dasar — memahami XSS dan CSRF karena keduanya terkait erat dengan redirect URI dan state parameter.
  • DNS basics — memahami hostname dan bagaimana browser diarahkan ke server Keycloak.
  • Pemahaman IAM — istilah realm, client, user, role, dan group akan menjadi kosakata harian kalian.

Software & Tools yang Perlu Disiapkan

Siapkan setidaknya tool berikut di mesin kalian:

ToolKegunaan
JDK 11 atau 17Menjalankan Keycloak (Java 17+ direkomendasikan)
Docker & Docker ComposeCara tercepat menjalankan Keycloak untuk development
PostgreSQL atau MySQLDatabase produksi untuk user store Keycloak
Postman atau InsomniaMenguji endpoint token dan Admin REST API
OpenSSLMembuat dan memeriksa sertifikat
Browser modernMengakses admin console dan account console
IDE (VS Code, IntelliJ)Menulis kode aplikasi contoh
Aplikasi contoh (Node.js, Python, Java)Bahan praktik integrasi di episode-episode berikutnya

Fokus utama episode ini adalah Docker karena itu cara tercepat untuk mulai bermain. JDK tetap penting karena memahami cara kerja Java membantu saat kalian menyesuaikan JVM Keycloak di produksi.

Hardware dan VM Requirements

Spesifikasi berikut cukup untuk mengikuti seluruh series ini dengan nyaman:

  • RAM minimal 4 GB, rekomendasi 8 GB ke atas.
  • Storage minimal 20 GB ruang kosong untuk image, database, dan aplikasi contoh.
  • CPU minimal dual-core.
  • Multiple VM opsional, berguna saat mensimulasikan production deployment dengan beberapa instance.
  • Koneksi jaringan stabil untuk menarik image dan mengakses dokumentasi.

Untuk sebagian besar episode, satu mesin lokal sudah cukup. VM tambahan baru diperlukan saat masuk fase deployment dan clustering.

Setup Environment: Menjalankan Keycloak dengan Docker

Cara tercepat menjalankan Keycloak adalah lewat image resmi di quay.io. Keycloak 25 ke atas menetapkan admin awal lewat environment variable KC_BOOTSTRAP_ADMIN_USERNAME dan KC_BOOTSTRAP_ADMIN_PASSWORD:

Menjalankan Keycloak mode development
docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin123 \
  quay.io/keycloak/keycloak:latest start-dev

Perintah docker run di atas menjalankan Keycloak dalam mode start-dev — mode development yang praktis karena tidak memerlukan konfigurasi HTTPS dan database eksternal. Ini bukan mode untuk produksi, melainkan untuk belajar.

Jika kalian lebih suka docker-compose, buat file berikut:

docker-compose.yml
services:
  keycloak:
    image: quay.io/keycloak/keycloak:latest
    command: start-dev
    ports:
      - "8080:8080"
    environment:
      KC_BOOTSTRAP_ADMIN_USERNAME: admin
      KC_BOOTSTRAP_ADMIN_PASSWORD: admin123
    volumes:
      - keycloak-data:/opt/keycloak/data
 
volumes:
  keycloak-data:

Jalankan dengan docker compose up -d, lalu cek log dengan docker logs -f keycloak. Keycloak siap saat log menampilkan pesan yang menandakan server started.

Konsep Realm

Setelah Keycloak berjalan, hal pertama yang perlu kalian pahami adalah realm. Realm adalah ruang isolasi (namespace) yang memisahkan sekumpulan user, client, role, dan konfigurasi dari realm lainnya. Bayangkan realm sebagai "tenant" tersendiri di dalam Keycloak.

Setiap instalasi Keycloak memiliki realm khusus bernama master yang khusus untuk administrasi. Saat membuat aplikasi kalian sendiri, praktik terbaiknya adalah membuat realm baru — jangan memakai realm master untuk aplikasi bisnis.

Verifikasi Instalasi

Lakukan verifikasi berikut untuk memastikan semuanya berjalan:

  1. Buka http://localhost:8080 di browser. Kalian akan diarahkan ke halaman selamat datang Keycloak.
  2. Pilih menu Administration Console dan login dengan admin dan password yang tadi kalian set.
  3. Pada sidebar kiri, pastikan kalian melihat dropdown realm dengan nilai master.
  4. Coba buat realm baru lewat tombol Create Realm, beri nama misalnya belajar, lalu hapus jika tidak dibutuhkan.

Jika halaman admin console terbuka dan kalian bisa membuat realm, environment kalian siap untuk seluruh series ini.

Penutup

Episode 0 menempatkan fondasi: kalian memahami posisi series ini dalam 31 episode, menguasai daftar skill dasar, menyiapkan software dan hardware yang dibutuhkan, serta menjalankan Keycloak dengan Docker dalam mode development. Konsep realm juga sudah kalian kenal.

Inti yang harus dibawa pulang:

  • Docker adalah jalan tercepatdocker run dengan start-dev cukup untuk memulai tanpa konfigurasi rumit.
  • Realm adalah batas isolasi — setiap aplikasi sebaiknya punya realm sendiri, bukan memakai master.
  • Skill HTTP, kriptografi, dan IAM menentukan — semua materi berikutnya dibangun di atasnya.
  • Mode start-dev bukan untuk produksi — episode tentang production deployment akan membahas cara yang benar.

Di episode 1 berikutnya, kita mundur selangkah untuk memahami mengapa SSO dibutuhkan — sejarah evolusi autentikasi, masalah password fatigue, dan apa saja keuntungan serta risiko SSO sebelum kalian mulai mengadopsinya di organisasi.

Belajar Keycloak - Pre-Requisites & Setup Environment | Belajar SSO dengan Keycloak