Установка привилегий доступа пользователей в InterBase.
Защита статистических баз данных.
Обычно статистические базы данных используются для генерации статистической информации – например, для определения усредненных и сводных показателей различных наборов данных. Однако информация отдельных записей в статистической базе данных должна сохраняться конфиденциально и не должна быть доступна пользователям. Основная проблема при работе с подобными типами баз данных состоит в возможности использования ответов на допустимые запросы для получения ответов на запрещенные запросы. Для разрешения этой проблемы могут использоваться различные стратегии.
· Предотвращение выполнения запросов, работающих с незначительным количеством записей базы данных.
· Случайное добавление дополнительных строк к основному набору данных, обрабатываемому запросом. В результате ответ будет содержать определенную ошибку и позволит лишь оценить правильное значение.
· Использование для ответов на запросы только случайных наборов исходных данных.
· Сохранение исторических сведений о результатах выполнения запросов и отклонение любых запросов, использующих значительное количество исходных данных, обработанных предыдущим запросом.
Каждый созданный в среде SQL объект имеет своего владельца. Исходно владелец объекта является единственной персоной, которая знает о существовании данного объекта и имеет право выполнять с этим объектом любые операции. Привилегия доступа – это возможность определенного пользователя выполнять определенный вид действий над определенными таблицами базы данных. Привилегии доступа могут устанавливаться как системным администратором (пользователем с именем SYSDBA), так и пользователем, которому системный администратор предоставил такое право. Например для базы данных «БИБЛИОТЕКА» это пользователь с именем S.
По умолчанию доступ к таблицам, тригерам и хранимым процедурам имеет только тот пользователь, который их создал. Кроме того, системный администратор имеет доступ ко всем компонентам БД. Предоставление и отмена пользователям привилегий в SQL (в том числе СУБД InterBase) реализуется операторами GRAND и REVOKE соответственно.
В стандарте ISO определяется следующий набор привилегий:
· SELECT — право выбирать данные из таблицы;
· INSERT — право вставлять в таблицу новые строки;
· UPDATE — право изменять данные в таблице;
· DELETE — право удалять строки из таблицы;
· REFERENCES — право ссылаться на столбцы указанной таблицы в описаниях требований поддержки целостности данных;
· USAGE – право использовать домены, проверки, наборы символов и трансляции.