Перейти к содержанию

Настройки клиентских приложений

Назначение документа

В инструкции описаны основные настройки клиентских приложений пользователей. Документ предназначен для использования администраторами организации.

Примечание

Ранее Суперапп VK WorkSpace назывался VK Teams, а также Myteam, что находит отражение в технических моментах (например, команды в консоли).

Включить мини-апп «Опросы»

Если мини-апп «Опросы» еще не установлен, его необходимо установить:

  1. Если в конфигурации инсталляции один экземпляра сервиса Nomail, пропустите данный шаг и перейдите к шагу 2.

    Если в конфигурации инсталляции существует более одного экземпляра сервиса Nomail, определите сервер на котором располагается необходимый экземпляр. Выполните скрипт instance_detect.sh на любом сервере в инсталляции:

    /usr/local/miniapp_deploy/instance_detect.sh
    

    В выводе команды будет необходимый сервер, в примере ниже это nomail.onpremise.nomail-1:

    d57ae511 in [0 ffffffff] 01 nomail.onpremise.nomail-1 alive
    
  2. Подключитесь к серверу из шага 1 по SHH.

  3. Авторизуйтесь под root-пользователем.

  4. Выполните скрипт установки мини-аппа опросов survey_deploy.sh:

    /usr/local/miniapp_deploy/survey_deploy.sh 
    

    Во время установки мини-аппа в консоли будет отображаться информация о пройденных этапах. В случае возникновения ошибки установки отобразится описание, какой этап не удалось выполнить. В случае успешной установки мини-аппа отобразится строка «All operations have been completed successfully. Check working miniapp!».

После того как мини-апп опросов установлен, управлять им можно в панели администратора VK WorkSpace (доступна при наличии интеграции с Почтой VK WorkSpace), см. документацию.

Запретить использование устаревших версий клиентских приложений

Начиная с версии 24.2 вы можете запретить пользователям использовать клиентские приложения, версия которых ниже минимально поддерживаемой версии (устанавливается администратором организации). По умолчанию запрет не включен.

Если запрет установлен и версия клиентского приложения ниже минимально поддерживаемой, пользователю для продолжения работы необходимо обновить приложение.

Чтобы установить запрет:

  1. В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json в секции updates установите минимально поддерживаемую версию для каждой платформы:

     "min_supported_version": {
       "version": "10.6.0",
       "build": "528",
       "full_version": "10.6.0.528"
    

    где:

    • version — номер версии.

    • build — номер сборки. Если номер сборки неизвестен, допустимое значение — 0.

    • full_version — номер версии и номер сборки, разделенные точкой (full_version: version.build).

    Если минимально поддерживаемая версия указана некорректно, запрет на использование устаревших версий клиентских приложений не будет выполняться.

  2. В поле force_update_enabled установите запрет на использование устаревших версий клиентских приложений:

    "force_update_enabled": true
    

    где:

    • true — включает запрет на использование устаревших версий клиентских приложений.

    • false — выключает.

  3. Укажите в поле updates.customLandingUrl адрес dl-лендинга, с которого можно скачать обновление для клиентского приложения:

    "customLandingUrl": "https://dl.<your_domain>.ru",
    

    Если поле customLandingUrl не заполнено, пользователю будет предложено скачать обновление с apps.<platform>.url.

    Пример настройки запрета в myteam-config.json для всех платформ:

    "updates": {
        "customLandingUrl": "https://dl.<YOUR_DOMAIN>.ru",
        "android": {
          "min_supported_version": {
            "version": "10.6.0",
            "build": "528",
            "full_version": "10.6.0.528"
          },
          "force_update_enabled": true
        },
        "ios": {
          "min_supported_version": {
            "version": "10.6",
            "build": "90186",
            "full_version": "10.6.90186"
          },
          "force_update_enabled": true
        },
        "linux_x64": {
          "min_supported_version": {
            "version": "10.0",
            "build": "9706",
            "full_version": "10.0.9706"
          },
          "force_update_enabled": true
        },
        "mac_x64": {
          "min_supported_version": {
            "version": "5.0",
            "build": "9702",
            "full_version": "5.0.9702"
          },
          "force_update_enabled": true
        },
        "win_x32": {
          "min_supported_version": {
            "version": "10.0",
            "build": "9707",
            "full_version": "10.0.9707"
          },
          "force_update_enabled": true
        }
      }
    
  4. Пересоздайте под админ-консоли:

    kubectl delete pod -n vkteams myteam-admin-\*
    

    где * — уникальное имя пода. Имя пода необходимо получить с помощью вывода команды:

    kubectl get pods -A | grep myteam-admin
    

Отключить синхронизацию черновиков между клиентскими приложениями

Начиная с версии 25.2 вы можете отключить синхронизацию черновиков сообщений между клиентскими приложениями одного пользователя, чтобы исключить утечку данных. После отключения синхронизации черновики продолжат работать в рамках одного клиентского приложения.

Чтобы отключить синхронизацию черновиков:

  1. В конфигурационном файле /usr/local/nginx-im/html/myteam/myteam-config.json установите для поля draft-enabled значение false.

  2. Пересоздайте под админ-консоли:

    kubectl delete pod -n vkteams myteam-admin-\*
    

    где: * — уникальное имя пода. Имя пода необходимо получить с помощью вывода команды:

    kubectl get pods -A | grep myteam-admin
    

Ограничить создание скриншотов и записи экрана

Вы можете ограничить на уровне домена создание скриншотов и записей экрана в клиентских приложениях, чтобы предотвратить утечку критически важной или служебной информации.

Для Android на уровне системы реализована защита, блокирующая возможность создания скриншотов и записи экрана. При попытке сделать скриншот или запись в результате будет черный экран.

Для iOS отображается визуальное предупреждение о запрете на создание скриншотов. При попытке сделать скриншот в результате будет белый экран.

Для десктоп-приложений:

  • Windows — реализована защита от скриншотов и блокировка распространённых средств записи экрана (например, Bandicam). При попытке сделать скриншот, на нем не отобразится окно приложения. Аналогично и при записи экрана.
  • macOS — внедрены ограничения на стандартные сценарии снятия скриншотов, с учётом системных разрешений. При попытке сделать скриншот, на нем не отобразится окно приложения

Вы можете запретить пользователям делать скриншоты и запись экрана двумя способами — через конфигурационный файл или при помощи Панели администратора VK WorkSpace (при наличии).

Через конфигурационный файл

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра screenshots-allowed значение false.

  2. Перезапустите pod myteam-admin:

    kubectl delete pod -n vkteams -l app=myteam-admin
    

Через Панель администратора

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и убедитесь, что в нем есть переменная screenshots-allowed с любым значением. Если переменной нет — добавьте ее:

    "screenshots-allowed": false
    
  2. Подключитесь к серверу Супераппа и сгенерируйте client_id и client_secret:

    creds=$(curl -s http://onpremise.stroma-1.weave.local:8036/api/v1/private/generate_credentials); \
        client_id=$(echo $creds | jq -r ".client_id"); \
        client_secret=$(echo $creds | jq -r ".client_secret"); \
        client_secret_hash=$(echo $creds | jq -r ".client_secret_hash"); \
        echo "tokeeper.request.add_application('biz', 'biz admin', '$client_id', '$client_secret_hash', '')" | sudo tarantoolctl eval tokeeper-1
    
    echo $client_id
    echo $client_secret
    

    Запомните выводы команд.

  3. Перейдите в инсталлятор VK WorkSpace по адресу http://server-ip-address:8888 в раздел НастройкиИнтеграции и включите переключатель VK Teams поддерживает авторизацию ЕСИА.

  4. Укажите client_id и client_secret и нажмите на кнопку Сохранить.
  5. Перейдите в раздел НастройкиПеременные окружения.
  6. В левом боковом меню найдите bizf и нажмите на иконку
  7. Нажмите на кнопку Добавить и добавьте переменные со следующими значениями:

    MYTEAM_GODMOD_HOST: https://admin.<домен Супераппа>

    FRONTEND_ADD_PERMISSIONS: im.can_access_superapp

    Внимание

    Не перезаписывайте значение переменной FRONTEND_ADD_PERMISSIONS. Найдите переменную в таблице и добавьте для нее значение im.can_access_superapp без удаления ранее добавленных значений

  8. Нажмите Сохранить.

  9. Выполните шаг up_container для контейнера bizf.
  10. Перейдите в расширенную панель администратора по адресу https://biz.<ваш домен>/admin/features/ и добавьте фичу tmp-myteam-plugins-configuration.
  11. Перейдите в Панель администратора по адресу https://biz.<ваш домен>/ в раздел Суперапп и включите Запрет на скриншоты и запись экрана.

  12. Нажмите на кнопку Сохранить.

Включить доступ к приложению по паролю

Вы можете включить для пользователей доступ в приложение по паролю.

Если настройка не была включена ранее, при первом входе приложение предложит пользователю создать пароль. Пароль может быть разный на разных устройствах и сбрасывается, если пользователь заново входит в свою учетную запись.

Чтобы включить доступ по паролю:

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра pin-required значение true.
  2. Перезапустите pod myteam-admin:

    kubectl delete pod -n vkteams -l app=myteam-admin
    

Отображать баннер о подключенном VPN

Вы можете предупреждать пользователей, что на устройстве подключен VPN. Это поможет избежать перехвата чувствительной информации и низкой скорости работы приложения.

Данная настройка доступна для декстоп- и мобильной версии Супераппа.

При включении настройки пользователь увидит баннер с предупреждением в момент запуска приложения. При этом настройка не запрещает пользователю использовать приложение с включенным VPN.

Чтобы включить н:

  1. Перейдите в конфигурационный файл /usr/local/nginx-im/html/myteam/myteam-config.json и установите для параметра vpn-detect значение true.
  2. Перезапустите pod myteam-admin:

    kubectl delete pod -n vkteams -l app=myteam-admin
    

Скрыть содержимое пуш-уведомлений

Вы можете скрыть содержимое пуш-уведомлений на мобильных устройствах пользователей, чтобы защитить данные и избежать утечек информации.

При включении настройки в пуш-уведомлениях не будет видно:

  • Содержимое сообщения.
  • Имя отправителя и получателя.
  • Название группы/канала/бота.

При включении настройки:

  • Всплывающие уведомления на веб- и декстоп-клиентах отображаются согласно настройкам клиентов,
  • В настройках мобильных приложений приватность уведомлений включена по умолчанию и недоступна для изменения пользователями.

Настройка доступна на уровне всей инсталляции и влияет на все группы/каналы/личные сообщения для всех пользователей без исключения.

Подробнее о работе сервисов уведомлений описано в документации по архитектуре (не является частью публичной документации, обратитесь к представителю VK Tech, чтобы ознакомиться с документом).

Чтобы скрыть содержимое пуш-уведомлений:

Шаг 1. Включите отправку пуш-уведомлений через сервис VKTPusher

  1. Откройте на редактирование конфигурационный файл сервиса Boss в режиме суперпользователя:

    sudo vi /usr/local/etc/k8s/helmwave/projects/boss/values/boss/bos-pre.tcl.yml
    
  2. Для параметра set PNOTIFY_VKT_PUSHER_ENABLE укажите значение «1» и сохраните изменения:

    set PNOTIFY_VKT_PUSHER_ENABLE 1
    
  3. Примените настройку.

    Для инсталляции на одну виртуальную машину выполните команду:

    sudo hwup -t boss
    

    Для кластерной инсталляции:

    im_deployer --helmwave --update --hw-once --hw-project boss
    

Шаг 2. Настройте сервис VKTPusher

  1. Откройте на редактирование конфигурационный файл сервиса VKTPusher в режиме суперпользователя:

    sudo vi /usr/local/etc/k8s/helmwave/projects/vktpusher/values/vktpusher/vktpusher.yml
    
  2. Для параметра erase_sensitive_push_content укажите значение true и сохраните изменения:

    erase_sensitive_push_content: true #включаем скрытие контента уведомлений
    
  3. Примените настройку.

    Для инсталляции на одну виртуальную машину выполните команду:

    hwup -t vktpusher
    
    Для кластерной инсталляции:

    im_deployer --helmwave --update --hw-once --hw-project vktpusher
    

Шаг 3. Настройте myteam-config

  1. Откройте на редактирование конфигурационный файл myteam-config в режиме суперпользователя:

    sudo vi /usr/local/nginx-im/html/myteam/myteam-config.json
    
  2. Добавьте следующие настройки в файл и сохраните изменения:

    "force-hide-notification-all-data": true, #вместо текста уведомления отображаем «Новое сообщение»
    "disable-notifications-privacy-settings": true #скрываем контент уведомления
    
  3. Примените настройки:

    kubectl delete pod -n vkteams -l app=myteam-admin