Для организаций

Conflux для организаций

Запускайте Conflux на своей инфраструктуре, входите через свой провайдер идентификации или Active Directory и держите состав команд синхронным с каталогом. То же десктопное приложение, ваш сервер.

Self-hosted

Conflux.Server — это один Go-бинарник или контейнер, собранный из Dockerfile репозитория, перед базой PostgreSQL. Никаких очередей, кэшей и других сервисов; ключ подписи токенов генерируется при первом запуске.

  • PostgreSQL 13 или новее
  • Бинарник сервера или Docker-образ, собранный из Conflux.Server
  • Публичный URL сервера (PUBLIC_BASE_URL), например https://conflux.acme.com
  • Сетевой доступ от сервера к провайдеру идентификации или контроллеру домена
DATABASE_HOST=postgres.acme.local
DATABASE_USERNAME=conflux
DATABASE_PASSWORD=change-me
DATABASE_NAME=conflux
PUBLIC_BASE_URL=https://conflux.acme.com
INSTANCE_NAME=Acme
ADMIN_EMAILS=admin@acme.com
AUTO_JOIN_ORG=true
docker build -t conflux-server .
# apply database migrations once
docker run --rm --env-file .env --entrypoint migrate conflux-server \
-path /app/migrations -database "postgres://conflux:change-me@postgres.acme.local:5432/conflux?sslmode=disable" up
# start the server on :8080
docker run -d --name conflux-server --env-file .env -p 8080:8080 \
--entrypoint ./server conflux-server

Выберите источник идентификации

AUTH_MODE определяет, как входят пользователи. В обоих режимах сервер сам выпускает короткоживущие access-токены и ротируемые refresh-токены; облачный сервис на conflux.uz это не затрагивает.

OpenID Connect

Десктопное приложение открывает системный браузер и перенаправляет на ваш провайдер идентификации. Discovery выполняется автоматически, дополнительно нужны только client id и secret.

Microsoft Entra IDOktaKeycloakGoogle WorkspaceAD FS 2016+
  • Вход: системный браузер, редирект на ваш IdP
  • Синхронизация групп: при каждом входе из claim groups; фоновая пересинхронизация с Entra ID через Microsoft Graph (OIDC_GRAPH_SYNC=true)
  • Дополнительные зависимости: нет
AUTH_MODE=oidc
OIDC_ISSUER=https://login.microsoftonline.com/<tenant-id>/v2.0
OIDC_CLIENT_ID=...
OIDC_CLIENT_SECRET=...
OIDC_GRAPH_SYNC=true # Entra ID only: background re-sync via Graph

LDAP / Active Directory

Логин и пароль отправляются напрямую на сервер, который выполняет bind к контроллеру домена по LDAPS от имени read-only сервисной учётки. Значения по умолчанию соответствуют стандартному Active Directory: sAMAccountName или userPrincipalName как логин, objectGUID как стабильный идентификатор, memberOf для групп.

  • Вход: доменные логин и пароль, без браузера
  • Синхронизация групп: при входе и при каждой плановой пересинхронизации
  • Дополнительные зависимости: доступ к LDAPS с сервера и read-only учётная запись для bind
AUTH_MODE=ldap
LDAP_URL=ldaps://dc1.acme.local:636
LDAP_BIND_DN="CN=svc-conflux,OU=Service Accounts,DC=acme,DC=local"
LDAP_BIND_PASSWORD=...
LDAP_BASE_DN="DC=acme,DC=local"

Группы становятся командами

GROUP_MAP сопоставляет группы каталога командам Conflux и ролям в организации. Членство применяется при входе и при каждой плановой пересинхронизации, вручную в приложении его изменить нельзя.

GROUP_MAP="CN=Dev-Backend,OU=Groups,DC=acme,DC=local=team:Backend;CN=QA,OU=Groups,DC=acme,DC=local=team:QA;CN=Conflux-Admins,OU=Groups,DC=acme,DC=local=org:admin"
LDAP_MATCHING_RULE_IN_CHAIN=true # resolve nested AD groups
SYNC_INTERVAL=15m
  • Слева — DN группы (LDAP) либо id или имя группы из claim (OIDC); справа — team:<Имя> или org:admin.
  • Первый вошедший пользователь из ADMIN_EMAILS становится владельцем организации с именем INSTANCE_NAME. AUTO_JOIN_ORG=true пускает остальных как участников.
  • memberOf содержит только прямое членство. Включите LDAP_MATCHING_RULE_IN_CHAIN=true, чтобы разворачивать вложенные группы.
  • Членство, пришедшее из каталога, заблокировано в приложении и помечено как «Managed by Active Directory».

Жизненный цикл из каталога

Доступ следует за каталогом, а не за приложением. Никому не нужно помнить об оффбординге сотрудника в Conflux.

SYNC_INTERVAL=15m
  • Плановая пересинхронизация каждые 15 минут по умолчанию (SYNC_INTERVAL=15m). Значение 0 — синхронизация только при входе.
  • Отключён или удалён в AD: учётная запись Conflux блокируется, все refresh-токены отзываются, и десктопное приложение выходит из рабочего аккаунта при следующем запросе.
  • Удалён из сопоставленной группы — покидает команду. Добавлен — вступает в неё.
  • Личные аккаунты на conflux.uz не затрагиваются; действие распространяется только на рабочий аккаунт.

Одно десктопное приложение

То же приложение Conflux работает с conflux.uz и с любым числом корпоративных серверов одновременно. Рабочие и личные аккаунты не смешиваются, переключение — в меню аккаунта.

  1. 1Откройте меню аккаунта и выберите «Sign in with company SSO».
  2. 2Введите адрес сервера, например conflux.acme.com. Приложение само определит режим авторизации.
  3. 3OIDC откроет браузер на странице вашего провайдера; LDAP запросит доменные логин и пароль.
conflux.uz+conflux.acme.com·

Частые вопросы

Поддерживается ли SAML?

Пока нет. Self-hosted Conflux авторизует через OpenID Connect или LDAP. Все крупные SAML-провайдеры (Entra ID, Okta, Keycloak, AD FS) также поддерживают OIDC — это рекомендуемый путь.

Где хранятся мои данные?

В вашей собственной базе PostgreSQL, на инфраструктуре, которую вы контролируете. Conflux.Server никогда не отправляет коллекции, окружения и данные пользователей на conflux.uz.

Меняется ли что-то для облачного сервиса conflux.uz?

Нет. conflux.uz продолжает работать как прежде. Self-hosted развёртывания выполняют вход и выпуск токенов независимо.

Можно ли одновременно использовать conflux.uz и корпоративный сервер?

Да. Аккаунты привязаны к серверу: оставьте личный аккаунт на conflux.uz и добавьте рабочий для каждого корпоративного сервера — всё в одном приложении.