Masuk dan akun
Putuskan siapa yang dapat membuat akun dan bagaimana orang masuk. Setiap metode masuk di Antimatter berfungsi tanpa lisensi, termasuk single sign-on dan direktori.
Siapa yang dapat membuat akun
Segera setelah instalasi, periksa Konsol Sistem › Autentikasi › Pendaftaran. Dengan pengaturan bawaan, siapa pun yang memiliki tautan undangan ke komunitas dapat membuat akun, tetapi tidak ada yang dapat mendaftar tanpa tautan tersebut.
| Pengaturan | Kunci | Bawaan | Fungsinya |
|---|---|---|---|
| Aktifkan Pembuatan Akun | TeamSettings.EnableUserCreation | on | Nonaktif, tidak ada yang dapat membuat akun dengan metode apa pun; hanya administrator yang dapat (Konsol Sistem atau amctl user create). |
| Aktifkan Server Terbuka | TeamSettings.EnableOpenServer | nonaktif | Aktif, siapa pun yang mencapai server dapat mendaftar dengan alamat email, tanpa undangan. Gunakan ini hanya untuk komunitas publik. |
| Batasi anggota sistem dan tim baru ke domain email tertentu | TeamSettings.RestrictCreationToDomains | kosong | Domain dipisahkan koma, misalnya example.com, example.org: hanya alamat dari domain ini yang dapat membuat akun. |
| Aktifkan Undangan Email | ServiceSettings.EnableEmailInvitations | nonaktif di server baru | Memungkinkan anggota mengundang orang melalui email (memerlukan SMTP). Batalkan undangan email yang tertunda membatalkan undangan yang belum diterima; undangan tersebut kedaluwarsa setelah 48 jam anyway. |
Admin komunitas juga mengendalikan siapa yang bergabung ke komunitas mereka, dengan tautan undangan dan domain yang diizinkan mereka sendiri: lihat panduan Menjalankan komunitas.
Dari baris perintah: amctl user create (tambahkan --system-admin atau --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> untuk menjadikan seseorang administrator sistem, dan amctl roles member <user> untuk membatalkannya.
Email dan kata sandi
Di Konsol Sistem › Autentikasi › Email:
| Pengaturan | Kunci | Bawaan |
|---|---|---|
| Aktifkan pembuatan akun dengan email | EmailSettings.EnableSignUpWithEmail | aktif. Matikan ketika semua orang masuk melalui single sign-on. |
| Wajibkan Verifikasi Email | EmailSettings.RequireEmailVerification | nonaktif. Aktifkan setelah email berfungsi: orang kemudian mengonfirmasi alamat mereka sebelum dapat masuk. |
| Aktifkan masuk dengan email | EmailSettings.EnableSignInWithEmail | on |
| Aktifkan masuk dengan nama pengguna | EmailSettings.EnableSignInWithUsername | on |
Di Konsol Sistem › Autentikasi › Kata Sandi:
| Pengaturan | Kunci | Bawaan |
|---|---|---|
| Panjang Minimal Kata Sandi | PasswordSettings.MinimumLength | 8 (5 hingga 72) |
| Syarat Kata Sandi: huruf kecil, huruf besar, angka, simbol | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | semua nonaktif |
| Jumlah Percobaan Masuk Maksimum | ServiceSettings.MaximumLoginAttempts | 10: setelah sebanyak itu kegagalan, akun dikunci hingga kata sandinya direset melalui email |
| Aktifkan Tautan Lupa Kata Sandi | PasswordSettings.EnableForgotLink | on |
Panjang 12 karakter atau lebih memberikan keamanan lebih daripada aturan karakter. Untuk mereset kata sandi seseorang: Konsol Sistem › Manajemen Pengguna › Pengguna, atau amctl user change-password <user> --password <new>.
Autentikasi dua faktor
Autentikasi dua faktor (MFA) menambahkan kode dari aplikasi autentikator ke kata sandi. Ini berlaku untuk akun yang masuk dengan email atau AD/LDAP; dengan single sign-on, gunakan MFA dari penyedia identitas Anda. Di Konsol Sistem › Autentikasi › MFA:
- Aktifkan Autentikasi Multi-faktor (
ServiceSettings.EnableMultifactorAuthentication, nonaktif): orang dapat mengaktifkan MFA di pengaturan keamanan mereka. - Paksa Autentikasi Multi-faktor (
ServiceSettings.EnforceMultifactorAuthentication, nonaktif): semua orang harus mengaturnya, saat mendaftar atau saat masuk berikutnya.
Jika seseorang kehilangan perangkat mereka: amctl user resetmfa <user>, atau reset dari halaman mereka di Konsol Sistem › Manajemen Pengguna › Pengguna.
Single sign-on
Antimatter dapat memfasilitasi masuk pengguna melalui penyedia identitas Anda. Pada masuk pertama kali, akun mereka dibuat (jika pembuatan akun diizinkan) dari nama, email, dan nama pengguna yang dikirim oleh penyedia.
OpenID Connect, GitLab, Google, dan Entra ID
Buka Konsol Sistem › Autentikasi › OpenID Connect, dan pilih di bawah Pilih penyedia layanan: GitLab, Google Apps, Entra ID (Office 365), atau OpenID Connect (Lainnya) untuk penyedia lain (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- Di penyedia Anda, buat aplikasi ("client") bertipe web, dengan URI pengalihan ini, untuk URL situs Anda:
Penyedia URI Pengalihan OpenID Connect (Lainnya) https://chat.example.com/signup/openid/completeGitLab https://chat.example.com/signup/gitlab/completeGoogle https://chat.example.com/signup/google/completeEntra ID https://chat.example.com/signup/office365/complete - Di Antimatter, isi Discovery Endpoint (URL
/.well-known/openid-configurationpenyedia; untuk GitLab, gunakan URL Situs GitLab sebagai gantinya), ID Klien, dan Rahasia Klien. Untuk penyedia lain, juga isi Nama Tombol dan Warna Tombol tombol masuk. - Gunakan Preferred Username (GitLab dan penyedia lain) mengambil nama pengguna Antimatter dari klaim
preferred_usernamepenyedia. - Simpan, keluar, dan coba tombol baru di halaman masuk.
Pengaturan disimpan di OpenIdSettings, GitLabSettings, GoogleSettings, atau Office365Settings (misalnya AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Halaman OAuth 2.0 lama hanya muncul untuk server yang masih memiliki konfigurasi OAuth 2.0 GitLab, Google, atau Entra ID.
SAML 2.0
Di Konsol Sistem › Autentikasi › SAML 2.0, aktifkan Aktifkan Login dengan SAML 2.0 (SamlSettings.Enable) dan isi apa yang diberikan oleh penyedia identitas Anda: URL Metadata Penyedia Identitas, atau URL SSO SAML, URL Penerbit Penyedia Identitas, dan Sertifikat Publik Penyedia Identitas. Di sisi penyedia identitas:
- Service Provider Login URL (assertion consumer service):
https://chat.example.com/login/sso/saml; - Metadata Antimatter, untuk penyedia yang mengimpor:
https://chat.example.com/api/v4/saml/metadata.
Petakan atribut yang dikirim oleh penyedia Anda: setidaknya Atribut Email dan Atribut Nama Pengguna, serta secara opsional atribut ID, nama depan dan belakang, nama panggilan, posisi, bahasa, tamu, dan admin. Verifikasi Tanda Tangan dan Aktifkan Enkripsi aktif secara default (enkripsi memerlukan kunci dan sertifikat penyedia layanan; hanya kunci RSA yang didukung); Tandatangani Permintaan nonaktif. Algoritma tanda tangan default adalah RSAwithSHA256.
AD/LDAP
Di Konsol Sistem › Autentikasi › AD/LDAP, halaman langkah demi langkah menghubungkan Antimatter ke Active Directory atau server LDAP lainnya: server dan port (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 secara bawaan), keamanan koneksi (tanpa, TLS, atau STARTTLS), base DN dan akun bind (BaseDN, BindUsername, BindPassword), filter untuk pengguna, tamu, admin, dan grup, serta atribut untuk email, nama pengguna, ID, nama, dan foto. Pengguna kemudian masuk dengan login direktori mereka.
Tugas sinkronisasi berjalan setiap 60 menit (LdapSettings.SyncIntervalMinutes) untuk memperbarui nama dan menonaktifkan orang yang dihapus dari direktori; jalankan sekarang dengan amctl ldap sync. Grup LDAP dapat ditautkan ke komunitas dan kanal di Konsol Sistem › Manajemen Pengguna › Grup. Akun SAML juga dapat disinkronkan dengan AD/LDAP (Aktifkan Sinkronisasi Akun SAML dengan AD/LDAP).
Memindahkan akun yang sudah ada
Untuk mengubah akun email yang sudah ada menjadi single sign-on, gunakan amctl user migrate-auth email saml users.json (atau ldap) untuk memindahkan mereka secara massal. Pengguna juga dapat mengubah metode masuk mereka sendiri di pengaturan keamanan mereka saat Izinkan Transfer Autentikasi (ServiceSettings.ExperimentalEnableAuthenticationTransfer, di Konsol Sistem › Eksperimental › Fitur) diaktifkan.
Akun tamu
Tamu adalah orang dari luar organisasi Anda yang hanya dapat melihat kanal yang mereka undang. Aktifkan mereka di Konsol Sistem › Autentikasi › Akses Tamu:
| Pengaturan | Kunci | Bawaan |
|---|---|---|
| Aktifkan Akses Tamu | GuestAccountsSettings.Enable | nonaktif |
| Domain Tamu yang Diizinkan | GuestAccountsSettings.RestrictCreationToDomains | kosong: tamu dapat memiliki domain email apa pun |
| Paksa Autentikasi Multi-faktor | GuestAccountsSettings.EnforceMultifactorAuthentication | nonaktif; hanya tersedia saat MFA diaktifkan dan diberlakukan untuk semua orang |
| Sembunyikan label tamu | GuestAccountsSettings.HideTags | nonaktif: tag "guest" ditampilkan di samping nama mereka |
Setelah diaktifkan, admin komunitas mengundang tamu ke kanal tertentu. Administrator dapat mengubah anggota menjadi tamu dengan amctl user demote, dan tamu menjadi anggota dengan amctl user promote.
Sesi
Durasi seseorang tetap masuk diatur di Konsol Sistem › Lingkungan › Durasi Sesi:
| Pengaturan | Kunci | Bawaan di server baru |
|---|---|---|
| Perpanjang panjang sesi dengan aktivitas | ServiceSettings.ExtendSessionLengthWithActivity | aktif: sesi diperbarui selama orang menggunakan Antimatter |
| Durasi Sesi AD/LDAP dan Email (jam) | ServiceSettings.SessionLengthWebInHours | 720 jam (30 hari) |
| Durasi Sesi Mobile (jam) | ServiceSettings.SessionLengthMobileInHours | 720 jam |
| Durasi Sesi SSO (jam) | ServiceSettings.SessionLengthSSOInHours | 720 jam |
| Batas Waktu Sesi Tidak Aktif (menit) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 menit (30 hari); hanya ditampilkan saat sesi tidak diperpanjang dengan aktivitas |
| Akhiri Sesi Saat Kata Sandi Diubah | ServiceSettings.TerminateSessionsOnPasswordChange | on |
Untuk mengeluarkan semua orang sekaligus, gunakan Cabut Semua Sesi di Konsol Sistem › Manajemen Pengguna › Pengguna. Untuk mengeluarkan satu orang, buka halaman mereka di sana.