Выбрать главу

REVOKE PRIV1 [, PRIV2, ... ] FROM ИМЯ_ПОЛЬЗОВАТЕЛЯ

Средства, доступные пользователю

Некоторые утверждают, что для того, чтобы составлять запросы к базе данных, совсем не обязательно знать SQL. В некотором отношении с таким утверждением можно согласиться, но знание SQL определенно не окажется лишним при составлении запроса, даже при наличии средств графического интерфейса пользователя. Хотя при наличии графического интерфейса пользователя его непременно следует использовать, всегда полезно знать, что происходит за кулисами.

Графический интерфейс пользователя обычно имеет своей целью автоматическое создание программного кода SQL на основе информации, получаемой от пользователя посредством диалоговых окон, ответов на запросы и выбора опций. Существуют подобные средства и для создания отчетов, могут существовать формы для построения запросов, выполнения операций ввода, обновления и удаления данных, а также средства для представления данных в виде диаграмм и графиков. Существуют средства, призванные помочь администратору базы данных осуществлять мониторинг производительности базы данных, а также средства, позволяющие удаленный доступ к базе данных. Некоторые из этих средств поставляются производителями баз данных, другие же - независимыми производителями.

Резюме

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

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

Вопросы и ответы

Имеются ли стандартные команды SQL для добавления пользователей в базу данных?

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

Можно ли временно лишить пользователя права доступа к базе данных, не удаляя его учетную запись из базы данных?

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

Может ли пользователь изменить предложенный ему пароль?

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

Практикум

Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".

Тесты

1. С помощью какой команды инициируется сеанс доступа к данным базы данных?

2. С помощью какой команды можно удалить схему, все еще содержащую объекты?

3. С помощью какого оператора можно отменить назначенные пользователю привилегии?

4. Какая команда создает группу таблиц, представлений и привилегий?

Упражнения

1. Опишите по шагам процесс предоставления доступа к базе данных новому пользователю.

19-й час Обеспечение сохранности данных

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

Основными на этом уроке будут следующие темы.

• Защита данных

• Защита данных и управление доступом

• Привилегии доступа к системе

• Привилегии доступа к объектам

• Предоставление привилегий пользователям

• Отмена привилегий

• Особенности системы защиты в базах данных

Что такое защита данных?

Защита данных в базах данных означает просто защиту данных от несанкционированного доступа к ним. Несанкционированный доступ включает и доступ к данным пользователей, имеющих право доступа не ко всем данным базы данных, а только к их части. К защите данных относятся и действия, направленные на недопущение несанкционированного подключения к базе данных и распределения привилегий В базе данных имеется целая иерархия пользователей, начиная от проектировщиков базы данных, людей, ответственных за ее работу (таких, как администратор базы данных), программистов и до конечных пользователей. И хотя конечные пользователи обычно являются пользователями с наиболее ограниченными привилегиями, именно для них создаются базы данных. Каждый пользователь получает в базе данных свой уровень доступа и этот уровень должен содержать минимум привилегий, необходимых для решения поставленных перед этим пользователем задач.

Различия между защитой данных и управлением пользователями

Вы можете спросить: "В чем различие между защитой данных и управлением пользователями?" В конце концов, в ходе предыдущего урока, где обсуждалось управление пользователями, кажется, рассматривались и вопросы безопасности хранения данных. Но хотя управление пользователями и защита данных действительно оказываются задачами неразрывно связанными, каждая из этих задач имеет свои цели.

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

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

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