
- •Минобрнауки россии
- •1. Структура и механизмы ос
- •2. Организация многопрограммной работы: процессы и потоки
- •2.5. Вопросы и литература
- •3. Управление данными в ос
- •3.5. Вопросы и литература
- •4. Файловая система
- •4.5. Вопросы и литература
- •5. Основы проектирование данных. Отношения
- •5.5. Вопросы и литература
- •6. Синхронизация процессов и доступа к ресурсам. Транзакции в ос и субд
- •6.5. Вопросы и литература
- •7. Информационно-логическое моделирование в разработке баз данных
- •7.5. Вопросы и литература
- •8. Работа с данными. Язык баз данных
- •8.1. Цель практического занятия
- •8.2. План занятия
- •8.3 . Используемые технологии
- •8.4. Примеры для анализа
- •8.4.1. Пример параметрического запроса с групповой обработкой
- •8.4.2 Пример запроса на поиск максимального/минимального значения
- •8.4.3 Пример запроса с предварительно определяемым условием выбора
- •8.5. Вопросы и литература
- •9. Язык баз данных
- •9.5. Вопросы и литература
- •10. Защита и безопасность при доступе данным в многопользовательской среде
- •10.5. Вопросы и литература
9.5. Вопросы и литература
1. Каково назначение и основная структура предложения SELECT..
2. Что такое вложенные запросы.
3. С какой целью указывается GROUP BY.
4. Что означает HAVING.
5. Когда строится план выполнения SELECT.
6 Что понимается под оптимизацией плана выполненияSELECT
Учебник / Учебное пособие |
Раздел |
Страницы |
1. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001.- 304 с.; ил. |
Глава 12 |
248-275 |
2. Хомоненко А.Д, Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / под ред. проф. Хомоненко А.Д., 6-ое изд. – М.:Бином-Пресс; СПб.:Корона-Век, 2007.-736с. |
Гл.13 |
476-524 |
10. Защита и безопасность при доступе данным в многопользовательской среде
10.1. Цель практического занятия
Целью практического занятия является более подробное ознакомление с аспектами обеспечения безопасности в многопользовательских средах, которыми являются ОС и СУБД..
10.2. План занятия
В ходе занятия рассматриваются вопросы обеспечения безопасности
в ОС;
в СУБД.
10.3 . Используемые технологии
Для лучшего усвоения материала желательно проведение занятия с использованием компьютера.
10.4. Примеры для анализа
В качестве примеров для анализа рассматриваются:
А) Модель Белла — Ла Падулыобеспечения безопасности дляоперационной системы,в соответствии с которой каждому пользователю назначаетсяуровень безопасности,хранимый вместе с другими данными пользователя, например сUIDиGID. После входа в систему пользовательская оболочка получаетуровень безопасностипользователя, который будет унаследован всеми еедочерними процессами. Если процесс, выполняющийся на уровне безопасностиk, попытается открыть файл или другой объект, уровень безопасности которого вышеk, то операционная система отклонит попытку открытия файла. Будут отклоняться и все попытки открыть для записи любой объект, уровень безопасности которого ниже, чем k.
Рис. 10.1. Модель Белла — Ла Падулы
Для гарантии целостности данных Биба в 1977г. ввел:
Простой принцип целостности (integrity):процесс, работающий на уровне безопасностиk, можетосуществлять записьтолько в объектысвоего или более низкого уровня(никакой записинаверх);
Свойство целостности:процесс, работающий на уровне безопасностиk, можетосуществлять чтениеиз объектовсвоего или более высокого уровня(никакого чтения изнижнихуровней).
Б) Организация обеспечения безопасности в СУБД на примере MicrosoftSQL Server.
В подсистеме обеспечения безопасности определены участники и защищаемые объекты.
Участники— сущности, которые могут запрашивать ресурсы SQL Server.
Участники уровня Windows
Участник уровня SQL Server
Участники уровня базы данных (пользователь базы данных, роль базы данных, роль приложения).
К защищаемым объектам помимо самого SQL Server относятся объекты БД. SQL Server.
Схема БД соответствует отдельному пространству имен, существующему независимо от пользователя базы данных, создавшего ее. Схема —контейнер объектов. Схема может принадлежать любому пользователю, и владение может передаваться.
Схема — это контейнер, который содержит таблицы, представления, процедуры и пр. Они находятся в базе данных, которая расположена на сервере.
Защищаемые объекты внутри схемы (имеют уникальное имя) |
Класс |
Тип |
TYPE |
Коллекция XML-схем |
XML SCHEMA COLLECTION |
Таблица |
OBJECT |
Представление |
OBJECT |
Процедура |
OBJECT |
Функция |
OBJECT |
Статистическое вычисление |
OBJECT |
Ограничение |
OBJECT |
Синоним |
OBJECT |
Очередь |
OBJECT |
Статистика |
OBJECT |
Примеры некоторых разрешений, применяемых к защищаемым объектам, приведены ниже.
Разрешение |
Область применения |
SELECT |
Таблицы и столбцы Представления и столбцы |
VIEW CHANGE TRACKING |
Таблицы Схемы |
UPDATE |
Синонимы Таблицы и столбцы Представления и столбцы |
REFERENCES |
Таблицы и столбцы Функции, возвращающие табличное значение Представления и столбцы |
INSERT |
Синонимы Таблицы и столбцы Представления и столбцы |
DELETE |
Синонимы Таблицы и столбцы Представления и столбцы |
EXECUTE |
Процедуры Скалярные и статистические функции |
VIEW DEFINITION |
Процедуры Скалярные и статистические функции Таблицы Функции, возвращающие табличное значение Возвращающие табличное значение функции Представления |
ALTER |
Процедуры Скалярные и статистические функции Таблицы Функции, возвращающие табличное значение Возвращающие табличное значение функции Представления |
TAKE OWNERSHIP |
Процедуры Скалярные и статистические функции Таблицы Функции, возвращающие табличное значение Возвращающие табличное значение функции Представления |
Упрощенный синтаксис предложения GRANT для предоставления разрешений имеет вид:
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Аргументы:
ALL, PRIVILEGES - для поддержки обратной совместимости и
обеспечения соответствия стандартам ISO.
permission
Имя разрешения.
column
Указывает имя столбца таблицы, на который предоставляется разрешение. Круглые скобки обязательны ( ).
class
Указывает класс защищаемого объекта.
securable
Указывает защищаемый объект.
TO principal
Имя участника. Состав участников, которым можно предоставлять разрешения, меняется в зависимости от защищаемого объекта.
GRANT OPTION
Показывает, что получающему разрешению будет также дана возможность предоставлять указанное разрешение другим участникам.
AS principal
Задает участника, от которого участник, выполняющий данный запрос, наследует право на предоставление разрешения.
Инструкция REVOKEиспользуется для удаленияуже выданныхправ доступа, а инструкцияDENYможет использоваться, чтобыпредотвратить получениеучастником определенного разрешения посредством инструкцииGRANT.
Предоставление разрешения удаляет DENYилиREVOKEдля этого разрешения на данный защищаемый объект. Если то же разрешение запрещено для более высокой области действия, которая содержит данный защищаемый объект, тоDENY имеет более высокий приоритет. Но отмена разрешения, выданного в более высокой области действия, не получает такого приоритета.
Разрешения уровня базы данных выдаются в пределах области указанной базы данных.
Лицо, предоставляющее разрешение (или участник, указанный параметром AS), должно иметь либо само разрешение, предоставленное с помощью GRANT OPTION, либо разрешение более высокого уровня, которое неявно включает предоставляемое разрешение.
Упрощенный синтаксис предложения DENY имеет вид:
DENY { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ CASCADE] [ AS principal ]
В нем CASCADEозначает, что разрешение запрещается для указанного участника ивсех других участников, которым этот участник предоставил разрешение. Требуется, если участник имеет разрешение с параметром GRANT OPTION.
Упрощенный синтаксис предложения DENY имеет вид
REVOKE [ GRANT OPTION FOR ]
{
[ ALL [PRIVILEGES]] | permission [(column [,...n ])] [,...n ]
}
[ ON [ class :: ] securable ]
{ TO | FROM } principal [ ,...n ]
[ CASCADE] [ AS principal ]