На головну

Дозволи для об'єктів баз даних SQL Server 2005

  1. Data Information / General (Інформація про дані).
  2. Equal or even exceed the amount of annual interest owed on the external debt. Some observers
  3. I. Класифікація ринків з точки зору об'єктів купівлі-продажу
  4. I. Загальні відомості про гідрології ВОДНИХ ОБ'ЄКТІВ, ХІМІЧНИХ І ФІЗИЧНИХ ВЛАСТИВОСТІ ПРИРОДНИХ ВОД
  5. II. Перепишіть з даних пропозицій ті, дія яких відбувалася в минулому, і переведіть їх.
  6. II. Вимоги до проектування, будівництва та введення в експлуатацію об'єктів користування надрами
  7. III. З дієслів, даних в дужках, утворіть визначення, виражені дієприкметником I з zu, вживайте їх з іменником (подежащім) в реченні. Пропозиції переведіть.

Якщо ви вирішили не застосовувати вбудовані ролі баз даних, а скористатися звичайними об'єктами користувачів (або призначеними для користувача ролями), то такі дії - надання дозволів на об'єкти бази даних.

Об'єктів в базі даних, на які можна надавати дозволи, в SQL Server 2005 стало набагато більше в порівнянні з попередніми версіями SQL Server. На додаток до звичних таблицями, уявленнями, збереженим процедурам і функціям тепер можна надавати дозволи на такі об'єкти, як ролі, користувачі баз даних, сертифікати та асиметричні ключі, набори схем XML, збірки .NET і т. П.

Робота з дозволами проводиться однаково для всіх об'єктів бази даних:

O на вкладці Permissions властивостей цього об'єкта (ця вкладка, правда, передбачена не для всіх об'єктів, для яких можна надати дозволи);

O за допомогою команд GRANT (надати дозвіл), DENY (явно заборонити щось робити) і REVOKE (скасувати явно наданий дозвіл або заборона).

Далі перераховані дозволу, які можна надати на рівні схеми. Ми наведемо лише дозволу для цього об'єкта, оскільки, по-перше, дозволу в більшості випадків доведеться надавати саме на рівні схеми, а по-друге, вирішення схеми включають в себе вирішення, які можна надати іншим об'єктам, наприклад, дозволу SELECT для таблиць і уявлень і EXECUTE для збережених процедур.

O ALTER - можливість вносити будь-які зміни в властивості об'єкта (за винятком зміни власника). На рівні бази даних можна налаштувати права ALTER ANY ... - можливість вносити зміни в будь-які об'єкти даного типу в базі даних, наприклад, ALTER ANY TABLE.

O CONTROL - аналогічно вирішенню FULL CONTROL в операційній системі. Той, кому надано такий дозвіл, отримує повні права як на сам об'єкт, так і на інформацію в ньому.

O DELETE - можливість видаляти існуючу інформацію в таблицях. Застосовується до таблиць, уявлень і стовпцями.

O EXECUTE - право запускати на виконання. Застосовується до збережених процедур і функцій.

O INSERT - право на вставку нових даних в таблиці. Застосовується до таблиць, уявлень і стовпцями.

O REFERENCES - дозвіл, яке можна надати для перевірки обмежень цілісності. Наприклад, користувач може додавати дані в таблицю із зовнішнім ключем, а на таблицю з первинним ключем йому не можна надавати права на перегляд. У цьому випадку на таблицю з первинним ключем йому можна надати право REFERENCES - і він зможе виробляти вставку даних в таблицю із зовнішнім ключем, не отримуючи зайвих прав на головну таблицю. Цей дозвіл можна надавати на таблиці, уявлення, стовпці і функції.

O SELECT - право на читання інформації. Надається для таблиць, уявлень, стовпців і деяких типів функцій (які повертають табличні набори записів).

O TAKE OWNERSHIP - право на прийняття на себе володіння даним об'єктом. Власник автоматично має повними правами на свій об'єкт. Таке право можна призначити для будь-яких об'єктів.

O UPDATE - можливість вносити зміни в існуючі записи в таблиці. Надається на таблиці, уявлення і стовпці.

O VIEW DEFINITION - право на перегляд ухвали для даного об'єкта. Передбачено для таблиць, уявлень, процедур і функцій.

Для кожного дозволу ми можемо встановити три значення:

O GRANT - дозвіл надано явно;

O WITH GRANT - дозвіл не тільки надано даному користувачеві, але він також отримав право надавати цей дозвіл іншим користувачам. Можна надавати, звичайно, тільки разом з GRANT;

O DENY - явний заборону на виконання дії, визначеного цим дозволом. Як в будь-яких системах безпеки, явний заборону має пріоритет перед явно наданими дозволами.

З коду Transact-SQL дозволу можна надавати командами GRANT, DENY і REVOKE. Наприклад, щоб надати користувачеві User1 можливість переглядати дані в таблиці Table1 в схемі dbo, можна скористатися командою:

 



© um.co.ua - учбові матеріали та реферати