Similar presentations:
л10
1.
Способы контроля доступа кданным и управления
привилегиями
2.
Каждый пользователь проходит два этапа проверки системыбезопасности при доступе к данным: аутентификация и
получение доступа к данным
Аутентификация относится к уровню работы всего сервера
СУБД. На первом этапе пользователь идентифицирует себя с
помощью логического имени (login) и пароля (password).
login
password
учетная запись
3.
Аутентификация не дает пользователю права доступа к каким бы тони было данным.
Для получения доступа необходимо, чтобы учетной записи
пользователя соответствовал пользователь базы данных (database
user) т.е. совокупность разрешений и запретов на работу с данными
в конкретной базе данных.
На втором этапе учетная запись пользователя отображается в
пользователя базы данных, и получает все привилегии,
соответствующие этому пользователю базы данных. Второй этап
задействует систему безопасности конкретной базы данных, а не
всего сервера СУБД.
4.
Клиент все же может получить доступ к базе данных подгостевым именем guest (если оно не запрещено
администратором БД).
Гостевой вход позволяет минимальный доступ к данным
только в режиме чтения.
5.
MS SQL-Server поддерживает дварежима аутентификации –
Аутентификация Windows
В процессе установки сервера
баз данных по умолчанию
назначается режим
аутентификации, при котором
пользователи, успешно
прошедшие проверку
подлинности при входе в
операционную систему,
автоматически получают право
соединения с сервером.
Аутентификация SQL Server
Предполагает дополнительную
регистрацию пользователей
средствами сервера баз данных,
выдачу им имен учетных записей и
паролей с последующей проверкой
подлинности пользователей при их
соединении с сервером
6.
Для создания пользователя в среде MS SQL Server :Создать в базе данных учетную запись пользователя
системной хранимой процедурой
sp_addlogin[@login=] 'учетная_запись‘
[, [@password=] 'пароль'][, [@defdb=]
Добавить этого пользователя во все необходимые базы
данных системной хранимой процедурой
sp_adduser[@loginame=] 'учетная_запись'[,
[@name_in_db=] 'имя_пользователя'][, [@grpname=]
'имя_роли']
Предоставить ему в каждой базе данных
соответствующие привилегии .
7.
8.
Пользователь, который создает объект в базе данных(таблицу, хранимую процедуру, вид…), становится его
владельцем. Владелец объекта (dbo) имеет все права
доступа к созданному им объекту.
Чтобы пользователь мог создать объект, владелец базы
данных (dbo) должен предоставить ему
соответствующие права. Владелец объекта не имеет
специального с пароля или особых прав доступа. Он неявно
имеет полный доступ.
9.
Владелец объекта должен явнопредоставить доступ другим пользователям.
SQL Server позволяет передавать права владения от
одного пользова -теля другому с помощью процедуры:
sp_changeobjectowner[@objname=]
‘имя_объекта’[@newowner=] ‘имя_владельца’
10.
В системе SQL-сервер существуют дополнительные объекты – роли,которые определяют уровень доступа к объектам SQL-сервера.
Роль позволяет объединить в одну группу пользователей, выполняющих
одинаковые функции.
В SQL Server реализовано два вида стандартных ролей:
на уровне сервера и на уровне баз данных. При установке SQL
Server создаются:
-фиксированные роли сервера
(например, sysadmin с правом выполнения любых функций SQL-сервера)
-фиксированные роли базы данных (db_owner с правом полного
доступа к базе данных
или db_accessadmin с правом добавления и удаления пользователей ).
11.
Среди фиксированных ролей базы данных существует роль public- еечленами являются все пользователи, имеющие доступ к базе данных.
Пользователей базы данных нельзя удалить из роли public
Для хранения информации об учетных записях
пользователей и их членстве в фиксированных серверных
ролях используется системная таблица SysLogins системной
базы данных Master. Каждая строка этой таблицы содержит
информацию об одной учетной записи
12.
СУБД должна поддерживает механизм, гарантирующий,что доступ к базе данных смогут получить только
те пользователи, которые имеют соответствующее разрешение.
Язык SQL включает операторы GRANT и REVOKE,
предназначенные для организации защиты таблиц в базе
данных
13.
Механизмзащиты
построен
на
использовании
идентификаторов
пользователей,
предоставляемых им прав владения и привилегий.
Каждый созданный в среде SQL объект имеет своего владельца,
который изначально является единственной персоной, знающей
о существовании данного объекта и имеет право выполнять с
ним любые операции.
14.
15.
Схемы используются в модели безопасности компонен таDatabase Engine для упрощения взаимоотношений между
пользователями и объектами.
Схема - это коллекция объектов базы данных, имеющая
одного владельца и формирующая одно пространство имен.
Компонент Database Engine поддерживает именованные
схемы
16.
Отделение пользователей базы данных от схем даетзначительные преимущества, среди них удаление
пользователя базы данных не требует переименования
объектов, содержащихся в схеме этого пользователя.
Каждая база данных имеет схему по умолчанию, которая
используется для определения имен объектов, ссылки на
которые делаются без указания их полных уточненных имен.
17.
SQL Server поставляется с десятью предварительно определеннымисхемами, имеющими одинаковое имя со встроенными
пользователями и ролями базы данных. Схемы, имеющие
одинаковые имена с предопределенными ролями базы данных,
можно удалить. Нельзя удалить следующие схемы:
dbo, guest, sys, INFORMATION_SCHEMA
Если их удалить из шаблона базы данных, эти схемы не появятся в
новых базах данных.
Схемы sys и INFORMATION_SCHEMA зарезервированы для
системных объектов. В этих схемах нельзя создавать и удалять
объекты.
Схема dbo схема по умолчанию для вновь созданной базы
данных. Владельцем схемы dbo является учетная запись
пользователя dbo. Схемой по умолчанию для пользователей,
созданных с помощью команды Transact-SQL CREATE USER,
является dbo.
18.
Привилегиями, или правами, называютсядействия,которые пользователь имеет право выполнять в отношении
данной таблицы базы данных или представления. Набор привилегий:
SELECT – право выбирать данные из таблицы;
INSERT – право вставлять в таблицу новые строки;
UPDATE – право изменять данные в таблице;
DELETE – право удалять строки из таблицы;
REFERENCES – право ссылаться на столбцы указанной таблицы в
описаниях требований поддержки целостности данных;
USAGE – право использовать домены, проверки и наборы символов.
19.
Оператор GRANT применяется для предоставленияпривилегий .Обычно его использует владелец таблицы с
целью предоставления доступа к ней другим пользователям .
В языке SQL для отмены
привилегий, предоставленных пользователям посредством
оператора GRANT, используется оператор REVOKE. С помощью
этого оператора могут быть отменены все или некоторые
из привилегий, полученных указанным пользователем раньше.
20.
ALL PRIVILEGES}ONимя_объектаTO
{<идентификатор_поль
зователя> [,...n]| PUBLIC}[ WITH
GRANT OPTION]
{SELECT | DELETE | INSERT
[(имя_столбца[,...n])] | UPDATE
[(имя_столбца[,...n])]}|
REFERENCES
[(имя_столбца[,...n])] | USAGE
21.
Ответьте на вопросы1. Перечислите основные принципы защиты данных,
обеспечивающие безопасность хранения информации.
2.Какой набор прав определен для пользователя, входящего в
группу PUBLIC.
3.В чем заключается
понятие роли при работе с
многопользовательскими СУБД?
4.Какой
пользователь
обладает
самыми
высокими
полномочиями?
5.Какие операторы определены
в стандарте SQL для
предоставления и отмены привилегий?
6.Какой параметр определяет режим, позволяющий передавать
права другим пользователям?
22.
7.Вчем
заключаются
отличия
в
синтаксисе
оператора
GRANT
для
команд UPDATE и REFERENCES?
8.Каким образом задается привилегия на запуск хранимых
процедур?
9.В
чем
заключается
двухуровневая
настройка
организации доступа к данным в MS SQL Server?
10. Чем отличаются серверные роли и роли для записей
пользователя БД в MS SQL Server? Приведите примеры прав
для серверной роли и роли для учетной записи пользователя
БД.
11. Каким образом выполняется назначение серверных ролей в
MS SQL Server?