Лекція 9. УПРАВЛІННЯ ДОСТУПОМ ДО БАЗИ ДАНИХ

4. Команди SQL для управління доступом до даних

Призначення та відміна привілеїв і таким чином управління доступом до даних здійснюється за допомогою команд GRANT і REVOKE.

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

Для призначення привілеїв на рівні доступу до системи синтаксис команди такий.

GRANT { ALL | statement [ ,...n ] }

TO security_account [ ,...n ].

Аргументи означають таке.

•           ALL визначає, що надаються всі допустимі дозволи. У разі призначення привілеїв на рівні доступу до системи параметр ALL може використовуватися тільки для sysadmin ролі.

•           statement – це оператор, для якого надається дозвіл. Список операторів може включати такі:

         CREATE DATABASE

         CREATE DEFAULT

         CREATE FUNCTION

         CREATE PROCEDURE

         CREATE RULE

         CREATE TABLE

         CREATE VIEW

         BACKUP DATABASE

         BACKUP LOG

•           n означає, що одному користувачеві можуть надаватися декілька привілеїв, які розділяються комами.

•           TO  передує списку облікових записів.

•           n означає, що привілеї можуть надаватися одразу декільком користувачам, назви яких відокремлюються комами.

Для призначення привілеїв на рівні доступу до об’єктів синтаксис команди GRANT такий.

GRANT

    { ALL | permission [ ,...n ] }

    {

        [ ( column [ ,...n ] ) ] ON { table | view }

        | ON { table | view } [ ( column [ ,...n ] ) ]

        | ON { stored_procedure | extended_procedure }

        | ON { user_defined_function }

    }

TO security_account [ ,...n ]

[ WITH GRANT OPTION ]

[ AS { group | role } ]

Аргументи означають таке.

•           ALL визначає, що надаються всі допустимі дозволи. У разі призначення привілеїв на рівні доступу до об’єктів параметр ALL може використовуватися тільки для sysadmin та db_owner ролей.

•           Permission визначає привілеї. 

Стандарт ANSI визначає такі привілеї доступу до об’єктів.

SELECT – дозволяє доступ до вказаної таблиці;

INSERT [(name_column)] – дозволяє розмістити дані у вказаному стовпці або у всі стовпці вказаної таблиці;

DELETE  – дозволяє видаляти записи вказаної таблиці;

REFERENCES[(name_column)] – дозволяє посилатися в умовах цілісності на вказаний стовпець або на всі стовпці вказаної таблиці;

UPDATE [(name_column)] – дозволяє змінювати дані у вказаному стовпці або у всіх стовпцях вказаної таблиці.

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

•           WITH GRANT OPTION означає, що власник об’єкта наділяє правами користувача самому надавати привілеї.

•           AS { group | role } використовується для надання прав користувачеві, які не є членами групи або не мають вказаної ролі.

Команда REVOKE відміняє привілеї.

Для відміни привілеїв на рівні доступу до системи синтаксис команди такий.

REVOKE { ALL | statement [ ,...n ] }

FROM security_account [ ,...n ]

Для відміни привілеїв на рівні доступу до об’єктів синтаксис такий.

REVOKE [ GRANT OPTION FOR ]

    { ALL [ PRIVILEGES ] | permission [ ,...n ] }

    {

        [ ( column [ ,...n ] ) ] ON { table | view }

        | ON { table | view } [ ( column [ ,...n ] ) ]

        | ON { stored_procedure | extended_procedure }

        | ON { user_defined_function }

    }

{ TO | FROM }

    security_account [ ,...n ]

[ CASCADE ]

[ AS { group | role } ]


Доступність

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

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

1

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

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

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

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

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

0

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

1.2

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

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

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

0