KnigaRead.com/

W Cat - SQL за 24 часа

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн W Cat, "SQL за 24 часа" бесплатно, без регистрации.
Перейти на страницу:

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

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

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

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

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


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

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


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

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

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

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

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

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


Что такое привилегии?

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

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

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

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

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

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

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

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

CREATE DATABASE

CREATE DEFAULT

CREATE PROCEDURE

CREATE RULE

DUMP DATABASE

DUMP TRANSACTION

EXECUTE

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

CREATE TABLE

CREATE ANY TABLE

ALTER ANY TABLE

DROP TABLE

CREATE USER

DROP USER

ALTER USER

ALTER DATABASE

ALTER SYSTEM

BACKUP ANY TABLE

SELECT ANY TABLE


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

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

Стандарт ANSI определяет следующие привилегии доступа к объектам.

USAGE. Разрешает использование заданной области.

SELECT. Разрешает доступ к заданной таблице.

INSERT (имя_столбца). Позволяет разместить данные в указанном столбце заданной таблицы.

INSERT. Позволяет поместить данные во все столбцы заданной таблицы.

UPDATE {имя_столбца). Позволяет изменить данные в указанном столбце заданной таблицы.

UPDATE. Позволяет изменить данные во всех столбцах заданной таблицы.

REFERENCES (имя_столбца). Позволяет сослаться в условиях целостности на указанный столбецзаданной таблицы; требуется для всех условий целостности.

REFERENCES, позволяет сослаться в условиях целостности на любой столбец заданной таблицы.

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

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


Кто предоставляет и отменяет привилегии?

Обычно право использовать команды GRANT и REVOKE имеет администратор базы данных, но если есть администратор по безопасности, то он тоже может иметь право использовать эти команды. Конкретные инструкции по поводу того, кому и какие именно привилегии следует назначить или отменить, должны исходить от руководства и желательно в письменном виде.

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


Управление доступом к данным

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

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

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*