Logowanie i konta

Określ, kto może utworzyć konto i jak użytkownicy się logują. Każda metoda logowania w Antimatter działa bez licencji, w tym jednokrotne logowanie (SSO) i katalogi.

Kto może utworzyć konto

Niedługo po instalacji sprawdź Konsola systemu › Autoryzacja › Zarejestruj się. Przy domyślnych ustawieniach każdy, kto posiada zaproszenie do społeczności, może utworzyć konto, ale nikt nie może się zarejestrować bez niego.

UstawienieKluczDomyślnieOpis
Włącz tworzenie kontTeamSettings.EnableUserCreationwłączoneWyłączone – nikt nie może utworzyć konta żadną metodą; mogą to zrobić tylko administratorzy (Konsola systemu lub amctl user create).
Włącz Open ServerTeamSettings.EnableOpenServerWyłączoneWłączone – każdy, kto uzyska dostęp do serwera, może się zarejestrować za pomocą adresu e-mail, bez zaproszenia. Używaj tego tylko dla publicznych społeczności.
Ogranicz nowych członków systemu i zespołu do określonych domen e-mailTeamSettings.RestrictCreationToDomainspustaDomeny oddzielone przecinkami, na przykład example.com, example.org: tylko adresy z tych domen mogą tworzyć konta.
Włącz Zaproszenia EmailServiceSettings.EnableEmailInvitationswyłączone na nowym serwerzePozwala członkom zapraszać osoby za pomocą e-maila (wymaga SMTP). Unieważnij oczekujące zaproszenia E-Mail anuluje zaproszenia, które nie zostały jeszcze przyjęte; wygasają one po 48 godzinach.

Administratorzy społeczności kontrolują również, kto do niej dołącza, za pomocą linków zaproszeń i własnych dozwolonych domen: zobacz przewodnik Prowadzenie społeczności.

Z wiersza poleceń: amctl user create (dodaj --system-admin lub --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user>, aby nadać komuś uprawnienia administratora systemu, oraz amctl roles member <user>, aby je cofnąć.

E-mail i hasło

W Konsola systemu › Autoryzacja › E-mail:

UstawienieKluczDomyślnie
Włącz tworzenie kont za pomocą emailaEmailSettings.EnableSignUpWithEmailWłączone. Wyłącz, gdy wszyscy logują się za pomocą jednokrotnego logowania (SSO).
Wymagaj weryfikacji e-mailEmailSettings.RequireEmailVerificationWyłączone. Włącz, gdy e-mail działa: użytkownicy będą musieli potwierdzić swój adres przed logowaniem.
Włącz logowanie za pomocą adresu emailEmailSettings.EnableSignInWithEmailwłączone
Włącz logowanie za pomocą nazwy użytkownikaEmailSettings.EnableSignInWithUsernamewłączone

W Konsola systemu › Autoryzacja › Hasło:

UstawienieKluczDomyślnie
Minimalna długość hasłaPasswordSettings.MinimumLength8 (od 5 do 72)
Wymagania hasła: małe litery, wielkie litery, cyfra, znak specjalnyPasswordSettings.Lowercase, .Uppercase, .Number, .Symbolwszystkie wyłączone
Maksymalna liczba prób logowaniaServiceSettings.MaximumLoginAttempts10: po tylu nieudanych próbach konto jest blokowane do momentu zresetowania hasła za pomocą e-maila
Włącz łącze zapomnianego hasłaPasswordSettings.EnableForgotLinkwłączone

Długość 12 znaków lub więcej przyczynia się do bezpieczeństwa bardziej niż reguły dotyczące znaków. Aby zresetować hasło dla kogoś: Konsola systemu › Zarządzanie użytkownikiem › Użytkownicy lub amctl user change-password <user> --password <new>.

Uwierzytelnianie wieloskładnikowe

Uwierzytelnianie wieloskładnikowe (MFA) dodaje kod z aplikacji uwierzytelniającej do hasła. Dotyczy kont logujących się za pomocą e-maila lub AD/LDAP; w przypadku jednokrotnego logowania (SSO) użyj MFA dostawcy tożsamości. W Konsola systemu › Autoryzacja › MFA:

  • Włącz uwierzytelnianie wieloskładnikowe (ServiceSettings.EnableMultifactorAuthentication, wyłączony): użytkownicy mogą włączyć MFA w swoich ustawieniach bezpieczeństwa.
  • Wymuszaj uwierzytelnianie wieloskładnikowe (ServiceSettings.EnforceMultifactorAuthentication, wyłączony): wszyscy muszą to skonfigurować, podczas rejestracji lub przy następnym logowaniu.

Jeśli ktoś zgubi urządzenie: amctl user resetmfa <user> lub zresetuj je z jego strony w Konsola systemu › Zarządzanie użytkownikiem › Użytkownicy.

Jednokrotne logowanie (SSO)

Antimatter może logować użytkowników za pomocą dostawcy tożsamości. Przy pierwszym logowaniu tworzy ich konto (jeśli tworzenie kont jest dozwolone) na podstawie nazwy, adresu e-mail i nazwy użytkownika przesłanych przez dostawcę.

OpenID Connect, GitLab, Google i Entra ID

Przejdź do Konsola systemu › Autoryzacja › OpenID Connect i wybierz w sekcji Wybierz dostawcę usług: GitLab, Google Apps, Entra ID (Office 365) lub OpenID Connect (Inne) dla innych dostawców (Keycloak, Authentik, Zitadel, Okta, Auth0…).

  1. W swoim dostawcy utwórz aplikację (tzw. „klient”) typu web z następującym URI przekierowania dla adresu URL Twojej strony:
    DostawcaURI przekierowania
    OpenID Connect (Inne)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. W Antimatter wypełnij Punkt końcowy odkrycia (adres URL /.well-known/openid-configuration dostawcy; w przypadku GitLab podaj zamiast tego Adres URL GitLab), ID klienta oraz Klucz klienta. Dla innych dostawców podaj również Nazwę przycisku i Kolor przycisków przycisku logowania.
  3. Użyj preferowanej nazwy użytkownika (GitLab i inne dostawcy) pobiera nazwę użytkownika Antimatter z atrybutu preferred_username dostawcy.
  4. Zapisz zmiany, wyloguj się i przetestuj nowy przycisk na stronie logowania.

Ustawienia są przechowywane w OpenIdSettings, GitLabSettings, GoogleSettings lub Office365Settings (na przykład AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Starsza strona OAuth 2.0 jest wyświetlana tylko na serwerach, które nadal mają konfigurację OAuth 2.0 dla GitLab, Google lub Entra ID.

SAML 2.0

W Konsola systemu › Autoryzacja › SAML 2.0 włącz Włącz logowanie z użyciem SAML 2.0 (SamlSettings.Enable) i uzupełnij dane dostarczone przez dostawcę tożsamości: Adres URL Metadanych Dostawcy Tożsamości lub SAML SSO URL, URL emitenta zarządcy tożsamości oraz Certyfikat publiczny zarządcy tożsamości. Po stronie dostawcy tożsamości:

  • Adres URL logowania dostawcy usługi (usługa konsumenta asercji): https://chat.example.com/login/sso/saml;
  • Metadane Antimatter, dla dostawców, którzy je importują: https://chat.example.com/api/v4/saml/metadata.

Zmapuj atrybuty wysyłane przez dostawcę: co najmniej Atrybut Email i Atrybut nazwy użytkownika, a opcjonalnie atrybuty ID, imienia, nazwiska, pseudonimu, stanowiska, języka, gościa i administratora. Weryfikuj Podpis i Włącz Szyfrowanie są domyślnie włączone (szyfrowanie wymaga klucza i certyfikatu dostawcy usługi; obsługiwane są tylko klucze RSA); Żądanie podpisania jest wyłączone. Domyślny algorytm podpisu to RSAwithSHA256.

AD/LDAP

W Konsola systemu › Autoryzacja › AD/LDAP strona krok po kroku łączy Antimatter z Active Directory lub innym serwerem LDAP: serwer i port (LdapSettings.LdapServer, LdapSettings.LdapPort, domyślnie 389), bezpieczeństwo połączenia (brak, TLS lub STARTTLS), bazowy DN i konto do logowania (BaseDN, BindUsername, BindPassword), filtry dla użytkowników, gości, administratorów i grup, oraz atrybuty dla e-maila, nazwy użytkownika, ID, imion i zdjęcia. Użytkownicy logują się następnie swoim identyfikatorem z katalogu.

Zadanie synchronizacji jest uruchamiane co 60 minut (LdapSettings.SyncIntervalMinutes), aby aktualizować nazwy i dezaktywować osoby usunięte z katalogu; można je uruchomić teraz za pomocą amctl ldap sync. Grupy LDAP można powiązać z zespołami i kanałami w Konsola systemu › Zarządzanie użytkownikiem › Grupy. Konta SAML można również synchronizować z AD/LDAP (Włączyć synchronizację kont SAML z AD/LDAP).

Przenoszenie istniejących kont

Aby przełączyć istniejące konta e-mail na logowanie jednokrotne (SSO), polecenie amctl user migrate-auth email saml users.json (lub ldap) przenosi je zbiorczo. Użytkownik może również zmienić własną metodę logowania w ustawieniach bezpieczeństwa, gdy opcja Zezwalaj na transfer uwierzytelniania (ServiceSettings.ExperimentalEnableAuthenticationTransfer, w Konsola systemu › Eksperymentalne › Funkcje) jest włączona.

Konta gości

Goście to osoby spoza Twojej organizacji, które widzą tylko kanały, do których zostały zaproszone. Włącz je w Konsola systemu › Autoryzacja › Dostęp dla gości:

UstawienieKluczDomyślnie
Włącz dostęp dla gościGuestAccountsSettings.EnableWyłączone
Domeny gościnne na białej liścieGuestAccountsSettings.RestrictCreationToDomainspuste: goście mogą mieć dowolną domenę e-mail
Wymuszaj uwierzytelnianie wieloskładnikoweGuestAccountsSettings.EnforceMultifactorAuthenticationwyłączone; dostępne tylko wtedy, gdy MFA jest włączone i wymuszone dla wszystkich
Ukryj tag gościaGuestAccountsSettings.HideTagswyłączone: obok ich nazwy wyświetlany jest tag „gość”

Po włączeniu administratorzy społeczności zapraszają gości do konkretnych kanałów. Administratorzy mogą zmienić członka w gościa za pomocą polecenia amctl user demote, a gościa w członka za pomocą amctl user promote.

Sesje

Czas, przez jaki użytkownicy pozostają zalogowani, jest ustawiany w Konsola systemu › Środowisko › Długość sesji:

UstawienieKluczDomyślnie na nowym serwerze
Wydłuż długość sesji dzięki aktywnościServiceSettings.ExtendSessionLengthWithActivitywłączone: sesje są odnawiane, gdy użytkownicy korzystają z Antimatter
Długość sesji AD/LDAP i email (godzin)ServiceSettings.SessionLengthWebInHours720 godzin (30 dni)
Długość Sesji Mobilnej (godziny)ServiceSettings.SessionLengthMobileInHours720 godzin
Długość sesji SSO (godziny)ServiceSettings.SessionLengthSSOInHours720 godzin
Limit Bezczynności Sesji (minuty)ServiceSettings.SessionIdleTimeoutInMinutes43200 minut (30 dni); wyświetlane tylko wtedy, gdy sesje nie są wydłużane dzięki aktywności
Zakończ sesje po zmianie hasłaServiceSettings.TerminateSessionsOnPasswordChangewłączone

Aby wylogować wszystkich naraz, użyj opcji Odwołaj wszystkie sesje w Konsola systemu › Zarządzanie użytkownikiem › Użytkownicy. Aby wylogować jedną osobę, otwórz jej stronę w tym miejscu.