Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Пользователи и их права доступа

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

Права доступа (permission)– это выдаваемое конкретному пользователю разрешение сделать что-либо в базе данных. Существует два типа прав доступа:

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

- командные права доступа определяют, кто может выполнять административные действия, например, создавать базу данных или ее резервную копию. Командные права могут быть назначены только системным администратором (учетная запись sa), пользователями, которым назначена роль sisadmin, или владельцем базы данных. При предоставлении командных прав доступа необходимо проявлять особую осторожность. Лучше всего предоставлять их только sa (системному администратору), роли sisadmin или владельцу базы данных.

Роли

С помощью ролей можно логически сгруппировать пользователей, имеющих соответствующие права доступа. В SQL есть два типа ролей.

Роли уровня сервера

С помощью этих ролей предоставляются различные степени доступа к операциям и задачам сервера. Если отдельному пользователю назначена некоторая роль, то он может выполнять все функции разрешенные этой ролью.

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

В таблице 3 описаны различные типы ролей уровня сервера.

Таблица 3. Роли уровня сервера

Роль Описание
sisadmin Возможность выполнять любое действие в SQL Server
serveradmin Возможность изменить параметры SQL Server и завершить его работу
setupadmin Возможность инсталлировать систему репликации и управлять выполнением расширенных хранимых процедур
securityadmin Возможность контролировать параметры учетных записей для подключения к серверу и предоставлять права доступа к базам данных
processadmin Возможность управлять ходом выполнения процессов в SQL Server
dbcreator Возможность создавать и модифицировать базы данных
diskadmin Возможность управлять файлами баз данных на диске
bulkadmin Возможность выполнять операции bulk и insert

Роли уровня базы данных

Роли этого типа позволяют назначить набор прав доступа для работы с конкретной базой данных отдельному пользователю или группе. Роли уровня базы данных можно назначать учетным записям пользователей в режиме аутентификации Windows NT или SQL Server. При использовании режима аутентификации Windows NT роли уровня базы данных можно назначать отдельным пользователям системы Windows NT или целым NT-группам. Роли могут быть и вложенными, так что учетным записям можно назначить иерархическую группу прав доступа.

Роли уровня баз данных зависят от конкретных баз данных. В SQL Server существует два типа таких ролей.

Заранее определенные роли

Это стандартные роли уровня базы данных SQL Server. Эти роли имеет каждая база данных SQL Server.Они позволяют легко и просто передавать обязанности.

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

Таблица 4. Заранее определенные роли уровня базы данных

Роль Описание
db_owner Имеет полный доступ ко всем объектам базы данных, может удалять и воссоздавать объекты, а также присваивать объектные права другим пользователям. Может изменять параметры базы данных и выполнять ее обслуживание. Охватывает все функции, перечисленные ниже для других стандартных ролей уровня базы данных
db_accessadmin Осуществляет контроль за доступом к базе данных путем добавления или удаления пользователей в режимах аутентификации Windows NT и SQL Server
db_datareader Имеет полный доступ к выборке данных (с помощью оператора SELECT) из любой таблицы базы данных. Не дает разрешения на выполнение операторов INSERT, DELETE и UPDATE для любой таблицы базы данных
db_datawriter Может выполнять операторы INSERT, DELETE и UPDATE для любой таблицы базы данных. Не дает разрешения на выполнение оператора SELECT для любой таблицы базы данных
db_ddladmin Имеет возможность создавать, модифицировать и удалять объекты из базы данных
db_ securityadmin Управляет системой безопасности базы данных, а также назначением объектных решений и ролей для базы данных
Роль Описание
db_ backupoperator Позволяет создавать резервные копии базы данных
db_ denydatareader Отказывает в разрешении на выполнение оператора SELECT для всех таблиц базы данных. Позволяет пользователям изменять существующие структуры таблиц, но не позволяет создавать или удалять существующие таблицы
db_ denydatawriter Отказывает в разрешении на выполнение операторов модификации данных (INSERT, DELETE,UPDATE) для любых таблиц базы данных
public Как только пользователю предоставляется право доступа к базе данных, ему автоматически назначается роль public

Последнее изменение этой страницы: 2016-06-10

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...