OpenSCADA

Модули/LDAP

This page is a translated version of the page Modules/LDAP and the translation is 100% complete.

English • ‎российский • ‎українська
Модуль Имя Версия Лицензия Источник Языки Платформы Тип Автор
LDAP Директория по LDAP 0.6 GPL2 bd_LDAP.so en,uk,ru,de x86,x86_64,ARM БД Роман Савоченко
Описание
Модуль БД. Предоставляет поддержку директорий посредством LDAP.
  • Общая трудоёмкость: 1.9 ЧД[!]
  • Спонсировано, начальной имплементации на 1.7 ЧД[!]: Александр Колесов, BIOCAD, 2017
  • Сделать (To Do):
- расширить механизм аутентификации функциями хранилища (объекта БД), а именно виртуальными функциями к TBD:
  • auth() — прямая проверка аутентификации пользователя, через "bind" или ldap_whoami();
  • passHash() — получение хеша пароля, для сравнения, если auth() отсутствует, и смена пароля с помощью функции ldap_passwd() или посмотреть на утилиту slappasswd.
- расширить "OSCADA-user" схему:
  • поле пароля "PASS" установить синонимом на "userPassword";
  • свою схему сделать зависимой от "simpleSecurityObject";
  • проверить работу с полем-типом "userPassword".

Модуль предоставляет в OpenSCADA поддержку директорий с помощью протокола лёгкого доступа к директориям (LDAP). Модуль основан на OpenLDAP библиотеке на языке программирования "C". Из-за концептуального отличия сервиса директорий от баз данных (БД) этот модуль позволяет осуществлять в основном чтение и модификацию записей, представленных как табличные записи в концепции БД.

Служба каталогов или служба имён отражает названия сетевых ресурсов на соответствующие сетевые адреса. Это общая информационная инфраструктура для размещения, управления, администрирования и организации повседневных элементов и сетевых ресурсов, которые могут включать тома, каталоги, файлы, принтеры, пользователей, группы, устройства, телефонные номера и другие объекты. Распространённым использованием LDAP является предоставление центрального места хранения имён пользователей и паролей. Это позволяет многим различным приложениям и службам подключаться к LDAP серверу с целью проверки пользователей. Протокол предоставляет интерфейс с директориями, который соответствует редакции 1993 модели X.500:

Contents

1 Операции над БД

Модулем предоставляется только операция открытия базы данных (представляя в такой способ базовый элемент). В терминах подсистемы "БД" OpenSCADA, открытием БД является её регистрация для последующего использования программой. Также, поддерживается операция запроса перечня таблиц в БД.

LDAP база данных (подключение) адресуется следующим образом "ldap[s]://{host}[:{port}];bdn[;{adn};{pass}[;{tm}]]", где:

2 Операции над таблицей

Поддерживаются только операции открытия и закрытия таблицы (представляя в такой способ елемент в базовом элементе). Таблицей считаются элементы с присутствующим атрибутом "ou" (обычно это класс объекта "organizationalUnit"), которые включены в базовый элемент.

3 Операции над содержимым таблицы

API подсистемы "БД" предполагает доступ к содержимому таблицы по значению ключевого(ых) полей. Так, операция запроса записи подразумевает предварительную установку ключевых колонок объекта TConfig, по которым будет выполнен запрос. Создание новой записи(строки) производится операцией установки значений записи, которая отсутствует.

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

Модуль на данное время не различает типов атрибутов элементов и считает всех их строками.

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

Узел OpenSCADA Значение Organizational Unit "ou" (имя таблицы) Структура Схема, в основном вспомогательные
Пользователь ou=Security_user NAME, DESCR, LONGDESCR, PASS, LANG, PICTURE OSCADA-user
Группа пользователей ou=Security_grp NAME, DESCR, LONGDESCR, USERS OSCADA-grp

Поддерево LDAP элементов типовых таблиц пользователей и их групп имеет следующий вид:

4 Права доступа

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

Modules/LDAP/ru - GFDLFebruary 2022OpenSCADA 1+r2802