Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПО АИС.doc
Скачиваний:
4
Добавлен:
10.11.2019
Размер:
637.95 Кб
Скачать

7.3.5.Наследуемое разрешение

Владелец БД, члены фиксированной серверной роли sysadmin и фиксированной роли dbowner наследуют все разрешения для выполнения действий над объектом БД. Кроме того члены роли dbowner имеют права выполнения различных действий над БД.

Пример: члены роли db_securityadmin имеют право выполнить операции GRANT, DENY, REVOKE, но не могут выполнить операции CREATE и BACKUP. Db_ddladmin могут выполнить CREATE и BACKUP, но не могут GRANT, DENY, REVOKE.

Владелец объекта наследует все связи с объектами разрешения в том числе право на установку/отмену разрешения.

Члены фиксированных ролей securityadmin могут изменять владельца любого объекта.

7.3.6.Разрешение конфликтов наследования

Группам Win пользователь равен и отдельным пользователям можно назначить и блокировать наборы разрешений, связанные с ролями сервера, фиксированными ролями БД или отдельными разрешениями на доступ к отдельным объектам БД.

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

Привилегии блокировки разрешений имеют более высокий приоритет, чем блокировка.

Пример: пользователь 1 имеет разрешение на просмотр таблицы, но он входит в группу (роль), для которой это разрешение заблокировано, следовательно, пользователь 1 не может просматривать эти таблицы.

Чтобы избежать использования блокировки, рекомендуют установить пользователю разрешение на выполнение операторов:

Create DataBase

Данные разрешения наследования членами ролей сервера sysadmin и dbcreator. Эти разрешения доступа существуют только в БД MASTER

BACKUP DataBase

BACKUP Log

Данные разрешения наследуются членами роли сервера sysadmin, а так же фиксированных ролей БД db_owner и db_backypoperatior

Create Table

Create View

Create Procedure

Create Function

Эти разрешения наследуются членами роли сервера sysadmin и фиксированных ролей БД db_owner и db_ddladmin. Однако пользователи, не являющийся участником ни одной из этих ролей, не могут указывать другим пользователям пароль dbo в качестве владельца созданного ими объекта

Create Trigger

Данные разрешения доступ наследуют владельцы таблицы, в которой определены триггеры, а так же членами роли сервера sysadmin и фиксированных ролей БД db_owner и db_ddladmin. Они не могут предоставлять разрешения доступа на запуск этого оператора другой учетной записи

Когда пользователь создает объект БД, он становится владельцем этого объекта до тех пор, пока другой пользователь или роль (группа) не будут определены пользователем данного объекта. В процессе разработки БД такое разграничение является эффективным. Однако в процессе реализации ИС могут возникать проблемы с ее эксплуатацией, т.е. dbo должен предоставть обращение к какому-либо объекту, в сценарий или объект и имя пользователя не указывать, и SQL Server сам определяет пользователя, которому разрешен доступ к объектам данной БД (разрешен на уровне БД либо dbo). Если пользователь не принадлежит этим ролям, возвращается сообщение об ошибке.

Разрешение доступа к объектам – разрешение на выполнение отдельных операций с таблицами, представлениями, хранимыми процедурами.

Предоставление или отзыв этих разрешений выполняются членами фиксированных роли sysadmin или роли db_owner и sysadm

Select – просмотр данных в таблицах, представлениях или полях таблицы или на определение пользовательских функций. Наследуется членами роли сервера sysadmin и постоянных ролей БД dbo_owner и db_datareader. Отказано всем членам фиксированной роли db_denydatareader.

Insert – добавление данных в таблицу, поле или представление. Наследует членами роли сервера sysadmin и фиксированных ролей БД db_datawriter. Отказано – db_denydatawriter.

Update – обновление данных в таблице, поле или представление. Наследуется членами роли сервера sysadmin и фиксированных ролей БД db_owner и db_datawriter. Отказано – db_denydatawriter.

Delete – удаление данных из таблицы или представления. Наследуется членами роли сервера sysadmin и фиксированных ролей БД db_owner и db_datawriter. Отказано – db_denydatawriter.

Executer – выполнение хранимых процедур и пользователей файлов. Наследуется членами роли сервера sysadmin и фиксированной роли БД db_owner.

References – обращение к таблице с ограничением FOREIGNKEY при отсутствии select на таблицу. Наследуется sysadmin, db_owner, db_owner, db_datareader. Отказано – db_denydatareader.

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

Пример: Exec sp_helprotect NULL, //имя объекта NULL – текущий

NULL, //идентификатор пользователя

NULL, //учетная запись

‘S’ //s – разрешение пользователя

o – разрешение объекта

os –и то, и другое