Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_po_PrBD_lab.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Вопросы к допуску

  1. Что называется триггером?

  2. Для чего используют триггеры?

  3. С какими объектами базы данных можно связать триггеры?

  4. В каких случаях следует применять ограничения и нет необходимости в применении триггеров?

  5. В каких случаях следует применять триггеры вместо ограничений?

  6. Как осуществляется запуск триггера?

Контрольные вопросы

  1. Какие виды триггеров используются в MS SQL Server 2000?

  2. Охарактеризуйте after-триггеры;

  3. Охарактеризуйте instead of триггеры;

  4. Какие операции способны спровоцировать запуск триггера?

  5. Опишите синтаксис команды, создающей триггер;

  6. Как изменять триггер средствами T-SQL?

  7. Как удалить триггер средствами T-SQL?

  8. Каким образом можно временно отключить триггер, не удаляя его?

  9. Для чего используется таблица inserted? Какие данные хранятся в ней и когда?

  10. Для чего используется таблица deleted? Какие данные хранятся в ней и когда?

  11. Приведите пример использования функции Update();

  12. Каким образом строится маска в функции Column_updates()?

  13. Как использовать функцию column_updates() для проверки изменений в столбцах таблицы?

  14. С помощью какой функции можно организовать вывод пользовательских сообщений?

Лабораторная работа №8: «Создание учетных записей. Управление разрешениями»

Задание:

  • Создать несколько учетных записей пользователей. Продемонстрировать объединение учетных записей в группу;

  • В среде Enterprise Manager продемонстрировать назначение прав и разрешений пользователям как непосредственно, так и включая их в роли;

  • Продемонстрировать управление разрешениями в среде Query Analyzer на языке T-SQL.

Теоретический материал:

В данной лабораторной работе будет рассмотрена задача управления учетными записями пользователей. Хотя эта задача непосредственно не входит в процесс проектирования, разработчик может при создании базы определить группы пользователей и разграничить доступ к базе данных.

Задача управления учетными записями и разграничения доступа, является одной из множества задач реализации защиты базы данных. Фирмой Microsoft предлагается шестиуровневая схема защиты данных:

  1. Физический уровень – на данном уровне рассматриваются методы защиты инфраструктуры и серверного оборудования (к примеру, позволяет предотвратить кражу жесткого диска с конфиденциальными данными);

  2. Безопасность сетевого протокола – рассматриваются методы защиты протоколов передачи данных от внедрения злонамеренного кода и перехвата информации. Рекомендуется использовать защищенные протоколы, такие как SSL и IPSec;

  3. Доменная безопасность – безопасность на уровне домена NT;

  4. Безопасность локального компьютера – если SQL Server установлен на локальном компьютере, необходимо ограничить доступ к данному компьютеру;

  5. Безопасность SQL Server – на данном уровне рассматриваются методы защиты в MS SQL Server 2000;

  6. Безопасность приложений – рассматриваются методы защиты прикладных программ, взаимодействующих с базой данных.

В лабораторной работе мы будем рассматривать пятый уровень защиты. Защита в MS SQL Server 2000 реализуется посредством аутентификации, авторизации, аудита и шифрования.

Под аутентификацией понимается предоставление доступа к MS SQL Server 2000. В процессе аутентификации необходимо выяснить личность пользователя (по его учетной записи), желающего получить доступ к серверу и проверить, имеет ли он на это право.

MS SQL Server 2000 предлагает два типа аутентификации:

  • Windows only – аутентификация средствами Windows. Рекомендуется выбрать именно этот режим. В данном режиме мы используем учетные записи пользователей домена или рабочей группы Windows. Таким образом, к серверу имеют доступ только уже зарегистрированные в сети пользователи, которые проходят проверку подлинности средствами Windows. Выбрав данный режим, необходимо указать, каким именно пользователям Windows-сети разрешен доступ к SQL Server. Для этого в среде Enterprise Manager переходим на узел Security и выполняем команду New Login. Откроется диалоговое окно, в котором можно либо ввести, либо выбрать нужную учетную запись.

  • Mixed Mode – смешанный режим. Разрешена аутентификация как средствами Windows, так и средствами MS SQL Server 2000. В настоящее время данный режим не рекомендуется использовать, в связи с тем, что собственные средства проверки контроля учетных записей в MS SQL Server 2000 намного слабее, чем аналогичные в Windows.

После того, как пользователь получил доступ к серверу, ему необходимо пройти авторизацию. Под авторизацией понимается процесс выяснения того, какие именно действия может выполнять данный пользователь на сервере.

В MS SQL Server 2000 авторизация реализуется посредством разрешения и ролей. Разрешения позволяют выполнять определенные действия и делятся на два вида: разрешения на работы с объектами и разрешения на выполнение операторов.

Разрешения на работу с объектами могут выдаваться для каждого объекта базы данных отдельно. В данную группу входят следующие разрешения:

  • Select – разрешение на чтение и выборку данных;

  • Update – разрешение на изменение данных;

  • Delete – разрешение на удаление данных;

  • Insert – разрешение на вставку новых данных;

  • Execute – разрешение на исполнение хранимых процедур

В группу разрешений на работу с операторами входят create и backup, соответственно разрешающие создание новых объектов и резервное копирование базы данных.

Работа с разрешения ми происходит следующим образом. Можно выдавать, отменять или запрещать разрешения. В T-SQL для этого используются операторы grant, revoke и deny, соответственно. Находясь в среде Enterprise Manager, можно работать с разрешениями более простым и наглядным способом. Необходимо выбрать нужный объект и вызвать через контекстное меню его свойства. В открывшемся окне выбрать команду permission (разрешения) и с помощью мыши явно указать какие разрешения должны быть выданы, какие сняты и на что налагается запрет.

Механизм разрешений является достаточно мощным, однако для обеспечения работы некоторого пользователя иногда приходится выдавать множество разрешений для множества объектов. Когда пользователей много, а разрешенные им действия одни и те же, появляются мысли об автоматизации разграничения доступа.

В MS SQL Server 2000 данная задача решается посредством механизма ролей. Под ролью понимается набор разрешений, предназначенный для решения некоторой задачи. Таким образом, имея множество пользователей, выполняющих одинаковые действия с базой данных можно оформить необходимые разрешения в виде роли и выдавать разрешения, включая пользователей в эту роль.

MS SQL Server 2000 содержит некоторое количество предопределенных ролей, и предоставляет возможности для создания собственных ролей. Предопределенные роли делятся на роли уровня сервера и роли уровня базы данных. Первые из них предназначены для решения административных задач, касающихся всего сервера в целом. В эту группу входят роли: sysadmin, serveradmin, securityadmin, setupadmin, processadmin, dbcreator, bulkadmin.

Группа ролей уровня базы данных предназначена для решения задач в конкретной базе данных. Прежде чем включить пользователя в одну из таких ролей, необходимо указать к каким базам данных он имеет доступ. Это можно выполнить, вызвав окно свойств учетной записи пользователя. Рассмотрим роли, входящие в эту группу:

  • Db_owner – владелец базы данных. Может выполнять любые действия с ней;

  • Db_accessadmin – имеет право предоставлять и аннулировать доступ к базе данных;

  • Db_securityadmin – назначает разрешения, администрирует роли и т.п.;

  • Db_backupoperator – может создавать резервную копию базы данных;

  • Db_ddladmin – может выполнять любые операторы подмножества DDL языка SQL;

  • Db_datareader – имеют право выборки данных из таблиц и представлений;

  • Db_writer – имеют право вставки, изменения и удаления данных.

Для того, чтобы включить пользователя в роль достаточно дважды щелкнуть мышкой по имени роли и в появившемся диалоговом окне добавить учетную запись пользователя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]