Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_работа_с_PostgreSQL.doc
Скачиваний:
43
Добавлен:
10.11.2019
Размер:
5.91 Mб
Скачать

7Права доступа

В РostgreSQL понятие пользователь (USER) и понятие роль (ROLE) являются синонимами. В pgAdmin III для управления доступом к БД используется понятие роль. В версии 3.х права доступа можно предоставлять на таблицы БД, представления, на выполнение хранимых процедур и т.д. [9]. В версии 4.х права доступа можно предоставлять и на отдельные столбцы таблицы.

Процесс назначения прав доступа включает два этапа:

  1. Создание ролей;

  2. Предоставление созданным ролям прав доступа.

Ниже приводится описания выполнения каждого этапа средствами pgAdmin III.

7.1Создание ролей

Чтобы создать новую роль необходимо в окне Браузер объектов выделить раздел Роли входа, активизировать его контекстное меню и в нем выбрать пункт Новое правило (рисунок 6.1).

Рисунок 6.1 – Контекстное меню Роли входа

В открывшемся окне Новое правило (рисунок 6.2) вводится имя роли, пароль, и, если необходимо, дата и время окончания действия аккаунта.

Для примера БД Деканат ВУЗа пользователями могут быть декан и секретарь. Для них необходимо создать соответствующие роли входа: dean и secretary. После чего нажать ОК.

Рисунок 6.2 – Окно создания новой роли входа. Закладка Свойства

7.2Назначение прав доступа

Назначить права новым ролям можно с помощью пользовательских SQL-запросов. Ниже приведено описание способа создания SQL-запросов.

    1. Выбрать любой объект соответствующей БД в окне Браузер объектов и нажать кнопку Выполнить пользовательские SQL запросы (рисунок 6.3).

Рисунок 6.3 – Вызов окна пользовательских запросов

    1. В открывшемся окне Query ввести запросы на предоставление прав доступа ролям БД.

    2. Нажать кнопку Выполнить запрос (рисунок 6.4).

Рисунок 6.4 – Окно ввода пользовательских SQL запросов Query

  1. Если необходимо, выполнить сохранение запроса, нажав кнопку Сохранить файл окна Query (рисунок 6.5).

Рисунок 6.5 – Сохранение пользовательского SQL запроса

7.3Отмена прав доступа

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

7.4Проверка прав доступа

Проверить права можно, например, с помощью утилиты SQL Explorer из среды Delphi.

Предварительное условие: Драйвер PostgreSQL ODBC должен быть инсталлирован и Пользовательский DSN или Системный DSN должен быть создан (см. пункт 8.1). Должна быть создана БД «Деканат Вуза» и ее псевдоним.

Ниже приведено описание способа проверки прав доступа пользователя Секретарь с помощью утилиты SQL Explorer.

  1. С помощью команды Database->Explorer из среды Delphi запустите утилиту SQL Explorer. Получите знакомое окно (рисунок 6.6).

Рисунок 6.6 – SQL Explorer

  1. На вкладке Databases открывшегося окна выберите предварительно созданный псевдоним к БД (для примера БД «Деканат ВУЗа» этот псевдоним называется Example). Щелкните на нем два раза левой кнопкой мыши. В результате откроется окно Database Login, в котором необходимо ввести имя пользователя (роли) и пароль (рисунок 6.7).

  2. Нажмите ОК

Рисунок 6.7 – Окно Database Login

В результате пользователь secretary получит доступ к БД (рисунок 6.8).

Рисунок 6.8 – SQL Explorer

Если данный пользователь попытается выполнить запрос на вставку или обновление записи в таблице Groups (закладка Enter SQL), то получит сообщение следующего вида (рисунок 6.9):

Рисунок 6.9 – Информационное сообщение

Запрос на выборку данных из таблицы Groups для данного пользователя будет выполнен нормально (рисунок 6.10).

Рисунок 6.10 – Выборка данных из таблицы Groups