- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «тюменский государственный нефтегазовый университет»
- •Инструментальные средства информационных систем
- •Часть I
- •Содержание
- •Пояснительная записка
- •Основные правила по технике безопасности Требования по электрической безопасности
- •Особенности электропитания монитора
- •Особенности электропитания системного блока
- •Система гигиенических требований
- •Общие требования к выполнению и оформлению лабораторных работ Допуск студентов к выполнению лабораторных работ
- •Порядок выполнения лабораторных работ
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты лабораторных работ
- •Порядок оценивания лабораторной работы
- •Лабораторная работа №1 «Установка sql Server. Проверка установки»
- •Ход работы:
- •Контрольные вопросы:
- •Лабораторная работа №2 «Создание и управление базами данных»
- •Ход работы: Контрольные точки и их создание
- •Проверка целостности базы данных
- •Режимы выполнения команды dbcc
- •Dbcc checkalloc
- •Dbcc checkdb
- •Dbcc checktable
- •Dbcc checkfilegroup
- •Команды update statistics и recompile
- •Импорт/экспорт данных в sql Server
- •Общие правила разграничения доступа
- •Архитектура системы безопасности
- •Примечание
- •Предупреждение
- •Примечание
- •Примечание
- •Примечание
- •Пользователи
- •Внимание
- •Примечание
- •Роли сервера
- •Роли баз данных
- •Примечание
- •Роли приложения
- •Примечание
- •Создание и управление учетными записями
- •Примечание
- •Примечание
- •Шифрование данных
- •Примечание
- •Права доступа
- •Права на доступ к объектам баз данных
- •Примечание
- •Права на исполнение команд Transact sql
- •Неявные права
- •Запрещение доступа
- •Неявное отклонение доступа
- •Конфликты доступа
- •Обзор средств Transact sql
- •Ход работы:
- •Контрольные вопросы:
- •Лабораторная работа №4 «Создание, заполнение и просмотр баз данных»
- •3 Порядок выполнения работы
- •3.1 Проектирование баз данных
- •3.2 Проверка правильности, триггеры
- •3.3 Заполнение баз данных
- •3.4 Связывание баз данных и целостность ссылочной системы
- •3.5 Просмотр содержимого баз данных
- •Контрольные вопросы
- •Лабораторная работа №5 «Проектирование экранной формы»
- •Теоретический материал
- •Контрольные вопросы:
- •Лабораторная работа №6 «Анализ баз данных sql-запросы»
- •Теоретические сведения:
- •Ход работы:
- •Контрольные вопросы:
- •Список литературы
- •Основная литература
- •Дополнительная литература
- •Шарафутдинова Светлана Анатольевна инструментальные средства информационных систем
- •625000, Тюмень, ул. Володарского, 38.
- •625039, Тюмень, ул. Киевская, 52
Права на доступ к объектам баз данных
Работа с данными и выполнение хранимых процедур требуют наличия класса доступа, называемого правами на доступ к объектам баз данных. Под объектами подразумеваются таблицы, столбцы таблиц, представления, хранимые процедуры. Права на доступ к объектам баз данных контролируют возможность выполнения пользователями, например, команд SELECT, INSERT, UPDATE и DELETE для таблиц и представлений. Таким образом, если пользователю необходимо добавить новые данные в таблицу, ему следует предоставить право INSERT (вставка записей в таблицу). Предоставление же пользователю права EXECUTE разрешает ему выполнение каких-либо хранимых процедур.
Для различных объектов применяются разные наборы прав доступа к ним:
SELECT, INSERT, UPDATE, DELETE и REFERENCES - эти права могут быть применены для таблицы или представления;
SELECT и UPDATE — эти права могут быть применены к конкретному столбцу таблицы или представления;
EXECUTE — это право применяется только к хранимым процедурам и функциям.
Ниже приводится более подробное описание каждого из этих прав.
INSERT. Это право позволяет вставлять в таблицу или представление новые строки. Как следствие, право INSERT может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.
UPDATE. Это право выдается либо на уровне таблицы, что позволяет изменять все данные в таблице, либо на уровне отдельного столбца, что разрешает менять данные только в пределах конкретного столбца.
DELETE. Это право позволяет удалять строки из таблицы или представления. Как и право INSERT, право DELETE может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.
SELECT. Разрешает выборку данных. Может выдаваться как на уровне таблицы, так и на уровне отдельного столбца.
REFERENCES. Возможность ссылаться на указанный объект. Применительн таблицам разрешает пользователю создавать внешние ключи, ссылающиеся на первичный ключ или уникальный столбец этой таблицы. Применительно к представлениям право REFERENCES позволяет связывать представление схемами таблиц, на основе которых строится представление. Это позволяет отслеживать изменения структуры исходных таблиц, которые могут повлиять на работу представления. Право REFERENCES не существовало в предыдущих версиях SQL Server.
Как следует из вышеизложенного, доступ можно предоставлять как на уровне всей таблицы или представления, так и на уровне отдельного столбца. Обычно не практикуется управление правами доступа на уровне конкретного столбца. Если в таблице имеется один или более столбцов, доступ пользователей к которым необходимо ограничить, то в базе данных часто создается представление (view), включающее только те столбцы исходной таблицы, доступ к которым разрешен.
Предоставить или отклонить доступ пользователю базы данных ко всем объектам базы данных можно при помощи встроенных ролей базы данных. Например, для разрешения чтения данных из всех таблиц и представлений базы данных достаточно включить пользователя в фиксированную роль db _ datareader, а не изменять права доступа пользователя к каждой таблице и представлению в отдельности.
Используйте команду GRANT для управления разрешениями пользователя на доступ к объектам базы данных:
GRANT
{ ALL [PRIVILEGES] | permission[,...n] }
{
[(column[,...n])] ON {table|view}
| ON {table|view} [(column[,...n])]
| ON {stored_procedure | extended_procedure}
}
TO security_account[,...n]
[WITH GRANT OPTION]
[ AS { group | role } ]
Назначение параметров команды GRANT следующее:
ALL — пользователю предоставляются все доступные разрешения. Этот параметр могут использовать только участники роли sysadmin;
permission — список доступных разрешений, которые предоставляются пользователю (SELECT, INSERT, UPDATE, DELETE, EXECUTE). Вы можете одновременно предоставлять несколько разрешений, в этом случае их нужно разделять запятыми;
security _ account — имя того объекта системы безопасности, который необходимо включить в роль. В качестве таких объектов могут выступать как учетные записи SQL Server, так и пользователи и группы пользователей Windows NT, которым предоставлен доступ к серверу баз данных;
table, view, column, stored _ procedure, extended _ procedure — в качестве данных параметров выступают имена объектов в текущей базе данных, для которых необходимо предоставить доступ;
WITH GRANT OPTION — использование данного параметра позволяет пользователю, которому вы предоставляете права, назначать права на доступ к объекту другим пользователям;
[ AS { group | role } ] — этот необязательный параметр позволяет указать участие пользователя в роли, которая имеет возможность предоставлять права другим пользователям.
В качестве примера команды рассмотрим следующую ситуацию. Вам необходимо предоставить права на использование команд INSERT и SELECT группе Engineer в таблице Materials. При этом нужно, чтобы в дальнейшем пользователи этой группы могли сами предоставлять аналогичные права. Для этого следует выполнить следующую команду:
GRANT SELECT, INSERT
ON Materials
TO Engineer
WITH GRANT OPTION
Впоследствии пользователь Valentin, являющийся членом группы Engineer, может предоставить аналогичные права другому пользователю Chief :
GRANT SELECT, INSERT
ON Materials
TO Chief
AS Engineer
В данном случае необходимо подтвердить, на каком основании Valentin предоставляет права, поэтому применяется параметр AS.