- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «тюменский государственный нефтегазовый университет»
- •Инструментальные средства информационных систем
- •Часть 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
Неявные права
Выполнение некоторых действий не требует явного разрешения и доступно по умолчанию. Третий класс прав как раз предоставляет такие действия. Эти дей ствия могут быть выполнены только членами ролей сервера или владельцами объектов в базе данных.
Неявные права не предоставляются пользователю непосредственно, ом ммну чает их лишь при определенных обстоятельствах. Например, пользователь может стать владельцем объекта базы данных, только если он сам создаст объект либо если другой владелец передаст ему права владения своим объектом. Таким образом, владелец объекта автоматически получит права на выполнение любых действий с объектом, в том числе и право предоставлять доступ к объекту другим пользователям. Эти права нигде явно не указываются, и только факт владения объектом позволяет пользователю выполнять любые действия.
Аналогичная ситуация получается и с ролями сервера. Например, вы не можете дать конкретному пользователю права на контроль процессов SQL Server. Только включив его в роль processadmin, можно предоставить ему эти права.
Для конкретного действия, контролируемого разрешением, возможны три варианта состояния доступа: предоставление, запрещение и неявное отклонение.
Запрещение доступа
Система безопасности SQL Server имеет иерархическую структуру. Это позволяет ролям базы данных включать в себя учетные записи и группы Windows NT пользователей и роли SQL Server. Пользователь же, в свою очередь, может участвовать в нескольких ролях. Следствием иерархической структуры сигналом безопасности является то, что пользователь может одновременно иметь разные права доступа для разных ролей. Если одна из ролей, в которых состоит пользователь, имеет разрешение на доступ к данным, то пользователь автоматически имеет аналогичные права. Тем не менее может потребоваться запретить возможность доступа к данным. Когда вы запрещаете пользователю доступ к данным или командам Transact SQL (deny access), тем самым аннулируются все разрешения на доступ, полученные пользователем на любом уровне иерархии. При этом гарантируется, что доступ останется запрещенным независимо от разрешений, предоставленных на более высоком уровне.
Пусть, например, вы создаете в базе данных таблицу, доступ к которой по умолчанию предоставлен всем пользователям, но вам необходимо временно ограничить доступ определенных пользователей к этой таблице. Вместо того чтобы отозвать разрешения на доступ, можно создать роль, которой будет запрещен доступ к этой таблице, и включить пользователей в эту роль. Проще контролировать несколько записей в роли, которая запрещает доступ, чем манипулировать множеством разрозненных учетных записей, пытаясь вспомнить, вернули ли вы права доступа пользователю обратно. При большом количестве пользователей такой подход позволяет упростить администрирование системы безопасности.
Используйте команду DENY для запрещения пользователю доступа к объектам базы данных:
DENY
{ ALL [PRIVILEGES] | permission[,...n] }
{
[(column[,...n])] ON {table|view}
| ON {table|view} [(column[,...n])]
| ON {stored_procedure | extended_procedure}
}
TO security_account[,...n]
[CASCADE]
Для запрещения выполнения команд Transact SQL применяется другая команда:
DENY { ALL [PRIVILEGES] | permission[,...n] } TO security_account[,...n]
Параметры данной команды аналогичны параметрам команды GRANT. Параметр CASCADE позволяет отзывать права не только у данного пользователя, но также и у всех тех пользователей, кому он предоставил данные права. Поясним смысл вышесказанного на примере. Пусть вы предоставили пользователю StaffOfficer определенные права:
GRANT CREATE TABLE
To StaffOfficer
WITH GRANT OPTION
Допустим, StaffOfficer предоставляет аналогичные права некоторым пользователям. Если впоследствии вам потребуется отозвать разрешения у StaffOfficer, вы выполните команду: DENY CREATE TABLE
TO StaffOfficer
CASCADE
При этом будут отозваны и все разрешения, которые StaffOfficer предоставил другим пользователям.