|
Версия ОС |
64-bit Ubuntu 20.04 (и выше), Debian 11 (и выше), Astra Linux «Воронеж» |
|
CPU |
16 |
|
RAM |
24 Gb или больше |
|
HDD |
100 Гб или больше свободного места |
|
Версия ОС |
Windows (.NET 6), Linux (.NET Core) |
|
CPU |
2 |
|
RAM |
2 Gb или больше |
Для установки платформы необходимо:
1. Перенести zip-архив distribution на Linux-машину → распаковать архив → перейти в папку distribution.
2. Запустить скрипт установки платформы saluterpadeploy_local.sh (local может меняться в зависимости от организации).
3. Выполнить команды:
|
ls-la ./saluterpadeploy_local.sh docker ps |
При инициализации хранилища будут сгенерированы ключ шифрования и начальный токен. Чтобы получить ключ и токен, необходимо:
1. Перейти в веб-интерфейс по адресу URL (https://host:8200/).
2. На странице Raft Storage выбрать Create a new Raft
cluster → нажать кнопку Next.
Будет осуществлен
переход на страницу инициализации хранилища.
3. В поле Key shares добавить — не менее 2.
4. В поле Key threshold добавить — не менее 2.
5. Инициализировать хранилище, нажав на кнопку Initialize.

Будет осуществлен переход на страницу Vault has been initialized.
6. Скачать ключи, нажав на кнопку Download keys.

|
Ключ не восстанавливается. При его утере доступ в хранилище будет заблокирован. |
7. Открыть ключ → сохранить значение keys и root_token.
8. Перейти на страницу Unseal Vault → вставить сохраненное значение keys в поле Unseal Key Portion → нажать кнопку Unseal.

Будет осуществлен переход на страницу Sign in to Vault.
9. В поле Method выбрать Token → вставить сохраненное значение root_token в поле Token → нажать кнопку Sign in.

Будет осуществлен вход в хранилище с начальным токеном.
Прежде чем использовать метод AppRole, необходимо его активировать.
Чтобы активировать метод AppRole, необходимо:
1. Выполнить вход в хранилище с начальным токеном.
2. Перейти на вкладку Access, расположенную в верхнем меню.
3. На странице Authentication Method нажать Enable new method.

4. На странице Enable an Authentication Method выбрать AppRole → нажать Next.
5. В поле Path добавить — approle → нажать Enable Method.

Метод AppRole будет активирован.
Перед тем как создать роль, необходимо определить права доступа. Чтобы назначить права доступа, необходимо:
1. Выполнить вход в хранилище с начальным токеном.
2. Активировать метод AppRole.
3. Перейти на вкладку Policies, расположенную в верхнем меню.
4. В открывшейся странице ACL Policies нажать кнопку Create ACL policy.

5. В поле Name добавить — credential-service.
6. В поле Policy добавить:
|
path "secret/data/credential-service/*" { capabilities = ["create", "read", "update", "delete"] } |
7. Нажать кнопку Create policy.
8.
Открыть командную
строку, нажав кнопку CLI Vault
.
9. Выполните следующую команду, чтобы создать новую роль:
|
vault write auth/approle/role/credential-service token_policies="credential-service" token_ttl=1h token_max_ttl=4h |
10. Сохранить значения VAUаLT_ROLE_ID, VAULT_SECRET_ID

1. Выполнить вход в хранилище с начальным токеном.
2. Активировать метод AppRole.
3. Перейти на вкладку Secret, расположенную в верхнем меню.
4. В открывшейся странице Secret Engines нажать кнопку Enable new engine.

5. В открывшейся странице Enable a Secret Engine выбрать KW → нажать кнопку Next.
6. В поле Path добавить — secret/data/credential-service.
7. В поле Version выбрать 1 версию.

8. Найти в папке distribution и открыть файл platform/.env.
9. Дополнить переменные в .env соответствующими значениями: VAULT_ROLE_ID, VAULT_SECRET_ID.
10.
Выполнить docker compose --env-file .env up -d.
После команды должен активироваться credential-service.
11. Поменять статус на Healthy.
1. Необходимо сделать 2 сертификата: серверный (nginx-server.crt) и клиентский (nginx-client.crt):
а)
Путь сохранения
серверного сертификата и приватного ключа (nginx‑server.key):
/opt/nginx/ssl/nginx-server.crt;
/opt/nginx/ssl/nginx-server.key
б)
Путь сохранения
клиентского сертификата и приватного ключа (nginx‑client.key):
/opt/nginx/ssl/nginx-client.crt; /opt/nginx/ssl/nginx-client.key
в)
Сформировать файл
ca.crt, в который необходимо добавить корневой доверенный сертификат CA: и
сохранить:
/opt/nginx/ssl/ca.crt
2. В nginx.conf записать следующий конфиг:
|
user nginx;
worker_processes auto; worker_rlimit_nofile 128000;
error_log /opt/nginx/logs/error.log info;
events { worker_connections 8192; multi_accept on; }
http { include mime.types; default_type application/octet-stream;
sendfile on; client_max_body_size 100M; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; include /opt/nginx/conf/conf.d/*.conf; server { listen 443 ssl http2; server_name orchestra.<domain-name> orchestra; ssl_certificate /opt/nginx/ssl/nginx-server.crt; ssl_certificate_key /opt/nginx/ssl/nginx-server.key; ssl_protocols TLSv1.2 TLSv1.3; location /nginx_status { stub_status; } location ~ ^/(gw|auth)\/? { proxy_http_version 1.1; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $server_name; proxy_ssl_server_name on;
proxy_pass https://<orchestra-openshift-hostname>; proxy_send_timeout 150; proxy_read_timeout 150;
proxy_ssl_certificate /opt/nginx/ssl/nginx-client.crt; proxy_ssl_certificate_key /opt/nginx/ssl/nginx-client.key;
proxy_ssl_trusted_certificate /opt/nginx/ssl/ca.crt; proxy_ssl_verify on; proxy_ssl_verify_depth 2; } } } |
Для успешной работы агента SaluteRPA необходимо настроить интеграцию с компонентом Keycloak.
Чтобы настроить интеграцию, необходимо получить значения Client ID и Client secret из Keycloak и передать эти значения агенту SaluteRPA. Для этого необходимо:
1. Открыть файл appsettings с конфигурацией агента → скопировать URL в строке TokenGateway.

2. Перейти по скопированному URL для входа в консоль. Будет открыта главная страница Keycloak.
3. Выбрать Administration Console. Откроется форма аутентификации пользователя.
4. Ввести данные для аутентификации → нажать кнопку Sign in. Будет осуществлен переход в сервис Administration Console на главную страницу активного пространства.
5. Сменить активное пространство: раскрыть список, находящийся в верхнем левом углу интерфейса → выбрать пространство платформы.
6. Перейти в раздел Clients → найти агента → перейти на страницу агента.

7. В открывшейся форме Client details → перейти на вкладку Settings → cохранить значение Client ID.
8.
Перейти на вкладку Credentials → cохранить значение Client secret,
нажав кнопку Copy to clipboard
.
9. Скопированное значение Client ID добавить в файл appsettings в строку OAuth2Settings — ClientId.
10. Скопированное значение Client secret необходимо зашифровать и перенести в соответствующее поле конфигурационного файла appsettings:
а) Открыть файл SberRPAEncrypter.exe. Откроется окно Утилита шифрования SberRPA.
б) Вставить скопированное значение Client secret → нажать кнопку Зашифровать.

г) Скопировать зашифрованное значение.
д) Скопированное значение добавить в файл appsettings в строку OAuth2Settings — ClientSecret.
Агент успешно подключен к компоненту Keycloak.
Для настройки интеграции между Keycloak и Active Directory необходимо:
1. Переключиться на нужный Realm, затем нажать на пункт в меню User Federation.
Появится первичное окно настройки пользовательской федерации.
2. Нажать на выпадающее меню Add provider → в выпадающем списке выбрать LDAP.

3. Настроить параметры для подключения:

4. Нажать Save.
Сверху появится раздел Mappers.
5. Перейти в раздел Mappers → нажать Create.
6. Заполнить поля:

7. Создать еще один Mapper для правильного получения first name:

8. После создания Mapper вернуться в созданную User Federation (Active Directory).
9. Нажать кнопку Synchronize all users.

Будет произведен импорт всех пользователей, которые состоят в указанных группах в Active Directory.
Вместе с пользователями будут импортированы группы Active Directory.
Платформа поддерживает работу различных пространств, где объекты системы разделены и не видны между пространствами. Пространства по умолчанию изолированы друг от друга. Переносить каталоги между пространствами нельзя. Пользователи, ресурсы и роботы одного пространства не могут взаимодействовать с пользователями, ресурсами и роботами другого пространства.
Пользователь, создавший пространство, по умолчанию становится владельцем и администратором пространства.
Чтобы создать пространство, необходимо:

o Name (Имя): CAN_CREATE_ORG.
o Value (значение): enable.

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

При отсутствии ошибок будет создана организация, и произойдет автоматическая авторизация пользователя в ней.

Не существует каталогов вне пространства, каталог принадлежит пространству, в котором был создан. Создать каталог внутри другого каталога невозможно. В пространстве может быть один каталог и более, количество каталогов неограниченно. Платформа создает default каталог по умолчанию.
В разделе показаны все каталоги, которые доступны в пространстве, их наименование, описание, дата создания и дата последнего обновления.
Чтобы создать новый каталог, необходимо:

Откроется форма Добавление каталога.

Заполнить поле Имя, при необходимости выбрать цвет каталога и добавить описание.
При успешном добавлении каталога всплывет оповещение Каталог успешно добавлен. В разделе появится новый каталог.
При необходимости можно изменить имя каталога, выбрать новый цвет или отредактировать описание.
Для редактирования каталога необходимо:
Откроется форма Изменение каталога.

При успешном выполнении операции всплывет оповещение Изменения, внесенные в каталог, успешно сохранены.
Раздел отображается, если пользователю доступна роль Администратор пространства.
Лицензии могут быть двух типов: Роботизация и Распознавание.
Роботизация определяет общее количество активных сессий на платформе.
Распознавание — количество распознанных страниц.
Кроме того лицензии имеют ограничение по времени действия.
В разделе доступна следующая информация:
· статус — статус лицензии на продукт. Возможные значения в столбце:
o Лицензия активирована – если еще не истек срок действия на продукт;
o Лицензия истекла – если истек срок действия на продукт;
· начало — дата, с которой лицензия на продукт будет работать (включительно);
· окончание — дата, до которой лицензия на продукт будет работать (включительно);
· осталось дней — количество дней, которое осталось до истечения лицензии;
· сессии / страницы — количество активных сессий или количество страниц доступных к распознаванию;
· идентификатор — уникальный идентификатор сессии.

Для получения лицензии необходимо направить аккаунт-менеджеру платформы SaluteRPA ключ пространства.
Чтобы запросить лицензию, необходимо:


При успешном копировании всплывет оповещение Ключ пространства успешно скопирован.
После запроса и получения ключа лицензии его необходимо добавить на платформу.
Для добавления ключа лицензии необходимо:
Откроется форма Добавление лицензии.

При успешном добавлении лицензии в пространство всплывет оповещение Лицензия успешно добавлена. В разделе появится новая лицензия. Если текущая дата добавления лицензии входит в срок ее действия, то лицензии будет присвоен статус Лицензия активирована.
Чтобы удалить лицензию, необходимо:
При успешном удалении лицензии всплывет оповещение Лицензия успешно удалена.
Восстановить лицензию нельзя, необходимо заново добавить ее с помощью ключа. При потере ключа обратитесь к аккаунт-менеджеру платформы SaluteRPA.
Администратор пространства может пригласить в каталоги своего пространства других пользователей. Управление доступом на платформе построено на ролевой модели. Пользователю можно назначать роль или роли в любом каталоге в рамках одного пространства. Количество пользователей, которые могут получить доступ на платформу, неограниченно.
Чтобы получить доступ к платформе пользователи должны зарегистрироваться и принять приглашение. Доступ к роботам предоставляется отдельно в зависимости от роли пользователя.
В разделе Пользователи показаны все приглашенные пользователи, их ФИО, почта, статус и доступные им каталоги и роли. Также в разделе можно пригласить нового пользователя, заблокировать или отредактировать уже существующих.
В системе доступны следующие роли:
· администратор пространства — создание каталогов, добавление пользователей и работа с лицензиями, права администратора, оператора и разработчика;
· администратор — может запустить пакет на ресурсе, остановить сессию, добавить пользователя к роботу, заблокировать и разблокировать семафоры, работать с планировщиком и очередями, просмотр журнала аудита, также доступны групповые операции по изменению статуса элементов очередей;
· оператор — изменяет статус элементов очередей, ставит очередь на паузу и снимает с паузы, обрабатывает запрос;
· разработчик — создание и поддержка роботов.
Чтобы пригласить пользователя, необходимо:

Откроется форма Добавление пользователей.
|
Электронный адрес является идентификатором учетной записи пользователя на платформе. Администратор пространства не может изменить его или добавить еще одну учетную запись с таким же адресом. |

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

При успешном добавлении всплывет оповещение Отправлено приглашение. В разделе появится новый пользователь в статусе Подтверждение приглашения.
Пользователь получит приглашение на указанную почту. После регистрации и принятия приглашения статус пользователя в разделе изменится на Пользователь активен. При отказе — Приглашение отклонено.
Администратор пространства может редактировать уже существующих пользователей. Например, изменить или назначить пользователю новую роль в доступном ему каталоге или добавить пользователя в новый каталог.
Чтобы внести правки, необходимо:
Откроется форма Настройка ролей пользователя.

При успешном редактировании прав всплывет оповещение Настройки ролей пользователя успешно сохранены.
Удалить пользователя из пространства невозможно. Можно ограничить действия пользователя, заблокировав его. При блокировании пользователя ему будет недоступны любые действия в пространстве.
Чтобы заблокировать пользователя, необходимо:
Статус пользователя изменится на Пользователь заблокирован.
По умолчанию администратором пространства является пользователь, который создал пространство. Любому пользователю можно присвоить роль администратора пространства при добавлении в пространство или при редактировании его доступа.
Для присвоения роли необходимо:
а. Нажать кнопку Добавить.
Откроется форма Добавление пользователей.
б. Перейти на вкладку Пользователи → заполнить обязательные поля: e-mail, фамилия, имя → при необходимости заполнить поле: отчество.
в. Перейти на вкладку Каталоги и роли → включить роль Администратор пространства, передвинув ползунок вправо.

а. Найти нужного пользователя.
б. Нажать кнопку Настроить.
Откроется форма Настройка ролей пользователя.
в. Включить роль Администратор пространства, передвинув ползунок вправо.

Панель администратора содержит в себе возможность управления конфигурацией Агента. Доступ к панели имеет пользователь с ролью Администратора.
В управление конфигурацией Агента входит:
Для настройки конфигурации Агента необходимо:
Будет открыта страница Параметры системы.

По умолчанию проверка ЭЦП включена.
Для получения пакетов обновления необходимо обратиться к аккаунт-менеджеру платформы.
Для удаления серверной части необходимо:
1. Выполнить последовательно команды.
2. Удалить папку платформы и архив с дистрибутивом.
Команды для удаления:
· Остановка docker compose.
|
docker compouse down |
· Остановка docker compose — используется, если после выполнения предыдущей команды docker compose не выполнил остановку.
|
docker stop $(docker ps -q) docker rm -f $(docker ps -aq) docker rm -vf $(docker ps -aq) |
· Удаление всех volume (папки, где поды хранят свои данные).
|
docker volume rm $(docker volume ls -q) |
· Удаление docker image из docker compose.
|
docker rmi -f $(docker images -aq) docker images rm $(docker images -aq) |
Команды для проверки:
· Вывод перечня работающих контейнеров.
|
docker ps |
· Вывод docker image, которые загружены в docker.
|
docker images |
· Вывод volume (папки, где поды хранят свои данные), которые развернуты на платформе.
|
docker volume ls |
Ошибки и методы их устранения:
· В случае ошибки "docker: 'compose' is not a docker command" заменить docker compose на docker-compose.
· Использовать команду sudo, если недостаточно прав доступа.