Управление доступом. управление доступом. Установка соединения с сервером бд Идентификация учетной записи пользователя. Средства операционной системы Средства сервера базы данных
Скачать 2.23 Mb.
|
пользователь Установка соединения с сервером БД – Идентификация учетной записи пользователя. Средства операционной системы Средства сервера базы данных 2. Авторизация – проверка прав доступа Работа с объектами базы данных В СУБД организована двухуровневая настройка ограничения доступа к данным: 1. Аутентификация на уровне сервера 2. Авторизация на уровне базы данных. На первом уровне используется учетная запись для подключения к серверу. Процедура аутентификации выполняет функцию глобального контроля прав пользователя по доступу в систему в целом. На втором уровне процедура авторизации определяет, какие действия пользователь может выполнять с БД В БД каждое групповое данное должно иметь связанный с ним набор ограничений доступа. При управлении доступом в СУБД различают два вида сущностей – активные и пассивные. Активные сущности (субъекты) осуществляют доступ к пассивным сущностям – объектам. Субъекты – это пользователи или приложения. Первичные объекты, к которым регулируется доступ: БД в целом; отношения (таблицы); представления; процедуры. Вторичными объектами доступа могут быть: формы; отчеты; запросы; прикладные программы (ПП); процедуры; диаграммы и т.п. В большинстве типов СУБД возможность для субъекта пользоваться вторичными объектами определяется правами его доступа к соответствующим первичным объектам. Разные пользователи могут иметь доступ только к строго определенным совокупностям таблиц; Разные пользователи могут иметь право на строго определенный перечень операций над данными конкретных таблиц; Разные пользователи могут иметь только выборочный доступ к определенным элементам конкретных таблиц (отдельным строкам и столбцам); Доступ определенных пользователей к определенной совокупности таблиц может быть запрещен непосредственно (через запросы), но разрешен в диалоге с прикладной программой. СУБД от имени конкретного субъекта выполняет конкретные операции над объектами БД в зависимости от прав, предоставленных субъекту на выполнение этих операций. Доступом к объектам БД можно управлять – разрешать доступ или защищать от доступа. Конкретный субъект обладает конкретными правами доступа к конкретному объекту. Совокупность операций, которые разрешено выполнять конкретному субъекту над конкретными объектами определяют привилегии (priveleges). В больших многопользовательских БД пользователи СУБД обычно разбиты на 3 категории: администратор сервера БД - ведает установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т. п.; администратор БД - пользователь, создавший свою БД, и являющийся ее владельцем - предоставляет другим пользователям доступ к своей БД и к содержащимся в ней объектам, отвечает за ее сохранение и восстановление; прочие (конечные) пользователи - оперируют данными БД, в рамках выделенных им привилегий. Как правило, для администраторов БД сделана первоначальная учетная запись, чтобы сделать первоначальный вход в систему. Привилегии в СУБД можно подразделить на две категории: привилегии безопасности – позволяют выполнять административные действия в БД; привилегии доступа – определяют права доступа субъектов к объектам БД. Привилегии безопасности всегда выделяются конкретному пользователю (а не группе, роли или всем) при его создании (оператором CRЕATE USER) или при изменения его привилегий (оператором ALTER USЕR). Набор привилегий безопасности определяется разработчиком СУБД. Язык SQL поддерживает следующие привилегии: ALTER SELECT INSERT UPDATE DELETE REFERENCES INDEX DROP Набор привилегий можно определить для конкретного пользователя, группы, роли или всех пользователей. Объектом защиты может быть БД, таблица, представление, хранимая процедура и т.д. Субъектом защиты может быть пользователь, группа пользователей, роль, хранимая процедура (если это предусмотрено реализацией СУБД). Привилегии устанавливаются и отменяются операторами языка SQL: GRANT (передать) и REVOKE (отобрать). Оператор GRANT указывает конкретного пользователя, который получает конкретные привилегии доступа к указанной таблице. Конкретный пользователь СУБД опознается по уникальному идентификатору (user-id). Любое действие над БД, любой оператор языка SQL всегда выполняется не анонимно, а от имени конкретного пользователя. Идентификатор пользователя определяет набор доступных объектов БД для конкретного физического лица или группы лиц. Для облегчения процесса администрирования большого количества пользователей их объединяют в группы. Применяются три способа сочетания индивидуальных и групповых прав в доступах пользователей: Один и тот же идентификатор используется для доступа к БД целой группы физических лиц. Конкретному физическому лицу присваивается уникальный идентификатор. Одновременно поддерживается идентификатор пользователя и идентификатор группы пользователей. Когда пользователь тем или иным способом инициирует сеанс работы с БД, он может указать, от имени какой из своих групп он выступает. Кроме того, для пользователя обычно определяют подразумеваемую группу. Совокупность всех пользователей именуется как PUBLIC. Придание привилегий PUBLIC – удобный способ задать подразумеваемые права доступа. Прежде чем присваивать привилегии группам и ролям, их (группы и роли) необходимо создать. Роль это объект БД, обладающий некоторыми правами и содержащий в себе учетные записи пользователей Роль позволяет администратору объединять пользователей , выполняющих одинаковые функции, в группы, для которых задаются одинаковые права. Роль создается и удаляется администратором БД. С ролью не ассоциируют перечень допустимых пользователей, ˗ вместо этого роли защищают паролями, если это предусмотрено производителем СУБД. В целом же, механизм ролей позволяет обеспечить приемлемую безопасность систем БД при малых трудозатратах на выдачу и отбор привилегий пользователям. |