5.7 KiB
LDAP — Zammad ke Active Directory
Terakhir Diperbarui: 2026-07-02
AD:10.100.1.40· domaingisportal.id
⚠️ Bind password tidak didokumentasikan di repo — sama dengangeonet-console.env
Prasyarat
- Zammad setup wizard selesai (admin
support@geonet.co.id) - Koneksi TCP
10.100.1.40:389dari container Zammad - LDAP bind + search uji dari container (
BIND_OK,SEARCH_OK) - LDAP source
GIS Portal ADdikonfigurasi & first sync selesai (2026-07-02)
Test koneksi (sudah diverifikasi 2026-07-02)
Dari server 10.100.1.24:
# TCP
nc -zv -w5 10.100.1.40 389
# Bind + search (script di /tmp/ldap-test.rb via rails runner)
source /opt/stacks/geonet-console/.env
docker exec -e LDAP_HOST -e LDAP_PORT -e LDAP_BASE_DN -e LDAP_BIND_DN -e LDAP_BIND_PASSWORD \
zammad-zammad-railsserver-1 bundle exec rails runner /tmp/ldap-test.rb
# Harapan: BIND_OK + SEARCH_OK
Credential bind reuse dari /opt/stacks/geonet-console/.env (sama dengan geonet-console).
Step-by-step — UI Zammad
Login admin → https://zammad.gisportal.id
Langkah 1 — Buka menu LDAP (Zammad 7)
⚠️ Penting — jangan salah menu:
| Lokasi | Isi | LDAP? |
|---|---|---|
| Settings → Security → Third-party applications | SAML, SSO | ❌ Bukan di sini |
| Settings → System | Base, Storage, Network, Frontend | ❌ Bukan di sini |
| System → Integrations | LDAP, GitHub, Exchange, … | ✅ Di sini |
Di Zammad 7 ada dua menu terpisah di panel Admin (ikon ⚙️):
- Settings (
#settings) — branding, security, ticket, dll. - System (
#system) — integrations, API, maintenance, dll.
LDAP ada di menu System (bukan di dalam Settings → System).
Path yang benar:
Admin (⚙️) → System → Integrations → klik LDAP
Atau langsung buka URL:
https://zammad.gisportal.id/#system/integration/ldap
URL
#settings/integration/ldaptidak ada di Zammad 7 — itu penyebab halaman tidak merespons.
Klik New Source untuk menambah sumber LDAP baru.
Referensi resmi: Zammad Admin — LDAP / Active Directory
Langkah 2 — Connection
| Field UI | Nilai |
|---|---|
| Name | GIS Portal AD |
| Host | 10.100.1.40 |
| Port | 389 |
| SSL | Off / unchecked (sama geonet-console: LDAP_USE_SSL=false) |
| Base DN | DC=gisportal,DC=id |
| Bind user | Administrator@gisportal.id |
| Bind password | (dari .env geonet-console — LDAP_BIND_PASSWORD) |
Klik Test connection jika ada — harus sukses.
Langkah 3 — User filter & attributes
| Field UI | Nilai |
|---|---|
| User filter | (&(objectClass=user)(objectCategory=person)) |
| Login attribute | sAMAccountName |
| Email attribute | mail |
| Firstname | givenName |
| Lastname | sn |
| Username attribute | sAMAccountName |
Opsi yang disarankan:
- Sync users on login — ✅ aktif
- Create user on login — ✅ aktif (user AD otomatis dibuat di Zammad)
Langkah 4 — Role / group mapping (disarankan)
Setelah user AD bisa login, petakan AD group → Zammad role:
| AD group (contoh) | Zammad role |
|---|---|
Domain Admins / IT-Admin (sesuaikan) |
Admin |
Domain Users atau group support |
Agent |
| (default) | Customer |
Di LDAP config Zammad, bagian Role mapping / Group mapping:
- Attribute group:
memberOf - Filter group:
(objectClass=group)
Nama group AD cek di AD atau geonet-console → LDAP Users/Groups.
Langkah 5 — Aktifkan LDAP login
- Set LDAP sebagai metode login (nonaktifkan signup publik jika ada)
- Settings → System → Login — pastikan hanya LDAP / AD untuk user internal
Langkah 6 — Uji login
- Logout dari admin Zammad
- Login dengan user AD uji, mis.
sAMAccountName+ password AD (bukan email, kecuali UI minta UPN) - Cek Manage → Users — user AD muncul setelah login pertama
Parameter referensi (geonet-console)
| Env geonet-console | Nilai |
|---|---|
LDAP_HOST |
10.100.1.40 |
LDAP_PORT |
389 |
LDAP_BASE_DN |
DC=gisportal,DC=id |
LDAP_BIND_DN |
Administrator@gisportal.id |
LDAP_GROUP_CONTAINER_DN |
CN=Users,DC=gisportal,DC=id |
LDAP_ADMIN_GROUPS |
Domain Admins,Administrators,Enterprise Admins |
Troubleshooting
| Gejala | Penyebab | Tindakan |
|---|---|---|
| LDAP tidak ada di menu | Salah buka Settings → Security atau Settings → System | Buka System → Integrations (menu terpisah, bukan di dalam Settings) |
URL #settings/integration/ldap tidak respon |
Route Zammad 7 pakai #system, bukan #settings |
Pakai https://zammad.gisportal.id/#system/integration/ldap |
| Hanya SAML/SSO di Third-party | Itu menu autentikasi SAML, bukan LDAP sync | LDAP ada di System → Integrations |
| Test connection gagal | Bind password salah | Cek /opt/stacks/geonet-console/.env |
| Login gagal, bind OK | Login attribute salah | Pakai sAMAccountName, bukan email |
| User tanpa email | Atribut mail kosong di AD |
Isi mail di AD atau fallback di Zammad |
| Tidak bisa reach AD | Firewall | Pastikan .24 → .40:389 (sudah OK) |
Setelah LDAP OK
- Update
docs/project-status.md— LDAP ✅ (2026-07-02) - Role mapping AD group → Zammad role
- Uji login user AD (
sAMAccountName) - Tindak 3 user gagal sync (cek
maildi AD) - Buat API token untuk FE
/ticketing - Lanjut
mysupperapps_FE_PWA— halaman/ticketing
Lihat docs/roadmap.md dan docs/todo.md untuk urutan lengkap.