Вход и аккаунты
Определите, кто может создать аккаунт и как пользователи входят в систему. Все способы входа в Antimatter работают без лицензии, включая единый вход и каталоги.
Кто может создать аккаунт
Сразу после установки проверьте Системная консоль › Аутентификация › Регистрация. По умолчанию любой пользователь с приглашением в сообщество может создать аккаунт, но без приглашения регистрация невозможна.
| Параметр | Ключ | Значение по умолчанию | Назначение |
|---|---|---|---|
| Разрешить создание аккаунта | TeamSettings.EnableUserCreation | вкл | Выключено: никто не может создать аккаунт каким-либо способом; это доступно только администраторам (через Системную консоль или amctl user create). |
| Открытый сервер | TeamSettings.EnableOpenServer | выключено | Включено: любой пользователь, получивший доступ к серверу, может зарегистрироваться по электронной почте без приглашения. Используйте этот режим только для публичных сообществ. |
| Ограничить создание новых системных и командных аккаунтов указанными доменами электронной почты | TeamSettings.RestrictCreationToDomains | пусто | Домены через запятую, например example.com, example.org: аккаунт могут создать только пользователи с адресами этих доменов. |
| Включить приглашения по электронной почте | ServiceSettings.EnableEmailInvitations | выключено на новом сервере | Позволяет участникам приглашать людей по электронной почте (требуется SMTP). Сделать недействительными ожидающие приглашения на электронную почту отменяет непринятые приглашения; в любом случае они истекают через 48 часов. |
Администраторы сообществ также управляют тем, кто присоединяется к их сообществу, с помощью ссылок-приглашений и собственных разрешенных доменов: см. руководство Управление сообществом.
Из командной строки: amctl user create (добавьте --system-admin или --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> для назначения системным администратором, и amctl roles member <user> для отмены назначения.
Электронная почта и пароль
В Системная консоль › Аутентификация › Электронная почта:
| Параметр | Ключ | Значение по умолчанию |
|---|---|---|
| Разрешить создание аккаунта с помощью электронной почты | EmailSettings.EnableSignUpWithEmail | включено. Отключите, если все пользователи входят через единый вход. |
| Требовать подтверждение адреса электронной почты | EmailSettings.RequireEmailVerification | выключено. Включите, когда электронная почта заработает: тогда пользователи должны подтвердить адрес перед входом. |
| Разрешить вход с помощью электронной почты | EmailSettings.EnableSignInWithEmail | вкл |
| Разрешить вход с помощью имени пользователя | EmailSettings.EnableSignInWithUsername | вкл |
В Системная консоль › Аутентификация › Пароль:
| Параметр | Ключ | Значение по умолчанию |
|---|---|---|
| Минимальная длина пароля | PasswordSettings.MinimumLength | 8 (от 5 до 72) |
| Требования к паролю: строчные буквы, прописные буквы, цифры, символы | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | все выключены |
| Максимальное количество попыток входа | ServiceSettings.MaximumLoginAttempts | 10: после такого количества неудачных попыток аккаунт блокируется до сброса пароля по электронной почте |
| Включить ссылку "Забыли пароль" | PasswordSettings.EnableForgotLink | вкл |
Длина пароля 12 символов и более обеспечивает большую безопасность, чем правила по набору символов. Чтобы сбросить пароль для пользователя: Системная консоль › Управление пользователями › Пользователи или amctl user change-password <user> --password <new>.
Многофакторная аутентификация
Многофакторная аутентификация (МФА) добавляет код из приложения-аутентификатора к паролю. Она применяется к аккаунтам, которые входят по электронной почте или AD/LDAP; при едином входе используйте МФА вашего провайдера идентичности. В Системная консоль › Аутентификация › МФА:
- Включить многофакторную аутентификацию (
ServiceSettings.EnableMultifactorAuthentication, выкл.): пользователи могут включить МФА в своих параметрах безопасности. - Принудительная многофакторная аутентификация (
ServiceSettings.EnforceMultifactorAuthentication, выкл.): все должны настроить её при регистрации или при следующем входе.
Если кто-то потеряет устройство: amctl user resetmfa <user> или сбросьте его со страницы пользователя в Системная консоль › Управление пользователями › Пользователи.
Единый вход
Antimatter может аутентифицировать пользователей через ваш провайдер идентичности. При первом входе он создаёт их аккаунт (если создание аккаунтов разрешено) на основе имени, электронной почты и имени пользователя, переданных провайдером.
OpenID Connect, GitLab, Google и Entra ID
Перейдите в Системная консоль › Аутентификация › OpenID Connect и выберите в разделе Выберите провайдера: GitLab, Google Apps, Entra ID (Office 365) или Подключение OpenID (Другое) для любого другого провайдера (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- В вашем провайдере создайте приложение ("клиент") веб-типа с следующим URI перенаправления для URL вашего сайта:
Провайдер URI перенаправления Подключение OpenID (Другое) 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 - В Antimatter заполните Конечная точка обнаружения (URL
/.well-known/openid-configurationпровайдера; для GitLab вместо этого URL сайта GitLab), Идентификатор клиента и Секрет клиента. Для других провайдеров также Название кнопки и Цвет кнопки кнопки входа. - Использовать preferred_username (GitLab и другие провайдеры) использует
preferred_usernameпровайдера в качестве имени пользователя Antimatter. - Сохраните, выйдите из системы и попробуйте новую кнопку на странице входа.
Настройки хранятся в OpenIdSettings, GitLabSettings, GoogleSettings или Office365Settings (например, AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Старая страница OAuth 2.0 отображается только для серверов, на которых по-прежнему настроены OAuth 2.0 для GitLab, Google или Entra ID.
SAML 2.0
В разделе Системная консоль › Аутентификация › SAML 2.0 включите Включить вход через SAML 2.0 (SamlSettings.Enable) и укажите данные, предоставленные вашим провайдером идентификации: URL метаданных провайдера идентификации или SAML SSO URL, URL-адрес издателя поставщика учетных записей и Публичный сертификат Удостоверяющего Центра. На стороне провайдера идентификации:
- URL-адрес входа провайдера службы (assertion consumer service):
https://chat.example.com/login/sso/saml; - Метаданные Antimatter для провайдеров, которые их импортируют:
https://chat.example.com/api/v4/saml/metadata.
Настройте отображение атрибутов, которые отправляет провайдер: как минимум Атрибут электронной почты и Атрибут имени пользователя, а также, при необходимости, атрибуты ID, имени, фамилии, псевдонима, должности, языка, гостя и администратора. Проверка подписи и Включить шифрование включены по умолчанию (для шифрования требуется ключ и сертификат провайдера службы; поддерживаются только ключи RSA); Запрос на подпись выключен. Алгоритм подписи по умолчанию — RSAwithSHA256.
AD/LDAP
В разделе Системная консоль › Аутентификация › AD/LDAP пошаговая страница позволяет подключить Antimatter к Active Directory или другому серверу LDAP: сервер и порт (LdapSettings.LdapServer, LdapSettings.LdapPort, по умолчанию 389), безопасность соединения (отсутствует, TLS или STARTTLS), базовый DN и учетная запись для подключения (BaseDN, BindUsername, BindPassword), фильтры для пользователей, гостей, администраторов и групп, а также атрибуты электронной почты, имени пользователя, ID, имени, фамилии и фотографии. После этого пользователи могут входить в систему с помощью учетных данных каталога.
Задача синхронизации выполняется каждые 60 минут (LdapSettings.SyncIntervalMinutes), чтобы обновлять имена и отключать учетные записи пользователей, удаленных из каталога; запустить ее можно сейчас с помощью команды amctl ldap sync. Группы LDAP можно связать с сообществами и каналами в разделе Системная консоль › Управление пользователями › Группы. Учетные записи SAML также можно синхронизировать с AD/LDAP (Включить синхронизацию учетных записей SAML с AD/LDAP).
Перенос существующих учётных записей
Чтобы перевести существующие учётные записи с электронной почты на единый вход, используйте amctl user migrate-auth email saml users.json (или ldap) для пакетного переноса. Пользователь также может сменить способ входа в своих параметрах безопасности, если включён параметр Разрешить передачу аутентификации (ServiceSettings.ExperimentalEnableAuthenticationTransfer в разделе Системная консоль › Экспериментальные › Функции).
Гостевые учётные записи
Гости — это люди извне вашей организации, которые видят только те каналы, в которые их пригласили. Включите их в разделе Системная консоль › Аутентификация › Гостевой доступ:
| Параметр | Ключ | Значение по умолчанию |
|---|---|---|
| Включить гостевой доступ | GuestAccountsSettings.Enable | выключено |
| Белый список гостевых доменов | GuestAccountsSettings.RestrictCreationToDomains | пусто: гости могут использовать любой домен электронной почты |
| Принудительная многофакторная аутентификация | GuestAccountsSettings.EnforceMultifactorAuthentication | выключено; доступно только при включённой и принудительной многофакторной аутентификации для всех |
| Скрыть гостевой тег | GuestAccountsSettings.HideTags | выключено: рядом с именем отображается тег «гость» |
После включения администраторы сообщества приглашают гостей в конкретные каналы. Администраторы могут понизить участника до гостя с помощью amctl user demote, а гостя повысить до участника с помощью amctl user promote.
Сеансы
Продолжительность входа настраивается в разделе Системная консоль › Окружение › Продолжительность сессий:
| Параметр | Ключ | Значение по умолчанию на новом сервере |
|---|---|---|
| Продление сеанса при активности | ServiceSettings.ExtendSessionLengthWithActivity | включено: сеансы обновляются, пока пользователи работают в Antimatter |
| Продолжительность сессии AD/LDAP и электронной почты (в часах) | ServiceSettings.SessionLengthWebInHours | 720 часов (30 дней) |
| Длина сессии на мобильных устройствах (часов) | ServiceSettings.SessionLengthMobileInHours | 720 часов |
| Длина сеанса SSO (часы) | ServiceSettings.SessionLengthSSOInHours | 720 часов |
| Тайм-аут ожидания сеанса (минуты) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 минут (30 дней); отображается только при отключённом продлении сеанса при активности |
| Завершать сеансы при смене пароля | ServiceSettings.TerminateSessionsOnPasswordChange | вкл |
Чтобы завершить сеансы всех пользователей сразу, используйте Сбросить все сеансы в разделе Системная консоль › Управление пользователями › Пользователи. Чтобы завершить сеанс одного пользователя, откройте его страницу в этом разделе.