Вход от имени клиента
Где в панели администратора: Customers › Customers › List › a customer › header button Impersonate (
/customers/<id>).
Назначение
Функция Impersonate (вход от имени клиента) позволяет администратору поддержки видеть портал глазами конкретного клиента, чтобы воспроизвести проблему или помочь с заказом. Сессия длится один час и изолирована от обычной сессии: любые действия, которые могли бы предоставить постоянный доступ к аккаунту, заблокированы, а каждое использование фиксируется в журнале.
Требования
| Параметр | Требование |
|---|---|
| Роль | Администратор, выполнивший вход в панель управления. |
| Клиент | Аккаунт должен быть active. Заблокированный или удаленный аккаунт возвращает ошибку «account is not active» (HTTP 409). |
| Причина | Указание причины обязательно; она записывается в журнал аудита. |
| Браузер | Разрешите всплывающие окна для адреса панели управления: портал откроется в новом окне. |
Шаги
- Откройте Customers › List и нажмите на клиента.
- Нажмите Impersonate. В диалоговом окне появится пояснение, что сайт клиента откроется от его имени на один час, а все действия фиксируются в журнале аудита.
- Укажите причину (например, «Ticket 1234 — cannot create VM») и нажмите Open app.
- В новом окне откроется сайт клиента и отобразится панель управления с
?impersonated=1. Если браузер заблокировал окно, разрешите всплывающие окна и нажмите еще раз.

Для клиента реселлера окно открывается на собственном домене реселлера, так как ссылка работает только на сайте самого клиента.
Принцип работы
- Действие администратора создает одноразовый токен, действующий в течение одного часа, и записывает
customer.login_as(администратор, IP, причина, сайт) в журнал аудита. - В новом окне открывается
https://<site>/v1/portal/impersonate/<token>. Первый запрос лишь отображает небольшую страницу и не расходует токен (чтобы предварительная загрузка в браузере не потратила его); затем страница выполняет подтверждение с помощью POST. - Запрос POST расходует токен. Повторное использование или переход по истечении одного часа возвращает ошибку «The impersonation link has expired or was already used».
- NexCMP создает клиентскую сессию на один час (обычная сессия длится 30 дней), регистрирует запись о входе с методом
impersonateи записывает в журналcustomer.login_as.used. - Токен действует только на сайте самого клиента; на другом хосте возвращается ошибка 404.
Что блокируется в сеансе имперсонации
Любое действие, предоставляющее доступ более чем на один час или изменяющее настройки безопасности клиента, возвращает HTTP 403 impersonate_forbidden:
| Заблокировано | Назначение |
|---|---|
| Смена пароля, TOTP, привязка или отвязка Google/GitHub, редактирование passkey | Собственные учетные данные клиента |
| Удаление аккаунта | Необратимо |
| Создание или редактирование API keys | Долгосрочный доступ |
| Подтверждение входа через CLI, десктоп-приложение или MCP (привязка устройства) | Долгосрочный доступ |
| Создание доступа к Kubernetes, ключей S3, SSH keys, root-паролей, ссылок для доступа к консоли, учетных данных VPN или прокси | Секреты, действующие дольше самой сессии |
| Активация кодов пополнения | Финансовые промоакции |
| Вывод средств или изменение параметров выплаты партнерской комиссии | Вывод средств из системы |
| Редактирование ключей AI, бюджетов или email-адресов для оповещений | Конфигурация клиента |
Все остальное работает: вы можете просматривать страницы, создавать виртуальные машины и управлять ими, оформлять заказы и т. д. Действия выполняются от имени клиента и расходуют его средства; приведенные выше записи аудита фиксируют, что за сеансом стоял администратор.
Проверка
- Выполните вход от имени тестового клиента. Откроется портал с данными этого клиента.
- Попробуйте изменить пароль: появится сообщение «forbidden» (impersonation).
- В System › Logs › Admin actions найдите
customer.login_asс вашим именем, причиной и сайтом, за которой следуетcustomer.login_as.used. - Закройте окно и снова перейдите по той же ссылке: появится сообщение «link expired or already used».
Ограничения и примечания
- Ограничение в один час фиксировано (3600 секунд). Чтобы продолжить, выполните вход от имени клиента повторно.
- Отдавайте предпочтение просмотру и воспроизведению неполадок; избегайте действий, расходующих средства, если клиент прямо об этом не просил.
- Завершите сессию досрочно с помощью Revoke sessions на странице клиента (это также приведет к выходу самого клиента).
- Для реселлеров предусмотрена собственная имперсонация через Sign in to partner console (на 60 минут) в разделе Resellers; см. Resellers.
Устранение неполадок
| Симптом | Причина | Решение |
|---|---|---|
| «Аккаунт не активен» | Аккаунт заблокирован или удален | Сначала разблокируйте его или проверьте информацию на странице клиента. |
| Браузер блокирует окно | Блокировщик всплывающих окон | Разрешите всплывающие окна для адреса панели администратора и повторите попытку. |
| «Срок действия ссылки истек или она уже использована» | Истек лимит в один час или ссылка уже использована | Выполните вход от имени клиента снова. |
| Открывается «Not found» | Ссылка была открыта на другом хосте | Используйте окно, открытое диалогом; не вставляйте ссылку в других местах. |
| Действие возвращает «forbidden» | Заблокировано в сессиях имперсонации | Попросите клиента выполнить действие самостоятельно или воспользуйтесь разделами панели администратора. |