Mengelola identitas di Authentik: membuat user dan grup, memahami properti user dan status aktif nonaktif, service account dan impersonation, atribut kustom yang dipakai policies, sumber user dari LDAP hingga social login, dan impor massal via API.

Setelah di episode 4 kalian memahami flows & stages — dan bagaimana Authentik merangkai blok-blok autentikasi — saatnya mengelola bahan utamanya: user dan group. Tanpa user, flow tidak punya siapa yang diautentikasi; tanpa group, policies tidak punya cara mengatur akses secara terpusat. Pastikan stack kalian hidup (docker compose ps) sebelum berlatih.
Episode ini membahas manajemen identitas: membuat user dan grup, properti dan status user, service account dan impersonation, atribut kustom yang bisa dipakai policies dan property mappings, sumber user dari internal hingga LDAP dan social login, serta impor massal via API.
Di admin interface: Directory → Users → Create User. Isi minimal yang wajib: username, name, dan email. Setelah user dibuat, kalian bisa mengatur password lewat aksi user.
Properti inti yang perlu dipahami:
Menonaktifkan user (toggle is_active) adalah cara cepat memutus akses tanpa menghapus data. Ini lebih aman daripada delete: akun tetap ada untuk audit, tapi tidak bisa dipakai. Untuk memutus akses segera, nonaktifkan; hapus hanya jika akun memang harus dibuang beserta data atributnya.
Admin bisa mengatur password user lewat UI, dan user bisa mengganti sendiri lewat interface pengguna atau recovery flow. Jangan pernah berbagi password lewat channel tidak aman; untuk tim, arahkan ke recovery flow.
Authentik punya service account — akun tanpa password yang dipakai untuk otomatisasi (API, script, integrasi machine-to-machine). Buat lewat Directory → Users → Service Accounts. Service account memakai token, bukan password, dan sangat cocok untuk integrasi seperti outpost dan CI/CD.
Admin bisa impersonate user — "masuk sebagai" user tersebut tanpa tahu passwordnya. Ini sangat berguna untuk men-debug masalah yang hanya dialami user tertentu. Gunakan dengan hati-hati: semua aksi impersonation tercatat di event log.
Grup adalah cara mengelola akses secara terpusat: satu grup, banyak anggota, dan policies cukup merujuk nama grup.
engineering).engineering").attributes JSON; dipakai untuk data konteks (misalnya kode departemen, tingkat akses).authentik Admins (penuh) dan authentik Users (semua user otomatis menjadi anggotanya).Tip
Saat user baru dibuat, ia otomatis menjadi anggota grup authentik Users. Manfaatkan pola ini: jangan beri akses per-user, tapi buat grup per peran (misalnya engineering, finance, admins) dan beri akses lewat grup.
Attributes adalah kolom bebas berformat JSON di user maupun grup — semacam "custom fields" yang bisa kalian isi apa saja. Contoh penggunaan nyata:
department, employee_id, atau location pada user.sla_tier pada grup.if request.user.attributes.get("department") == "engineering":
return True
return FalseAtribut juga bisa diteruskan ke aplikasi lewat property mappings (dibahas di episode 9) — misalnya menyuntikkan department ke dalam claim token OIDC.
User Authentik tidak selalu dibuat manual. Ada beberapa source identitas:
Source mengisi user ke Authentik; policy dan flow tetap bekerja sama seperti user internal.
Untuk membuat banyak user sekaligus, jangan klik satu per satu — pakai API. Authentik menyediakan REST API lengkap dengan dokumentasi Swagger di auth.example.com/api/v3/docs/. Pola dasarnya: buat token di admin interface, lalu kirim request ke endpoint user.
curl -X POST \
-H "Authorization: Bearer <API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"username": "budi", "name": "Budi Santoso",
"email": "budi@example.com"}' \
https://auth.example.com/api/v3/core/users/Strategi impor massal yang umum: buat file CSV dengan kolom username, name, email, dan group; lalu loop baris CSV dengan script (Python, Bash, atau apa pun) yang memanggil API. Detail API dan otomatisasi akan kita bedah menyeluruh di episode 21.
Warning
Pastikan file CSV dan token API tidak ter-commit ke git — keduanya berisi data identitas dan kredensial. Simpan di tempat aman dan hapus token yang tidak terpakai.
Pada episode 5 ini kalian telah memahami manajemen identitas di Authentik: membuat user dengan properti seperti username, name, email, status is_active, dan is_superuser; memakai service account untuk otomatisasi dan impersonation untuk debugging; mengelola grup beserta hierarki dan grup bawaan authentik Admins serta authentik Users; memanfaatkan atribut JSON untuk data kustom yang dibaca policies; mengenal sumber user dari LDAP hingga social login; serta impor massal via API.
Poin yang harus kalian bawa:
Di episode 6 selanjutnya kita akan masuk ke jantung otorisasi: Policies — logika bersyarat dengan expression policy Python, policy engine dengan AND/OR, dan use case nyata seperti akses berbasis grup, batasan IP, hingga penegakan MFA. Sampai jumpa di episode 6!