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.

ImpostazioneChiavePredefinitoFunzione
Abilita creazione accountTeamSettings.EnableUserCreationonDisattivato: nessuno può creare un account con alcun metodo; solo gli amministratori possono farlo (Console di Sistema o amctl user create).
Abilita server apertoTeamSettings.EnableOpenServerdisattivatoAttivato: 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 specificatiTeamSettings.RestrictCreationToDomainsvuotoDomini separati da virgola, ad esempio example.com, example.org: solo gli indirizzi di questi domini possono creare un account.
Abilita inviti per emailServiceSettings.EnableEmailInvitationsdisattivato su un nuovo serverConsente 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:

ImpostazioneChiavePredefinito
Abilita creazione account con emailEmailSettings.EnableSignUpWithEmailattivo. Disattivalo quando tutti accedono tramite autenticazione unica.
Richiedi Email di verifica EmailSettings.RequireEmailVerificationdisattivato. Attivalo una volta che l'e-mail funziona: le persone confermano quindi il proprio indirizzo prima di poter accedere.
Abilita accesso con emailEmailSettings.EnableSignInWithEmailon
Abilita accesso con nome utenteEmailSettings.EnableSignInWithUsernameon

In Console di Sistema › Autenticazione › Password:

ImpostazioneChiavePredefinito
Lunghezza Minima PasswordPasswordSettings.MinimumLength8 (da 5 a 72)
Requisiti della password: minuscole, maiuscole, numero, simboloPasswordSettings.Lowercase, .Uppercase, .Number, .Symboltutto disattivato
Numero massimo tentativi di loginServiceSettings.MaximumLoginAttempts10: dopo questo numero di tentativi falliti, l'account viene bloccato fino al reimpostazione della password via email
Attiva link password dimenticataPasswordSettings.EnableForgotLinkon

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…).

  1. Nel tuo provider, crea un'applicazione (un "client") di tipo web, con questo URI di reindirizzamento, per l'URL del tuo sito:
    ProviderURI di reindirizzamento
    OpenID Connect (Altro)https://chat.example.com/signup/openid/complete
    GitLabhttps://chat.example.com/signup/gitlab/complete
    Googlehttps://chat.example.com/signup/google/complete
    Entra IDhttps://chat.example.com/signup/office365/complete
  2. In Antimatter, compila l'Endpoint di discovery (l'URL /.well-known/openid-configuration del 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.
  3. Usa preferred_username (GitLab e altri provider) prende il nome utente di Antimatter dalla claim preferred_username del provider.
  4. 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):

ImpostazioneChiavePredefinito
Attiva accesso ospiteGuestAccountsSettings.Enabledisattivato
Domini ospite consentitiGuestAccountsSettings.RestrictCreationToDomainsvuoto: gli ospiti possono avere qualsiasi dominio email
Forza Autenticazione MultifattoreGuestAccountsSettings.EnforceMultifactorAuthenticationdisattivato; disponibile solo quando l'MFA è abilitato e imposto per tutti
Nascondi il tag ospiteGuestAccountsSettings.HideTagsdisattivato: 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:

ImpostazioneChiaveValore predefinito su un nuovo server
Estendi durata sessione con l’attivitàServiceSettings.ExtendSessionLengthWithActivityattivo: le sessioni vengono rinnovate mentre le persone usano Antimatter
Durata sessione AD/LDAP e Email (ore)ServiceSettings.SessionLengthWebInHours720 ore (30 giorni)
Durata sessione Mobile (ore)ServiceSettings.SessionLengthMobileInHours720 ore
Durata sessione SSO (ore)ServiceSettings.SessionLengthSSOInHours720 ore
Scadenza Sessione Inattiva (minuti)ServiceSettings.SessionIdleTimeoutInMinutes43200 minuti (30 giorni); mostrato solo quando le sessioni non vengono estese con l'attività
Termina sessioni al cambio di passwordServiceSettings.TerminateSessionsOnPasswordChangeon

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ì.