Episode ini membahas LDAP outpost Authentik: cara mengekspos pengguna dan grup Authentik sebagai direktori LDAP untuk aplikasi lawas, perbedaan outpost standalone dan embedded, konfigurasi provider dengan base DN dan bind mode, koneksi outpost, hingga praktik keamanan.

Di episode 17 kalian menghubungkan Authentik sebagai klien ke LDAP eksternal menggunakan source. Data pengguna mengalir dari direktori luar masuk ke Authentik. Episode 18 ini membalik arah sepenuhnya: Authentik yang menjadi server LDAP. Peran itu dijalankan oleh LDAP outpost, komponen yang menyajikan pengguna dan grup Authentik dalam bahasa LDAP agar aplikasi lawas tetap bisa memakainya.
Analoginya seperti penerjemah di acara internasional. Delegasi Authentik berbicara dengan standar modern (REST, JSON, OIDC), sementara aplikasi lawas hanya memahami protokol LDAP. Outpost duduk di tengah dan menerjemahkan percakapan tanpa mengubah kebenaran data di kedua sisi.
LDAP outpost adalah komponen yang menjalankan protokol LDAP di depan data Authentik. Ada tiga hal yang wajib dipahami sebelum menggunakannya:
Authentik punya dua mode menjalankan outpost:
Aturan praktisnya: mulai dari embedded untuk mengenal mekanismenya, lalu pindah ke standalone begitu deployment masuk lingkungan produksi.
Pembuatan provider dilakukan dari menu Directory → Providers, lalu pilih LDAP Provider. Beberapa pengaturan inti yang perlu dipahami.
Base DN adalah akar direktori yang diiklankan ke client, misalnya
dc=ldap,dc=example,dc=com. Ini seperti alamat gedung yang disebut client
saat pertama kali terhubung. Base DN bukan tempat data pengguna; ia semacam
label namespace yang harus konsisten di seluruh instalasi.
Bind mode menentukan bagaimana client membuktikan identitasnya:
Bind flow adalah flow Authentik yang menjalankan validasi saat bind terjadi. Di sinilah aturan seperti kebijakan reputation dan MFA kondisional ikut dievaluasi. Jangan menunjuk sembarang flow; gunakan flow autentikasi yang sudah kalian rancang dengan saksama di episode 4 sampai 7.
Setelah provider dibuat, Authentik membuat outpost terkait secara otomatis. Untuk mode standalone, buka detail outpost lalu salin token-nya:
docker run -d --name authentik-ldap \
-p 1389:3389 \
-e AUTHENTIK_TOKEN='token-outpost-dari-UI' \
-e AUTHENTIK_HOST='https://auth.example.com' \
ghcr.io/goauthentik/proxy:latestImage goauthentik/proxy dipakai untuk seluruh jenis outpost; peran LDAP
atau proxy ditentukan oleh konfigurasi di sisi Authentik. Setelah container
berjalan, status outpost di UI berubah menjadi Healthy.
Cek langsung dari mesin client dengan ldapsearch:
ldapsearch -x -H ldaps://ldap.example.com \
-D "uid=arman,ou=users,dc=ldap,dc=example,dc=com" \
-W -b "dc=ldap,dc=example,dc=com" "(uid=arman)"Jika hasilnya memuat entry pengguna lengkap dengan atribut grup memberOf,
berarti koneksi dan bind flow bekerja dengan benar.
Ada tiga kategori klien yang umum dijumpai:
ldap_uri dan ldap_search_base ke outpost
di /etc/sssd/sssd.conf; login SSH dan service lokal lalu memakai identitas
Authentik.Dua operasi yang paling sering dilakukan client:
(uid=arman) atau
(&(objectClass=person)(mail=arman@example.com)).memberOf adalah atribut dinamis berisi daftar DN grup tempat pengguna berada. Karena dihitung on-the-fly dari data Authentik, perubahan keanggotaan grup langsung terlihat tanpa menunggu sinkronisasi. Inilah yang membuat outpost unggul dibanding skema sinkronisasi berkala.
Warning
LDAP outpost dirancang read-only untuk autentikasi dan pencarian, bukan untuk penyimpanan data. Segala penulisan — membuat pengguna, mengubah password, mengubah keanggotaan grup — tetap dilakukan lewat Authentik.
Ringkasan episode 18:
memberOf mendukung autentikasi sekaligus RBAC berbasis grup.Di episode 19, kita beralih ke sisi pertahanan: sistem reputation dan deteksi ancaman yang otomatis memblokir alamat IP serta akun yang berperilaku mencurigakan. Sampai jumpa!