Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
22700_62_OSBD_Prakticheskie.doc
Скачиваний:
20
Добавлен:
11.02.2015
Размер:
1.03 Mб
Скачать

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 ]