Настройка авторизации

Авторизация в компоненте реализуется с помощью стороннего ПО. Доступна интеграция с Avanpost, Keycloak и Basis Virtual Security.

Чтобы включить авторизацию через IAM, выполните следующие действия:

  1. Создайте резервную копию файла config.yml:

    cp /opt/skala-r/etc/vision/server/vision_core/config.yml \
    

/opt/skala-r/etc/vision/server/vision_core/config.yml.bak ```

  1. В файле config.yml приведите блок auth к следующему виду:

    auth:
      enabled: true
      auth_server: <1>
      admin_server: <2>
      auth_type: <3>
      realm: <4>
      client_id: <5>
      client_secret: vault.auth.client_secret
    

    Подставьте нужные значения в соответствующие поля:

    1. URL сервера Keycloak, например, https://192.168.1.1:8080/.

    2. URL для административного доступа к IAM.

      • Для Keycloak и Basis Virtual Security используйте то же значение, что и для auth.auth_server.

      • Для Avanpost допускается использование URL, отличающегося от указанного в auth.auth_server.

    3. Тип подключения, keycloak или avanpost соответственно.

    4. Название REALM.

    5. Идентификатор клиента в REALM.

    Пример заполнения для Keycloak:

    auth:
      enabled: true
      auth_server: https://192.168.1.1:8080
      admin_server: https://192.168.1.1:8080
      auth_type: keycloak
      realm: vision
      client_id: vision-core-client
      client_secret: vault.auth.client_secret
    
  2. Создайте копию файла хранилища секретов:

    cp /opt/skala-r/vision/.secrets_vault \
       /opt/skala-r/vision/.secrets_vault.bak
    
  3. Откройте хранилище секретов для редактирования:

    ansible-vault edit /opt/skala-r/vision/.secrets_vault
    
  4. Присвойте ключу vault.auth.client_secret значение секрета клиента, полученное в IAM.

  5. Сохраните изменения и запустите скрипт:

    /opt/skala-r/vision/tools/update_server_configs.sh
    
  6. Проверьте статус службы vision_core:

    systemctl status vision_core.service
    
  7. Убедитесь, что в логе нет ошибок после перезапуска:

    journalctl -fu vision_core -n 20
    
  8. В браузере перейдите в веб-интерфейс Визиона и убедитесь, что запрошена авторизация через IAM.