русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Управление пользователями баз данных


Дата добавления: 2013-12-24; просмотров: 4034; Нарушение авторских прав


Роли базы данных

Доступ к базе данных

 

База данных – это важнейшая единица в системе безопасности MS SQL Server. Доступ к базе данных предоставляется пользователю базы данных(не путать с именем входа вMS SQL Server), наделенному определенными правами, которые определяются принадлежностью пользователя к роли базы данных.

 

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

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

· db_accessadmin – похожа на серверную роль securityadmin, за исключением того, что ограничена одной базой данных. Она не позволяет создавать новые логины MS SQL Server, но разрешает добавлять новых пользователей в базу данных.

· db_datareader – разрешает выполнение оператора SELECT для всех таблиц базы данных.

· db_datawriter – разрешает выполнять INSERT, UPDATE и DELETE для всех таблиц базы данных.

· db_ddladmin – позволяет добавлять, удалять и изменять объекты в базе данных.

· db_securityadmin – еще одна роль похожая на серверную роль securityadmin. В отличие от db_accessadmin, она не разрешает создавать новых пользователей в базе, но позволяет управлять ролями и членством в ролях, а также правами на доступ к объектам базы данных.

· db_backupoperator – позволяет создавать резервные копии базы данных.

· db_denydatareader – запрещает выполнение SELECT для всех таблиц базы данных.

· db_denydatawriter – запрещает выполнение INSERT, UPDATE и DELETE для всех таблиц базы данных.

 

Просмотр информации о ролях баз данных (как встроенных, так и определенных пользователем) осуществляется с помощью процедуры sp_helprole, просмотр членов ролей баз данных – sp_helprolemember.



 

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

 

По умолчанию MS SQL Server имеет специальную учетную запись пользователя в базе данных: владелец БД (dbo – data base owner). Владелец базы данных имеет полную власть над БД, им автоматически становится тот, кто создал эту базу данных.

 

1. Для создания пользователя БД используют процедуры:

 

sp_adduser [@loginame=] ‘учетная запись для входа’

[, [@name_in_db=] ‘имя пользователя’]

[, [@grpname=] ‘роль’]

sp_grantdbaccess [@loginame=] ‘учетная запись для входа’

[, [@name_in_db=] ‘имя пользователя’]

 

Их отличие состоит в том, что sp_adduserпозволяет сразу присвоить пользователю определенную роль базы данных. Эта процедура оставлена для обеспечения обратной совместимости и при работе вызывает процедуру sp_grantdbaccess.

Обе эти хранимые процедуры будут удалены в последующих версиях MS SQL Server. Вместо них рекомендуется использовать следующую конструкцию:

 

CREATE USER user_name

[ { { FOR | FROM }

{

LOGIN login_name

| CERTIFICATE cert_name

| ASYMMETRIC KEY asym_key_name

}

| WITHOUT LOGIN

]

[ WITH DEFAULT_SCHEMA = schema_name ]

 

Описание параметров:

· user_name – имя пользователя в БД, должно быть не длиннее 128 символов.

· LOGIN login_name – указывает с каким логином необходимо ассоциировать данного пользователя.

· CERTIFICATE cert_name – указывает сертификат, с которым необходимо ассоциировать данного пользователя.

· ASYMMETRIC KEY asym_key_name – указывает ключ, с которым необходимо ассоциировать данного пользователя.

· WITH DEFAULT_SCHEMA = schema_name – задает схему по умолчанию для пользователя. При поиске объектов они сначала будут искаться в этой схеме.

· WITHOUT LOGIN – указывает, что пользователь не должен быть ассоциирован с существующим логином.

 

2. Отображение списка пользователей осуществляется в результате выполнения процедуры sp_helpuser.

 

3. Для удаления пользователя БД используются процедуры:

 

sp_dropuser [@name_in_db=] ‘имя пользователя’

 

Эта хранимая процедура будет удалена в последующих версиях MS SQL Server. Вместо неё рекомендуется использовать следующую конструкцию:

 

DROP USER ‘имя пользователя’

 

Пользователь не может быть удален, если он является владельцем объектов в базе данных.

 

4. Присвоение пользователю определенной роли осуществляется процедурой:

 

sp_addrolemember [@rolename=] ‘роль’,

[@membername=] ‘пользователь’

 

5. Отмена присвоенной пользователю роли может быть выполнена с помощью процедуры:

 

sp_droprolemember [@rolename=] ‘роль’,

[@membername=] ‘пользователь’

 

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

Для этого используется хранимая процедура:

 

sp_addrole [@rolename=] ‘роль’

Для удаления созданной ранее роли:

 

sp_droprole [@rolename=] ‘роль’

 

Таким образом, доступ к MS SQL Server осуществляется с помощью системы имен пользователей для входа, в системе же безопасности MS SQL Server пользователю предоставляются определенные права доступа к объектам данных. Не следует путать имя пользователя для входа и имя пользователя базы данных для доступа к объектам.

 

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



<== предыдущая лекция | следующая лекция ==>
Управление учетными записями для входа | Управление пользователями баз данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.079 сек.