|
Программирование >> Хронологические базы данных
гий очевидно. Однако следует отметить, что привилегии INSERT и UPDATE (но не привилегия SELECT, что весьма странно) могут задаваться для конкретных указанных столбцов таблиц. Замечание. Также допустимо ключевое слово ALL PRIVILEGES (все привилегии), но семантика его использования не столь проста, как кажется [4.19]. В качестве значения параметра <о6ъект> может использоваться выражение DOMAIN <имя домена> или выражение TABLE <имя та6лицы>. Замечание. В данном контексте- в отличие от большинства других случаев - ключевое слово TABLE (которое на самом деле не является обязательным) относится как к представлениям, так и к базовым таблицам. Значением параметра <список идентификаторов пользователей> может быть ключевое слово PUBLIC, обозначаюшее всех пользователей, которые известны системе. Если задана опция WITH GRANT OPTION, значит, перечисленные пользователи наделяются особыми полномочиями в отношении указанного объекта- правом передачи полномочий. Это означает, что им разрешается предоставлять такие же полномочия другим пользователям. Безусловно, опция WITH GRANT OPTION может указываться только в том случае, когда задающий оператор GRANT пользователь сам обладает необходимыми полномочиями. Если пользователь А наделяет некоторыми полномочиями пользователя В, то впоследствии он может отменить эти полномочия пользователя В. Отмена полномочий выполняется с помощью оператора REVOKE с приведенным ниже синтаксисом. REVOKE [ GRANT OPTION FOR ) <список привилегиРО ON <о6ъекч> FROM <список идентификаторов пользователей> <опция> ; Здесь фраза GRANT OPTION FOR означает, что отменяется только право передачи указанных привилегий, предоставленное ранее этим пользователям. Значения параметров <список привилегий>, <о6ъек1> и <список идентификаторов пользователей> аналогичны значениям параметра оператора GRANT. Значениями параметра <опция> могут быть ключевые слова RESTRICT (отклонить) и CASCADE (каскадно). Ниже приведены некоторые примеры использования этого оператора. 1. REVOKE SELECT ON S FROM Jacques, Anne, Charley RESTRICT ; 2. REVOKE SELECT, INSERT, UPDATE (SNAME, STATUS), DELETE ON LS FROM Dan, Misha CASCADE ; 3. REVOKE SELECT ON SSPPR FROM Giovanni RESTRICT ; 4. REVOKE SELECT ON SSQ FROM Fidel RESTRICT ; Рассмотрим назначение ключевых слов RESTRICT и CASCADE. Допустим, что р является некоторой привилегией для некоторого объекта и пользователь А предоставляет привилегию р пользователю В, который, в свою очередь, предоставляет ее пользователю С. Что произойдет, если теперь пользователь А отменит привилегию р для пользователя В? Если эта отмена состоится, то привилегия р у пользователя С останется покинутой , поскольку она была производной от привилегии р пользователя В, который уже не обладает ею. Основное назначение ключевых слов RESTRICT и CASCADE состоит в предотвращении ситуаций возникновения покинутых привилегий. При задании ключевого слова RESTRICT запрещается выполнять операцию отмены привилегии, если она приводит к появлению покинутой привилегии. Ключевое слово CASCADE указывает на необходимость последовательной отмены всех привилегий, производных от отменяемой. Наконец, при удалении домена, базовой таблицы, столбца или представления автоматически будут удалены также все привилегии, предоставленные в отношении этих объектов со стороны всех пользователей. 16.7. Резюме в этой главе рассматривались различные аспекты проблемы защиты базы данных. Во введении были показаны различия между понятиями защиты и целостности. Так, под защитой подразумевается контроль за тем, разрешено ли санкционированным пользователям выполнять предпринимаемые ими действия, тогда как под целостностью понимается проверка корректности этих действий. Иначе говоря, под защитой понимается защита данных от несанкционированного доступа, изменения или разрушения. Защита обеспечивается подсистемой защиты СУБД, проверяющей соответствие всех поступающих запросов существующим ограничениям зашиты, которые сохраняются в системном каталоге. Сначала были рассмотрены избирательные схемы защиты, в которых доступ к конкретному объекту определялся владельцем объекта. Для каждого ограничения безопасности в избирательной схеме задаются имя, множество привилегий (RETRIEVE, UPDATE и т.д.), соответствующая переменная-отношение (т.е. данные, к которым применимы указанные ограничения) и множество пользователей. Такие правила могут применяться для организации управления как зависящего, так и не зависящего от конкретных значений, а также для статистически-обобщенного и контекстно-зависимого управления. Для регистрации попыток нарушения защиты может использоваться контрольное слежение за выполнением операций. В данной главе было представлено краткое описание метода реализации избирательной схемы защиты на основе механизма модификации запроса. Впервые эта технология была применена в прототипе системы INGRES с использованием средств языка QUEL. Далее кратко рассматривались методы мандатного управления, согласно которым каждый объект должен обладать некоторым классификационным уровнем (или грифом), а каждому пользователю должен быть присвоен определенный уровень допуска. Помимо описания правил доступа для такой схемы, кратко рассматривалась классификация мер безопасности, регламентированная Министерством обороны США [16.19], [16.20]. Дополнительно приводились идеи создания многоуровневых переменных-отношений и методы полиреализации. Затем обсуждались особенности работы со статистическими базами данных. Статистической называется база данных, которая содержит большое количество отдельных конфиденциальных сведений и пользователям которой может предоставляться только некоторая статистически обобщенная информация. Было показано, что защита такой ба- зы данных легко может быть нарушена с помошью выражений-трекеров. (Этот факт должен вызывать определенную тревогу в связи с возрастающим интересом к хранилищам данных, подробное описание которых приводится в главе 21.) Также были описаны методы шифрования данных с использованием методов подстановки и перестановки, приведены разъяснения в отношении стандарта шифрования данных DES и кратко рассмотрены методы шифрования с помощью открытых ключей. В частности, был приведен простой пример использования RSA-схемы для данных, представляющих собой простые числа. Кроме того, была описана концепция применения цифровых подписей. После этого были кратко изложены меры безопасности, которые поддерживаются в стандарте языка SQL. В частности, обсуждалось использование представлений для сокрытия информации и применение директив GRANT и REVOKE для управления наборами привилегий, предоставленных конкретным пользователям в отношении различных объектов базы данных (в основном, это базовые таблицы и представления). В заключение, вероятно, стоит отметить, что будет мало проку от СУБД, предоставляющей большое количество функций защиты, каждую из которых можно легко преодолеть. Например, в СУБД DB2 данные базы физически хранятся в файлах операционной системы. Следовательно, любые механизмы защиты в системе DB2 были бы совершенно бесполезны, если бы было возможно получить доступ к этим файлам с помощью обычной программы, использующей обычные средства операционной системы. Поэтому СУБД DB2 согласованно взаимодействует с другими параллельно существующими системами (например, с базовой операционной системой), что дает ей гарантии общей защищенности системы. Подробное изложение этого аспекта защиты выходит за рамки данной главы, однако указанную особенность все же стоило упомянуть. Упражнения 16.1. Пусть базовая переменная-отношение STATS выглядит так, как в разделе 16.4. STATS { NAME, SEX, CHILDREN, OCCUPATION, SALARY, TAX, AUDITS } PRIMARY KEY { NAME } Используя гипотетический язык, представленный в разделе 16.2, запишите определения ограничений защиты для предоставления перечисленных ниже привилегий: а) пользователь Ford обладает правом выборки из всего отношения; б) пользователь Smith обладает правом вставки и удаления данных для всего отношения; в) каждый пользователь обладает правом выборки кортежа (одного) со своими личными данными; г) пользователь Nash обладает правом выборки из всего отношения и правом обновления атрибутов SALARY и TAX (только); д) пользователь Todd обладает правом выборки атрибутов USERID, SALARY и TAX (только); е) пользователь Ward обладает такими же правами выборки, как и пользователь Todd, а также правом обновления атрибутов SALARY и TAX (только);
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |