Лекция 11 Управление доступом к информационным ресурсам.

Презентация:



Advertisements
Похожие презентации
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Advertisements

Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Администрирование информационных систем Администрирование БД. Управление разрешениями.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Тема 4 Организация доступа к ресурсам портала 1. Базовая аутентификация пользователей 2. Автоматическая регистрация и аутентификация пользователей 3. Аутентификация.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
Учетные записи пользователей и групп Дисциплина «Построение Windows-сетей» Сергеев А. Н. Волгоградский государственный социально-педагогический университет.
«Управление доступом к данным» Подготовила студентка 2 курса 10 группы ГМУ Филиппова Галина Валерьевна.
1 Часть II. Лекция 4. © Куркурин Николай Дмитриевич. (906)
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Презентация по: информатике Ученицы 8 а класса МКОУ «Линевская СШ» ЛЕМАЕВОЙ ЭЛЬВИРЫ Преподаватель: СУШКОВ АЛЕКСАНДР ИВАНОВИЧ.
Соколова В. В. Поддержка баз данных в РНР. Соколова В. В. Лаб 6 Работа с базами данных в РНР В РНР реализована обширная поддержка практически всех существующих.
Triggers для mysql. Что есть триггер? Триггер - это хранимая процедура особого типа, исполнение которой обусловлено наступлением определенного события.
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Ограничение целостности CHECK задает диапазон возможных значений для столбца. Ограничение целостности CHECK задает диапазон возможных значений для столбца.
ОТБОР И СОРТИРОВКА ДАННЫХ СУБД Access Отбор данных с помощью фильтров СУБД Access позволяет производить отбор записей, в ко- торых значения определенных.
Транксрипт:

Лекция 11 Управление доступом к информационным ресурсам

Пользователи По объему привилегий пользователи разделяются на несколько категорий: рядовые пользователи привилегированный пользователь, не имеющий права предоставлять привилегии привилегированный пользователь, имеющий право предоставлять привилегии владелец объектов (таблиц, файлов и т.д.) администратор

Способы управления доступом к информационному ресурсу 1. Управление доступом к серверу (файл httpd.conf). 2. Управление доступом к хосту 3. Использование системы привилегий MySQL. 4. Использование скриптов, которые позволяют контролировать доступ к сайту посредством аутентификации пользователей.

Файл httpd.conf Все настройки сервера Apache хранятся в текстовом файле httpd.conf, который располагается в каталоге conf. Описания закомментированы при помощи символа «#».

.htaccess – это конфигурационный файл, который даёт возможность настраивать работу сервера на уровне отдельных каталогов: устанавливать права доступа к файлам в каталогах, менять названия индексных файлов, самостоятельно обрабатывать коды ответов протокола HTTP, модифицировать адреса запрошенных страниц.

Файл httpd.conf Эти директивы определяют, какие пользователи имеют доступ к информации, расположенной на этом сервере. Order allow,deny Allow from all

Запретить доступ с определенного IP- адреса Deny from

Order deny,allow Deny from all Allow from Директива Order позволяет задать порядок, в котором будут выполняться директивы. Сначала выполняется директива запрета доступа(директива Deny), а затем разрешается доступ то для IP-адреса (директива Allow). Разрешить доступ только с определенного IP-адреса

Система привилегий MySQL

Добавление новых пользователей в MySQL Пользователей можно добавлять: при помощи команды GRANT напрямую в таблицы назначения привилегий MySQL с помощью надстроек MySQL (н-р phpMyAdmin)

Установление и контроль привилегий - прерогатива администратора БД. Привилегии устанавливаются и отменяются операторами языка SQL GRANT (РАЗРЕШИТЬ) и REVOKE (ОТМЕНИТЬ).

GRANT Оператор GRANT указывает конкретного пользователя, который получает конкретные привилегии доступа к указанной таблице. Например, GRANT SELECT, INSERT ON items ТО petrov; привилегии на выполнение операций объект пользователь

Отмена привилегий выполняется оператором REVOKE. Например, REVOKE REVOKE INSERT ON items FROM petrov; привилегияобъект пользователь

Глобальный уровень Глобальные привилегии обращаются ко всем базам данных на данном сервере. Эти привилегии сохранены в таблице mysql.user. Уровень баз данных Привилегии баз данных обращаются ко всем таблицам в данной базе данных (хранятся в таблицах mysql.db и mysql.host). Команды GRANT и REVOKE позволяют администраторам системы создавать пользователей, предоставлять и отменять права на MySQL- пользователей в четырех уровнях привилегий:

Уровень таблиц Привилегии таблиц обращаются ко всем столбцам в данной таблице (хранятся в mysql.tables_priv). Уровень столбцов Привилегии столбцов обращаются к одиночным столбцам в данной таблице (хранятся в таблице mysql.columns_priv).

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

ALL PRIVILEGES; CREATE; DROP; INSERT; DELETE; UPDATE; SELECT; FILE; INDEX; GRANT и др. Типы привилегий для инструкций GRANT и REVOKE :

Чтобы предоставлять права пользователям с произвольных компьютеров, MySQL поддерживает определение значения user_name в форме При определении строки user или строки host, можно цитировать имя пользователя или хоста (например, hostname').

Например, применяется к user для любого компьютера в домене joker.botik.ru, а будет применено к user с любой машины в сети класса C. Простая форма user представляет собой синоним для Можно определять групповые символы в hostname.

Анонимные пользователи определяются вставкой записей с User='' в таблицу mysql.user.

Привилегии для таблицы или столбца сформированы из логического ИЛИ (OR) привилегий в каждом из четырех уровней привилегии. Например, если таблица mysql.user определяет, что пользователь имеет глобальную привилегию select, это не может быть отменено записью на других уровнях доступа!

Пароли также могут быть установлены командой SET PASSWORD

Стадия 1: сервер проверяет, стоит ли ему связываться с пользователем. Стадия 2: после разрешения соединиться с сервером, будет проверяется каждый запрос, который выдает, чтобы видеть, имеет ли пользователь достаточные привилегии, чтобы выполнить его. Управление доступом MySQL включает две стадии:

Сервер использует таблицы user, db и host в базе данных mysql на обеих стадиях управления

Для второй стадии управления доступом (проверка запроса) сервер может, если запрос включает таблицы, дополнительно консультироваться с таблицами tables_priv и columns_priv.

Контроль доступа к сайту посредством аутентификации пользователей Для организации такого доступа нужны: таблица для хранения имен и паролей; web-страница для регистрации пользователя на сервере (входа на сервер) и аналогичная веб-страница для выхода; сценарий, который может использоваться для контроля прав доступа пользователей.

Функция md5 В настоящее время никто не хранит пароль в открытом виде используется его хеш, который представляет собой набор символов, получаемый в результате шифрования пароля по алгоритму MD5, реализованному в РНР в виде функции: md5(строка); Функция зашифровывает строку, переданную в качестве параметра, по алгоритму MD5 и возвращает результат этого действия.

транзакции баз данных Транзакция ряд отдельных действий, которые должны быть полностью обработаны или не обработаны вообще.

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

непротиворечивость. Транзакции должны преобразовать базу данных из одного постоянного состояния в другое. Например, транзакция, создающая счет-фактуру для заказа, переводит заказ из формы «отгружено» в форму «выписана счет-фактура», производя соответствующие изменения базы данных;

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

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

Поддержка транзакций в MySQL Чтобы обеспечить возможность поддержки транзакций, при создании таблицы должен быть определен механизм запоминания - InnoDB или BOB (Berkeley DM)

Например: CREATE TABLE LANGUAGE (LANGUAGE_CODE CHAR (2) NOT NULL, LANGUAGE_NAME VARCHAR (40) NOT NULL, PRIMARY KEY (LANGUAGE_CODE)) ENGINE = INNODB;

Для таблиц, которые создаются с использованием механизмов InnoDB или BOB, поддержка транзакций доступна в двух режимах: режим автофиксации. Автофиксация включается и выключается при помощи выражения SET, где значение «0» отключает авто фиксацию, а значение «1» включает: SET AUTOCOMMIT=0; SET AUTOCOMMIT=1;

явный режим. Явный режим действует, даже если режим автофиксации отключен. В нем могут использоваться следующие выражения SQL: START TRANSACTION [WITH CONSISTENT SNAPSHOT]; SAVEPOINT идентификатор_точки_сохранения; ROLLBACK[TO идентификатор_точки_сохранения]; COMMIT;