Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к ГОС.doc
Скачиваний:
175
Добавлен:
27.03.2016
Размер:
1.5 Mб
Скачать

13. Защита приложений и баз данных. Структура «пользователь (группа) – право». Ролевая модель организации прав доступа. Организация доступа в субд «клиент-сервер».

При создании приложения или БД, которые используют несколько пользователей, возникает задача ограничения доступа. Существует несколько способов решения этой задачи. Самый простой способ - список пользователей, которым разрешено работать со всей базой. Для решения потребуется одна таблица с полем пользователей, и одна проверка на входе в программу. В более сложном случае нужно разграничить доступ к отдельным таблицам БД и в этом случае проверок становится много. Право: пользователю может быть дано право использовать некую численную программу. Роль – набор прав. Пользователь (группа) – если пользователей много, их объединяют по какому-то принципу в одну группу. Пользователь (право) - пользователю дается право выполнять некую информацию. В случае, если программой пользуется большое количество пользователей, то назначать права конкретно каждому пользователю неудобно. Сначала пользователей объединяют в группы, а затем определяют права для группы. Пользователи и группы связанны отношением М:N. Если у программы много функции, которые удобно логически сформировать, то вводят понятия роль-набор функций, необходимых для выполнения некой работы. Пользователь может иметь несколько ролей. Пользователь и роли связаны отношениями М:М. Если объединить ролевую модель и группы пользователей в общую модель, то получится тетраэдр на вершинах которого находятся пользователи, группы, роли, права. Access предусматривает средства безопасности данных, позволяет назначать пароль для индивидуальных и групповых пользователей, присваивать различные права доступа отдельно к таблицам, запросам, отчетам, макрокомандам или новым объектам. Рабочая группа – в Access это группа пользователей, работающих с одной БД. Каждый пользователь в рабочей группе имеет свою учетную запись, в которой зафиксированы его имя, пароль и пользовательские настройки среды Access. Из пользователей могут формироваться подгруппы. Права доступа к конкретным объектам БД присваиваются либо пользователю, либо целиком подгруппам. Учетные записи пользователей и подгрупп хранятся в специальном файле рабочей группы и он имеет расширение .mdw. По умолчанию System.mdw создается Access. Последовательность действий по созданию защиты БД: 1. Создается новая рабочая группа; 2. В нее вносятся учетные записи пользователей и подгрупп; 3. Подгруппам и пользователям присваиваются соответствующие права доступа к различным объектам БД; 4. Все пользователи защищаемой БД подключаются к рабочей группе. Для создания файла новой рабочей группы служит утилита «Администратор рабочей группы». Когда рабочая группа создана, в нее вносятся пользователи и пароли. Все это будет хранится в файле с расширением *.mdw. Для защиты БД Access можно установить парольную защиту, но этого будет недостаточно, поэтому нужно дополнительно зашифровать информацию с помощью какого-либо метода шифрования. Рассмотрим систему опознания и разграничения доступа к информации на примере СУБД Oracle. Для обеспечения защиты Oracle используют систему выборочного управления доступом. Это означает, что администратор БД присваивает пропуска для всех зарегистрированных пользователей и дает им полномочия на выполнение в БД конкретных операций с конкретными данными. Предоставление пользователям доступа к БД осуществляется в 2 этапа: 1) доступ к серверу БД, организуется средствами ОС; 2) доступ к БД. Чтобы предоставить доступ к БД, администратор должен создать нового пользователя БД, определив его имя и задав ему пароль, а также задать некоторые учетные данные: 1. Табличную область (область, где располагаются объекты пользователя); 2. Квоты табличных областей пользователя – показывают, сколько памяти могут занимать пользовательские объекты в конкретных табличных пространствах; 3. Профиль пользователя – в нем отражаются ограничения на системные ресурсы (время центрального процессора, время простоя, количество подключений). Администратор может управлять всеми операциями с БД и доступом к данным, в том числе, какие пользователи могут изменять таблицы, вставлять данные, обновлять или удалять данные. Это делается путем предоставления или отмены различных прав доступа. Oracle имеет 2 широких класса полномочий – полномочия на объекты и системные полномочия. Системные полномочия дают право пользователю на выполнение операции в масштабе БД (изменять физическую структуру БД, добавляя к ней новые данные или удалять любую предметную область за исключением системной). Системные полномочия может предоставить только администратор. Полномочия на объекты управляют работой БД с конкретным ее объектом. Полномочия на объект раздает владелец объекта. Роль представляет собой набор соответствующих полномочий, которые администратор может предоставить пользователям или другим ролям. Роль нужна для того, чтобы уменьшить количество операций, выполняемых администратором БД. В Oracle есть роль, называемая администратор БД. Создать и назначить роль можно с помощью операторов SQL или с помощью административных утилит. После создания пользователей и предоставления им доступа к БД следующим шагом для организации хорошей защиты является ограничение использования системных ресурсов. Ограничение системных ресурсов осуществляется с помощью профилей ограничения ресурсов. Модули, которые постоянно будут находится в режиме ожидания запросов, поступающих по сети от других компьютеров, называются программными серверами, т.к. их главная задача – обслуживать запросы на доступ к ресурсам своего компьютера. Модули, которые должны вырабатывать запросы на доступ к удаленным ресурсам и передавать их по сети на нужный компьютер, называются программными клиентами. Термины «клиент» и «сервер» используются не только для обозначения программных модулей, но и компьютеров, подключенных к сети. Если компьютер предоставляет свои ресурсы другим компьютерам сети, то он называется сервером, а если он их потребляет – клиентом. Иногда 1 и тот же компьютер может одновременно играть роли и сервера, и клиента.