Accesso e account
Decidi chi può creare un account e come le persone accedono. Ogni metodo di accesso di Antimatter funziona senza licenza, inclusa l'autenticazione unica e i directory.
Chi può creare un account
Subito dopo l'installazione, controlla Console di Sistema › Autenticazione › Registrazione. Con le impostazioni predefinite, chiunque disponga di un link di invito a una community può creare un account, ma nessuno può registrarsi senza di esso.
| Impostazione | Chiave | Predefinito | Funzione |
|---|---|---|---|
| Abilita creazione account | TeamSettings.EnableUserCreation | on | Disattivato: nessuno può creare un account con alcun metodo; solo gli amministratori possono farlo (Console di Sistema o amctl user create). |
| Abilita server aperto | TeamSettings.EnableOpenServer | disattivato | Attivato: chiunque raggiunga il server può registrarsi con un indirizzo e-mail, senza invito. Usalo solo per community pubbliche. |
| Limita i nuovi membri del sistema e del team a domini e-mail specificati | TeamSettings.RestrictCreationToDomains | vuoto | Domini separati da virgola, ad esempio example.com, example.org: solo gli indirizzi di questi domini possono creare un account. |
| Abilita inviti per email | ServiceSettings.EnableEmailInvitations | disattivato su un nuovo server | Consente ai membri di invitare persone tramite email (richiede SMTP). Invalida inviti email pendenti annulla gli inviti non ancora accettati; in ogni caso, scadono dopo 48 ore. |
Gli amministratori della community controllano anche chi si unisce alla loro community, tramite link di invito e domini consentiti: consulta la guida Gestione di una community.
Da riga di comando: amctl user create (aggiungi --system-admin o --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> per rendere qualcuno amministratore di sistema, e amctl roles member <user> per annullare l'operazione.
E-mail e password
In Console di Sistema › Autenticazione › Email:
| Impostazione | Chiave | Predefinito |
|---|---|---|
| Abilita creazione account con email | EmailSettings.EnableSignUpWithEmail | attivo. Disattivalo quando tutti accedono tramite autenticazione unica. |
| Richiedi Email di verifica | EmailSettings.RequireEmailVerification | disattivato. Attivalo una volta che l'e-mail funziona: le persone confermano quindi il proprio indirizzo prima di poter accedere. |
| Abilita accesso con email | EmailSettings.EnableSignInWithEmail | on |
| Abilita accesso con nome utente | EmailSettings.EnableSignInWithUsername | on |
In Console di Sistema › Autenticazione › Password:
| Impostazione | Chiave | Predefinito |
|---|---|---|
| Lunghezza Minima Password | PasswordSettings.MinimumLength | 8 (da 5 a 72) |
| Requisiti della password: minuscole, maiuscole, numero, simbolo | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | tutto disattivato |
| Numero massimo tentativi di login | ServiceSettings.MaximumLoginAttempts | 10: dopo questo numero di tentativi falliti, l'account viene bloccato fino al reimpostazione della password via email |
| Attiva link password dimenticata | PasswordSettings.EnableForgotLink | on |
Una lunghezza di 12 o più caratteri contribuisce più alla sicurezza rispetto alle regole sui caratteri. Per reimpostare la password di un utente: Console di Sistema › Gestione utenti › Utenti, oppure amctl user change-password <user> --password <new>.
Autenticazione a più fattori
L'autenticazione a più fattori (MFA) aggiunge un codice da un'app di autenticazione alla password. Si applica agli account che accedono con email o AD/LDAP; con il single sign-on, usa la MFA del tuo provider di identità. In Console di Sistema › Autenticazione › MFA:
- Forza Autenticazione Multi-fattore (
ServiceSettings.EnableMultifactorAuthentication, off): le persone possono attivare l'MFA nelle proprie impostazioni di sicurezza. - Forza Autenticazione Multifattore (
ServiceSettings.EnforceMultifactorAuthentication, off): tutti devono configurarla, al momento della registrazione o al successivo accesso.
Se qualcuno perde il proprio dispositivo: amctl user resetmfa <user>, oppure reimpostala dalla sua pagina in Console di Sistema › Gestione utenti › Utenti.
Single sign-on
Antimatter può autenticare gli utenti tramite il tuo provider di identità. Al primo accesso, crea il loro account (se la creazione degli account è consentita) a partire dal nome, email e nome utente inviati dal provider.
OpenID Connect, GitLab, Google e Entra ID
Vai a Console di Sistema › Autenticazione › OpenID Connect e scegli sotto Seleziona il provider di servizio: GitLab, Google Apps, Entra ID (Office 365) o OpenID Connect (Altro) per qualsiasi altro provider (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- Nel tuo provider, crea un'applicazione (un "client") di tipo web, con questo URI di reindirizzamento, per l'URL del tuo sito:
Provider URI di reindirizzamento OpenID Connect (Altro) 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 - In Antimatter, compila l'Endpoint di discovery (l'URL
/.well-known/openid-configurationdel provider; per GitLab, l'URL sito GitLab invece), l'ID client e il Segreto client. Per gli altri provider, compila anche il Nome del pulsante e il Colore del pulsante del pulsante di accesso. - Usa preferred_username (GitLab e altri provider) prende il nome utente di Antimatter dalla claim
preferred_usernamedel provider. - Salva, esci e prova il nuovo pulsante nella pagina di accesso.
Le impostazioni sono memorizzate in OpenIdSettings, GitLabSettings, GoogleSettings o Office365Settings (ad esempio AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). La pagina OAuth 2.0 precedente viene visualizzata solo per i server che hanno ancora una configurazione OAuth 2.0 per GitLab, Google o Entra ID.
SAML 2.0
In Console di Sistema › Autenticazione › SAML 2.0, attiva Abilita accesso con SAML 2.0 (SamlSettings.Enable) e compila le informazioni fornite dal tuo provider di identità: l'URL del fornitore dei metadati identità, oppure l'SAML SSO URL, l'URL dell'Identity Provider Issuer e il Certificato pubblico dell'Identity Provider. Sul lato del provider di identità:
- URL di accesso del Service Provider (assertion consumer service):
https://chat.example.com/login/sso/saml; - Metadati di Antimatter, per i provider che li importano:
https://chat.example.com/api/v4/saml/metadata.
Mappa gli attributi inviati dal provider: almeno l'Attributi Email e l'Attributo del nome utente, e facoltativamente gli attributi per ID, nome, cognome, soprannome, posizione, lingua, ospite e amministratore. Verifica Firma e Abilita Codifica sono attivi di default (la codifica richiede una chiave e un certificato del provider di servizio; sono supportate solo chiavi RSA); Firma Richiesta è disattivato. L'algoritmo di firma predefinito è RSAwithSHA256.
AD/LDAP
In Console di Sistema › Autenticazione › AD/LDAP, una pagina guidata collega Antimatter a Active Directory o a un altro server LDAP: server e porta (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 di default), sicurezza della connessione (nessuna, TLS o STARTTLS), DN di base e account di binding (BaseDN, BindUsername, BindPassword), filtri per utenti, ospiti, amministratori e gruppi, e gli attributi per email, nome utente, ID, nomi e immagine. Gli utenti accedono quindi con le proprie credenziali del directory.
Un lavoro di sincronizzazione viene eseguito ogni 60 minuti (LdapSettings.SyncIntervalMinutes) per aggiornare i nomi e disattivare le persone rimosse dal directory; eseguilo ora con amctl ldap sync. I gruppi LDAP possono essere collegati a community e canali in Console di Sistema › Gestione utenti › Gruppi. Gli account SAML possono anche essere mantenuti in sincronizzazione con AD/LDAP (Attiva la sincronizzazione degli account SAML con AD/LDAP).
Spostamento di account esistenti
Per convertire gli account email esistenti in single sign-on, amctl user migrate-auth email saml users.json (o ldap) li sposta in blocco. Un utente può anche modificare il proprio metodo di accesso nelle proprie impostazioni di sicurezza quando Permetti modifica modalità di accesso (ServiceSettings.ExperimentalEnableAuthenticationTransfer, in Console di Sistema › Sperimentale › Funzionalità) è attivo.
Account ospite
Gli ospiti sono persone esterne alla tua organizzazione che vedono solo i canali a cui sono state invitate. Attivale in Console di Sistema › Autenticazione › Accesso ospite (Beta):
| Impostazione | Chiave | Predefinito |
|---|---|---|
| Attiva accesso ospite | GuestAccountsSettings.Enable | disattivato |
| Domini ospite consentiti | GuestAccountsSettings.RestrictCreationToDomains | vuoto: gli ospiti possono avere qualsiasi dominio email |
| Forza Autenticazione Multifattore | GuestAccountsSettings.EnforceMultifactorAuthentication | disattivato; disponibile solo quando l'MFA è abilitato e imposto per tutti |
| Nascondi il tag ospite | GuestAccountsSettings.HideTags | disattivato: un tag "ospite" viene mostrato accanto al loro nome |
Una volta attivato, gli amministratori della community invitano gli ospiti a canali specifici. Gli amministratori possono trasformare un membro in un ospite con amctl user demote, e un ospite in un membro con amctl user promote.
Sessioni
La durata della sessione di accesso è impostata in Console di Sistema › Ambiente › Durata sessione:
| Impostazione | Chiave | Valore predefinito su un nuovo server |
|---|---|---|
| Estendi durata sessione con l’attività | ServiceSettings.ExtendSessionLengthWithActivity | attivo: le sessioni vengono rinnovate mentre le persone usano Antimatter |
| Durata sessione AD/LDAP e Email (ore) | ServiceSettings.SessionLengthWebInHours | 720 ore (30 giorni) |
| Durata sessione Mobile (ore) | ServiceSettings.SessionLengthMobileInHours | 720 ore |
| Durata sessione SSO (ore) | ServiceSettings.SessionLengthSSOInHours | 720 ore |
| Scadenza Sessione Inattiva (minuti) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 minuti (30 giorni); mostrato solo quando le sessioni non vengono estese con l'attività |
| Termina sessioni al cambio di password | ServiceSettings.TerminateSessionsOnPasswordChange | on |
Per disconnettere tutti in una volta, usa Revoca tutte le sessioni in Console di Sistema › Gestione utenti › Utenti. Per disconnettere una singola persona, apri la sua pagina lì.