SSO Keycloak dengan Docker Compose dan Nginx
(du.nkel.dev)Konfigurasi Keycloak SSO: Menggunakan Docker Compose dan Nginx
- Keycloak adalah solusi manajemen identitas dan akses open source yang andal serta kompatibel dengan protokol SSO utama.
- Penyiapan menggunakan Docker Compose tidak rumit, tetapi tidak terlalu intuitif, sehingga proses konfigurasinya diringkas.
Konsep
- Menggunakan konfigurasi standar dengan Nginx sebagai reverse proxy pusat untuk meneruskan trafik ke masing-masing layanan melalui localhost.
- Ini dianggap sebagai penyiapan yang ekonomis karena berbagi sumber daya pada satu host sambil menjaga lingkungan tetap terisolasi semaksimal mungkin.
Persiapan
- Diperlukan alat dasar (SSH, VM dengan Linux terpasang, domain atau subdomain).
- Untuk konfigurasi Docker rootless, buat pengguna non-root baru tanpa kata sandi bernama
keycloak, perbarui rentang/etc/subuiddan/etc/subgid, instal Docker rootless, dan atur agar layanan otomatis dimulai.
Konfigurasi Keycloak
- Masuk sebagai pengguna keycloak yang baru dibuat, lalu buat direktori untuk data permanen dan file Docker.
- Tulis
docker-compose.ymldengan merujuk ke dokumentasi resmi, lalu masukkan informasi sensitif dan yang mudah berubah ke dalam file.env.
Pengujian secara lokal
- Uji stack Docker Compose, buat reverse SSH tunnel ke VM, lalu pastikan layar sambutan Keycloak muncul di browser.
Konfigurasi Nginx
- Atur Nginx sebagai reverse proxy sistem, lalu buat file
.confNginx baru untuk layanan Keycloak. - Tambahkan A record agar kueri DNS diarahkan ke IP VM di registrar domain.
Debug
- Buka
.tld.com, masuk ke Keycloak sebagai pengguna admin, lalu periksa log Docker Compose serta log akses dan error Nginx. - Jika diperlukan, periksa database Keycloak.
Build kustom dengan Dockerfile
- Alih-alih menggunakan image prabuild dari quay.io, bangun image sendiri dengan Dockerfile.
- Jalankan ulang Docker Compose untuk membangun image dan memulai layanan.
Kesimpulan
- Menjalankan layanan Keycloak di belakang reverse proxy sistem Nginx dengan Docker rootless.
- Langkah berikutnya mencakup pembaruan otomatis container Docker, penambahan login dan email layanan Keycloak, penambahan realm, serta penambahan tema.
Pendapat GN⁺:
- Pentingnya keamanan: Kondisi web saat ini membuat sulit untuk mengejar kerentanan terkait keamanan, sehingga penting menggunakan solusi tepercaya seperti Keycloak.
- Arsitektur yang efisien: Pendekatan yang berbagi sumber daya pada satu host sambil mengisolasi lingkungan tetap hemat biaya dan mudah dikelola.
- Kemampuan kustomisasi: Build kustom menggunakan Dockerfile memberikan fleksibilitas untuk menyesuaikan Keycloak dengan kebutuhan sendiri.
1 komentar
Opini Hacker News
Pendapat pengguna yang memilih Authelia:
Pendapat pengguna yang punya pengalaman menggunakan JetBrains Hub dan Keycloak lalu memilih Dex:
Pendapat pengguna yang membuat tabel perbandingan server OpenID Connect:
Pendapat pengguna tentang masalah keamanan Keycloak:
Pendapat pengguna yang membagikan pengalaman mengimplementasikan Keycloak di AWS ECS:
Pendapat pengguna yang menyebut Keycloakify secara positif:
Pendapat pengguna yang membandingkan Authelia dan Keycloak:
Pendapat pengguna yang membagikan pengalaman menggunakan Keycloak:
Pendapat pengguna yang pernah menggunakan Zitadel:
Pendapat pengguna yang mengeluhkan kesulitan menggunakan Keycloak: