Права доступа к системным таблицам БД

База данных системы Ultima Businessware® состоит из двух схем: схемы ядра и прикладной схемы. Описывающие бизнес-логику и бизнес-объекты системы метаданные хранятся в схеме ядра. В прикладной схеме на основе этих метаданных создаются таблицы и хранятся данные прикладной области (справочники, развязочные таблицы, табличные части документов, итоги и т.д.).

Если доступ к таблицам прикладной схемы базы данных определяется выдачей разрешений на выполнение операций CRUD (Create, Read, Update, Delete) непосредственно над объектами (справочниками, подтипами документов и т.п.), то для таблиц схемы ядра БД – системных таблиц – этот доступ определяется выдачей соответствующих прав (Permissions). При этом к ряду служебных таблиц схемы ядра доступ закрыт для всех пользователей.

Доступ к системным таблицам подчиняется следующим правилам.

1.Любой пользователь независимо от его роли и наличия каких-либо прав обладает возможностью чтения (выполнения операции Read) данных из всех таблиц.

Также любой пользователь может выполнять все операции (CRUD) над следующими таблицами:

ATTACHMENTS – вложения, прикрепляемые к объектам метаданных;

ATTACHMENT_TYPES – типы вложений;

NOTIFICATIONS – уведомления;

PARENT_DOCUMENTS – отношения родитель-потомок между документами;

SPELL_CHK_WORDS – словарь, дополняемый пользователями при проверке орфографии.

2.Пользователь, обладающий правом Administrator, имеет возможность (помимо чтения всех таблиц) совершать следующие дополнительные операции над следующими таблицами:

операции CREATE, UPDATE, DELETE:

APP_CLUSTERS;

APP_SERVERS;

APP_SERVER_TASKS;

CLUSTER_CONFIGS;

PREDICATES;

PRINTER_PERMISSIONS;

PRINTERS;

PRINT_SERVERS;

ROLE_MODULES;

ROLE_PERMISSIONS;

ROLE_PREDICATES;

ROLES;

ROLE_TREE;

SCRIPT_PERMISSIONS;

STANDBY_SERVERS;

ST_DRV_TO_PRINTERS;

TOTAL_PERMISSIONS;

UI_TEMPLATES;

USER_GROUPS;

USERS;

VERSION_TAGS;

операции UPDATE, DELETE:

PRINT_PACK_QUEUE;

PRINT_QUEUE;

PRINT_QUEUE_LOCKS;

PRINT_TASK_QUEUE;

операцию DELETE:

USER_SETTINGS;

операцию UPDATE:

TASKS (только для свойства EXEC TIME).

3.Пользователь, обладающий правом Developer, имеет возможность выполнять все операции (CRUD) над всеми таблицами, кроме следующих:

только операции READ, UPDATE, DELETE:

PRINT_PACK_QUEUE;

PRINT_QUEUE;

PRINT_QUEUE_LOCKS;

PRINT_TASK_QUEUE;

только операции READ, DELETE:

USER_SETTINGS;

только операцию READ:

GENDERS;

LAYOUT_TYPES;

OBJECT_TYPES;

PARAM_MODES;

PRINT_PACKAGE_STATES;

PRINT_TASK_STATES;

PROPERTY_TYPES;

SCRIPT_TYPES;

SPELL_CHK_DICT_TYPES.

4.Пользователь, обладающий правом на управление календарем Calendar management, имеет возможность совершать все операции (CRUD) над следующими таблицами:

CALENDAR_DAY_STATUSES;

CALENDAR_STATUSES.

5.Пользователь, обладающий правом на изменение констант Edit constants, имеет возможность совершать все операции (CRUD) над следующими таблицами:

CONSTANT_GROUPS;

CONSTANTS.

6.Пользователь, обладающий правом на локализацию исключений Edit exception translations, имеет возможность совершать операции CRU над следующими таблицами:

EXCEPTION_TRANSLATIONS;

EXCEPTION_TRANSL_TEXTS.

7.Пользователь, обладающий правом на перевод Edit metadata translations, имеет возможность совершать операции CRU над таблицей METADATA_TRANSLATIONS и все операции (CRUD) над таблицей SPELL_CHK_DICTIONARIES.

8.Пользователь, обладающий правом на создание документации Edit metadata user comments, имеет возможность совершать операции CRU над таблицей METADATA_USER_COMMENTSS.

9.Пользователь, обладающий правом на управление очередью печати Manage print queues, имеет возможность совершать операции CRU над следующими таблицами:

PRINT_PACK_QUEUE;

PRINT_QUEUE;

PRINT_QUEUE_LOCKS;

PRINT_TASK_QUEUE.

10.Пользователь, обладающий правом на редактирование интерфейса Edit UI templates, имеет возможность совершать все операции (CRUD) над таблицей UI_TEMPLATES.