Lewati ke konten

Sediakan pengguna dengan SCIM

Gunakan panduan ini ketika Anda menginginkan kendali atas siklus hidup — offboarding harus mencabut akses secara otomatis, bukan sekadar memblokir login berikutnya. SCIM adalah protokol push yang dipakai IdP (Okta, Entra ID dan lainnya) untuk tepat hal itu.

  • SSO sudah berfungsi (tutorial SSO atau panduan OIDC),
  • server yang dapat dijangkau IdP melalui HTTPS — panggilan SCIM datang dari IdP, bukan dari browser pengguna. Gunakan tunnel bawaan (Pengaturan → Server → Koneksi & status → Bagikan server ini → Cloudflared/ngrok/Tailscale) atau URL publik. Server yang hanya dapat dijangkau melalui relay WebSocket tidak dapat menerima push SCIM; provisioning JIT tetap berfungsi di sana, sedangkan panduan ini tidak.
  1. Buka Pengaturan → Server → Single sign-on → kartu Penyediaan pengguna (SCIM). Kartu itu menampilkan endpoint, misalnya https://<your-server>/scim/v2/Users.
  2. Klik Buat token (atau Buat ulang token jika sudah ada) — bearer token muncul sekali dalam dialog dan disalin ke papan klip. Simpan di pengelola kata sandi Anda; server hanya menyimpan salinan yang dapat diverifikasi dengan waktu konstan.
  3. Di pengaturan provisioning IdP Anda, aktifkan SCIM dengan:
    • Base URL: endpoint di atas
    • Autentikasi: Authorization: Bearer <token>
    • ID pengguna: userName (email) atau externalId — keduanya cocok
  4. Uji dengan satu pengguna: push mereka dari IdP, pastikan mereka muncul (pembuatan SCIM menyematkan externalId milik penyedia ke akun itu, penyematan yang sama seperti yang ditetapkan login SSO pertama).

Ketika IdP mengirim active: false (atau DELETE), SCIM lebih dulu menolak jika akun itu pemilik ruang kerja (alihkan kepemilikan dulu). Jika tidak:

  1. setiap kredensial perangkat dicabut lebih dulu — sesi aktif berhenti dalam hitungan detik,
  2. setiap keanggotaan ruang kerja dihapus,
  3. akun ditandai dinonaktifkan (akun itu tidak akan pernah bisa login, apa pun yang IdP katakan kemudian, sampai diaktifkan kembali secara eksplisit).

Baris pengguna itu sendiri tetap ada — atribusi pada tiket, pesan, dan commit bersifat permanen. Aktivasi ulang (SCIM active: true) memulihkan login tetapi bukan keanggotaan: itu memerlukan undangan baru atau kebijakan anggota otomatis saat login.

  • 401 pada setiap panggilan — token berubah; buat ulang lalu perbarui IdP.
  • Endpoint tidak dapat dijangkau — tunnel sedang mati, atau server hanya relay. SCIM memerlukan HTTPS langsung; JIT tetap berfungsi apa pun itu.
  • Galat push grup (501) — memang disengaja: pemetaan grup→peran terjadi saat login dari atribut grup SAML/OIDC, bukan dari grup yang di-push.