Разработка приложений баз данных для СУБД Sybase SQL Anywhere



       

Регистрация пользователей


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

Регистрация пользователей позволяет установить для каждого из них индивидуальные привилегии по манипулированию с объектами базы данных. Разработчики SYBASE SQL Anywhere рекомендуют регистрировать каждого пользователя. Накладные расходы, связанные с администрирование небольшие и кроме того, это создает дополнительные возможности по контроля за работой баз данных. Это проявляется в том, что:

  • утилита DBTRAN (см. табл. - ), позволяет извлечь из журнала изменений базы данных все SQL-операторы, выполненные конкретным пользователем. Это позволяет проанализировать, ранее произведенные им действия при возникновении каких-либо трудностей или при появлении некоторых вопросов;
  • в окне Connection сервера баз данных () фиксируются все пользователи, работающие с базами данных, управляемые сервером. Это информация может оказаться весьма полезной при анализе текущего состояния сервера или конкретной базы данных;
  • информация о всех соединения с базами данных, осуществленных в среде утилиты SQL Central, содержится в папке Connected Users (). Это дает отдельному пользователю иметь некоторое представление о "текущем моменте" функционирования СУБД.
  • В процессе проведения регистрации конкретному пользователю присваивается уникальное имя пользователя, которому ставится в соответствие секретное слово - пароль. При этом также устанавливаются классы полномочий, которыми будет обладать данный пользователь. СУБД SYBASE SQL Anywhere поддерживает три класса полномочий:

  • DBA - класс полномочий администратора базы данных. Пользователи имеющий такой класс полномочий пользуется правами администратора базы данных, т. е. они могут производить все манипуляции в базе данных без каких-либо ограничений. В одной базе данных несколько пользователей могут иметь класс полномочий DBA;
  • Resource - класс полномочий, имеющих право создавать такие объекты баз данных, как таблицы данных, представления, хранимые процедуры и функции, а также триггеры;
  • Remote DBA - класс полномочий, имеющих право участвовать в репликации данных.



  • Рассмотрим технологию регистрации индивидуальных пользователей и групп пользователей.

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

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

    ПРИМЕЧАНИЕ

    В СУБД SYBASE SQL Anywhere привилегии по манипулированию объектами могут предоставляться пользователями - владельцами объектов и пользователями с классом полномочий DBA. Классы полномочий предоставляются только пользователями с правами администратора базы данных.

    В СУБД SYBASE SQL Anywhere реализованы привилегии для таблиц данных, представлений и для хранимых процедур и функций. Привилегии таблиц представлены в (табл. 7).


    Содержание раздела