Читаем SQL за 24 часа полностью

Группа CONNECT позволяет пользователю подключиться к базе данных и осуществлять операции с теми объектами, право доступа к которым имеет этот пользователь.

Группа RESOURCE позволяет пользователю создавать объекты, удалять созданные этим пользователем объекты, предоставлять другим право доступа к своим объектам и т. п.

Группа DBA позволяет пользователю осуществлять в рамках базы данных лю|ь/е действия. Такой пользователь имеет право доступа к любым объектам базы данйых и может осуществлять с ними любые действия.

Вот пример предоставления пользователю такой группы привилегий.

GRANT DBA TO USER1;

Право предоставлено.

Использование групп привилегий в разных реализациях языка может иметь свою специфику При наличии групп их использование облегчает процесс организа-. ции управления безопасностью базы данных

Контроль за привилегиями с помощью распределения ролей

Роль - это создаваемый объект базы данных, содержащий нечто подобное группе привилегий Использование ролей направлено на сокращение усилий по обеспечению надежности хранения данных путем отказа от явного предоставления привилегий пользователям Управлять группами привилегий с помощью ролей оказывается проще Привилегии в рамках роли можно изменить, и такие изменения будут прозрачны для пользователя

Если пользователю в рамках определенного приложения требуются, например, привилегии SELECT и UPDATE по отношению к некоторой таблице, ему можно временно, до завершения выполнения транзакции, приписать роль с соответствующими привилегиями.

При создании роли она не имеет никакого иного значения, кроме того, что она является ролью базы данных Она может быть назначена какому-нибудь пользователю или другой роли. Например, пусть схема с именем АРР01 предоставляет привилегию SELECT роли RECORDS_CLERK в отношении таблицы EMPLOYEE_PAY. После этого любой пользователь, получающий роль RECORDS_CLERK, будет обладать привилегией SELECT в отношении таблицы EMPLOYEE_PAY.

Аналогично, если АРР01 отменит привилегию SELECT для роли RECORDS_CLERK в отношении таблицы EMPLOYEE_PAY, то с этого момента и все пользователи и роли, которым была назначена роль RECORDS_CLERK, потеряют привилегию SELECT в отношении ТабЛИЦЫ EMPLOYEE_PAY.

Оператор CREATE ROLE

Создать роль можно с помощью оператора CREATE ROLE.

CREATE ROLE Имя_роли;

Предоставление привилегий ролям аналогично предоставлению привилегий пользователям Рассмотрите следующий пример

CREATE ROLE RECORDS_CLERK;

Роль создана.

GRANT SELECT, INSERT, UPDATE, DELETE ON EMPLOYEE_PAY TO

RECORDS_CLERK;

Право предоставлено.

GRANT RECORDS_CLERK TO USER1;

Право предоставлено.

Оператор DROP ROLE

Роль удаляется с помощью оператора DROP ROLE.

DROP ROLE Имя_роли;

Вот пример:

DROP ROLE RECORDS_CLERK;

Роль удалена.

Оператор SET ROLE

Роль может быть назначена пользователю в рамках его сеанса доступа к базе данных с помощью оператора SET ROLE.

SET ROLE Имя_роли;

Вот пример:

SET ROLE RECORDS_CLERK;

Роль назначена.

С помощью одного оператора можно назначить и несколько ролей.

SET ROLE RECORDS_CLERK, ROLE2, ROLE3;

Роль назначена.

В некоторых реализациях языка (например, Oracle) все назначаемые пользователю роли автоматически становятся ролями по умолчанию, т. е. ролями, по умолчанию назначаемыми пользователю при входе в систему.

Резюме

Вы ознакомились с основами обеспечения надежного хранения данных в реляционных базах данных средствами SQL, а также с основами управления пользователями баз данных. Первым шагом процесса обеспечения безопасности является создание учетной записи пользователя базы данных. После этого пользователю необходимо сразу же предоставить определенные привилегии доступа к соответствующим частям базы данных, после чего стандарт ANSI позволяет использовать роли так. как это обсуждалось выше. Привилегии можно назначать пользователям или ролям. Различают два типа привилегий - привилегии доступа к системе и привилегии доступа к объектам.

Привилегии доступа к системе дают пользователю возможность выполнять такие действия в базе данных, как подключение к ней, создание таблиц, создание учетных записей пользователей, изменение состояния базы данных и т. п. Привилегии доступа к объектам позволяют пользователям предоставлять доступ к объектам базы данных, отбирать данные этих объектов и манипулировать полученными данными.

Для предоставления и отмены привилегий в SQL имеются две команды - GRANT и REVOKE. Эти две команды используются для того, чтобы осуществлять общее управление процессом назначения и отмены привилегий базы данных. В ходе этого часа мы с вами обсудили относящиеся к SQL принципы обеспечения безопасности базы данных, хотя в рамках реляционных баз данных имеется и целый ряд других связанных с безопасностью вопросов.

Вопросы и ответы
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных