Лекція 10. Ролі користувачів

Сайт: Навчально-інформаційний портал НУБіП України
Курс: Організація баз даних (КН+ІПЗ). Ч2☑️
Книга: Лекція 10. Ролі користувачів
Надруковано: Гість-користувач
Дата: середа, 11 березня 2026, 04:34

1. Ролі серверу (фіксовані ролі)

Починаючи з SQL Server 7.0 було добавлено новий механізм — ролі (roles), які замінили групи SQL Server 6.x. В SQL Server 2000 доступні як ролі, так і групи. Ролі — це не тільки засіб об’єднання залікових записів у групи з метою спрощення адміністрування. Включивши обліковий запис у ту чи іншу роль серверу, можна надати їй певний набір прав по адмініструванню серверу. Ніяким іншим способом надати права на виконання таких операцій неможливо. В SQL Server 2000 розрізняють дві групи ролей:

  • ролі серверу (server role);
  • ролі БД (database role).

Ролі серверу. Набір ролей серверу строго обмежений. Ніхто не може створити нову роль або видалити вже існуючу. Тому ці ролі мають ще назву фіксованих роле. (fixed server roles). В таблиці наведено список фіксованих ролей серверу.

Таблиця 1. Фіксовані ролі серверу

Роль

Опис

sysadmin(System Administrators)

Абсолютні права

setupadmin (Setup Administrators)

Цій ролі надаються права, які пов’язані з управлінням пов’язаними серверами, конфігурацією збережених процедур, а також права добавляти облікові записи до цієї ролі.

serveradmin(Server Administrators)

У цю роль входять користувачі, які повинні виконувати адміністрування сервером, мають право на зупинку сервера, зміну параметрів роботи різних служб тощо.

securityadmin(Security Administrators)

Члени цієї ролі мають можливість створювати нові облікові записи, яким вони можуть надавати права на створення БД та її об’єктів, включати нові записи до ролі securityadmin, читати журнал SQL SERVER.

processadmin(Process Administrators)

Можуть управляти процесами, що реалізовані в SQL SERVER, а також мають право створювати нові облікові записи в цій ролі.

diskadmin(Disk Administrators)

Ця роль використовується для забезпечення спадкоємності між новими і старими (до 7.0) версіями SQL SERVER. Члени цієї ролі мають право управляти пристроями (device), на яких в старих версіях розташовувалася БД.

dbcreator(Database Creators)

Члени цієї ролі можуть створювати нові БД, видаляти та перейменовувати вже створені, відновлювати резервні копії БД та журнал транзакцій.

bulkadmin(Bulk Insert administrators)

Члени цієї ролі можуть вставляти дані за допомогою допоміжних засобів, не маючи безпосереднього доступу до таблиць.

 

Для добавлення облікового запису користувача у ту чи іншу фіксовану роль серверу можна скористатися збереженою процедурою sp_addsrvrolemember. Ця процедура має такий синтаксис:

sp_addsrvrolemember [@loginame =] 'login' , [Srolename =] 'role'

Також можна скористатися вкладкою Server Roles вікна створення нового користувача.

2. Ролі бази даних

У БД SQL Server 2000 є три типи ролей:

  • фіксовані ролі БД (fixed database role);
  • користувацькі ролі  БД (user database role);
  • ролі додатків (application role).

Фіксовані і користувацькі ролі призначені для групування користувачів та надання їм необхідних привілеїв. Ролі додатків надають права доступу додаткам.


3. Фіксовані ролі БД. Ролі додатків

Фіксовані ролі БД. Такі ролі роблять можливим надання користувачам набору прав, які не можна організувати іншим способом. Кількість і призначення фіксованих ролей стандартно та не може бути змінено. Крім того, не можна управляти правами доступу фіксованих ролей до об’єктів БД. SQL Server 2000 дозволяє включати користувачів БД, облікові записи SQL Server та Windows NT, а також фіксовані ролі серверу та групи Windows NT в фіксовані ролі БД. У наступну таблицю занесені всі фіксовані ролі БД.

Таблиця 2. Фіксовані ролі БД

Роль

Опис

db_securityadmin

Члени ролі можуть управляти правами доступу до об’єктів бази даних інших користувачів та членством їх в ролях

db_owner

Члени ролі мають право власника, тобто можуть виконувати будь-які дії

db_denydatawriter

Членам цієї ролі заборонено змінювати дані незалежно від їхніх привілеїв

db_denydatareader

Членам цієї ролі заборонено переглядати дані незалежно від їхніх привілеїв

db_ddladmin

Члени ролі можуть створювати, змінювати та видаляти об’єкти БД

db_datawriter

Користувачі, які включені до цієї ролі, можуть змінювати дані у будь-якій таблиці або уявленні БД

db_datareader

Користувачі, які включені до цієї ролі, можуть читати дані у будь-якій таблиці або уявленні БД

db_backupoperator

Члени ролі виконують резервне копіювання БД

db_accessadmin

Члени цієї ролі можуть управляти користувачами БД: створювати, змінювати та видаляти

Окремо знаходиться ще одна фіксована роль – роль public. Будь-який користувач входить до цієї ролі і не має можливості виключити його звідти. Ця роль використовується для надання прав будь-якому користувачеві за замовченням. Визначаючи права для ролі public, тим самим визначаються автоматично права всім користувачам БД.

Для включення нового члена до фіксованої ролі БД необхідно викликати системну збережену процедуру sp_addrolemember, яка має такий синтаксис:

sp_addrolemember [@rolename =] role , [@membername =] 'security_account'.

Для  виключення користувача із ролі необхідно викликати системну збережену процедуру sp_droprolemember, яка має такий синтаксис:

sp_droprolemember [ @rolename = ] 'role' , [ @membername = ] 'security_account'.


4. Користувацькі ролі БД

Ці ролі слугують для об’єднання в єдину адміністративну одиницю всіх користувачів, що мають однакові права. Такі ролі можна порівняти з групами ОС Windows NT (XP). Для створення ролі можна скористатися системною процедурою sp_addrole. Синтаксис виклику її такий:

sp_addrole [ @rolename = 'role@ownername = 'owner].

В середовищі Enterprise Manager створення нової ролі відбувається таким чином:

  1. Вибрати БД.
  2. Вибрати опцію “Roles”.
  3. У правій частині вікна вибрати у контекстному меню команду “New Database Role”.
  4. Вказати всі необхідні дані.
  5. Кнопка “OK”.

Для видалення ролі можна використати процедуру sp_droprole, синтаксис якої такий:

sp_droprole [ @rolename 'role'.

Також можна видаляти ролі інтерактивно, за допомогою команди Delete (хід виконання такий самий, як зазначено вище).

Ролі додатків. Якщо з БД працюють велика кількість користувачів, управління їхніми правами доступу стає великою проблемою. У цьому випадку можна скористатися правами для додатків. Ролі додатків дозволяють надавати права доступу не конкретному користувачеві або їх групі, а програмному додатку в цілому.

Для створення ролі використовується системна процедура sp_addapprole:

sp_addapprole [ @rolename = 'role' , [ @password = 'password'

Для видалення ролі додатка:

sp_dropapprole [@rolename ='role'


Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0