Реферат: Защита баз данных
<img src="/cache/referats/21107/image001.gif" v:shapes=«Lock»>
<span Arial",«sans-serif»; color:black;mso-ansi-language:EN-US">Protection of databases
<span Garamond",«serif»;mso-ansi-language:EN-US"><span Garamond",«serif»; mso-ansi-language:EN-US">
<span Garamond",«serif»; mso-ansi-language:EN-US">
<span Garamond",«serif»; mso-ansi-language:EN-US">
<span Garamond",«serif»; mso-ansi-language:EN-US">
<span Garamond",«serif»">Содержание
<span Garamond",«serif»;mso-ansi-language: EN-US">
<span Garamond",«serif»;mso-ansi-language:EN-US;font-weight:normal">1.
<span Garamond",«serif»;font-weight:normal">Введение<span Garamond",«serif»; mso-ansi-language:EN-US">
<span Garamond",«serif»">2.Защита информации
·<span Times New Roman"">
<span Garamond",«serif»">Понятие защитыинформации·<span Times New Roman"">
<span Garamond",«serif»">Защита ПК отнесанкционированного доступа·<span Times New Roman"">
<span Garamond",«serif»">Защита информации вбазах данных<span Garamond",«serif»">
<span Garamond",«serif»">3.Реализация защиты в некоторых СУБД
<span Garamond",«serif»">
·<span Times New Roman"">
<span Garamond",«serif»">Архитектура защиты <span Garamond",«serif»;mso-ansi-language: EN-US">Microsoft Access<span Garamond",«serif»"> <span Garamond",«serif»">·<span Times New Roman"">
<span Garamond",«serif»;mso-ansi-language: EN-US">MS SQL Server<span Garamond",«serif»"><span Garamond",«serif»;mso-fareast-font-family: Garamond;mso-bidi-font-family:Garamond">-<span Times New Roman"">
<span Garamond",«serif»">Организациязащиты<span Garamond",«serif»;mso-fareast-font-family: Garamond;mso-bidi-font-family:Garamond">-<span Times New Roman"">
<span Garamond",«serif»">Вопросыбезопасности доступа<span Garamond",«serif»;mso-fareast-font-family: Garamond;mso-bidi-font-family:Garamond">-<span Times New Roman"">
<span Garamond",«serif»">Управлениедоступом<span Garamond",«serif»;mso-fareast-font-family: Garamond;mso-bidi-font-family:Garamond">-<span Times New Roman"">
<span Garamond",«serif»">Типподключения к <span Garamond",«serif»; mso-ansi-language:EN-US">SQL Server<span Garamond",«serif»"><span Garamond",«serif»;mso-fareast-font-family: Garamond;mso-bidi-font-family:Garamond">-<span Times New Roman"">
<span Garamond",«serif»">Роли·<span Times New Roman"">
<span Garamond",«serif»">Безопасность данных в <span Garamond",«serif»;mso-ansi-language: EN-US">Oracle 7<span Garamond",«serif»"><span Garamond",«serif»">- Ограничение доступа
<span Garamond",«serif»">- Использование пакетов
<span Garamond",«serif»">
<span Garamond",«serif»">4.Юридическая защита авторских прав на базы данных
<span Garamond",«serif»">
<span Garamond",«serif»">5.Заключение
<span Garamond",«serif»">
<span Garamond",«serif»">6.Список использованной литературы
<span Garamond",«serif»"><span Garamond",«serif»">
Введение
<span Courier New"">
Современная жизнь немыслима без эффективногоуправления. Важной категорией являются системы обработки информации, от которыхво многом зависит эффективность работы любого предприятия ли учреждения. Такаясистема должна:
·<span Times New Roman"">
обеспечиватьполучение общих и/или детализированных отчетов по итогам работы;·<span Times New Roman"">
позволять легкоопределять тенденции изменения важнейших показателей;·<span Times New Roman"">
обеспечиватьполучение информации, критической по времени, без существенных задержек;·<span Times New Roman"">
выполнять точныйи полный анализ данных.Современные СУБД в основном являются приложениями Windows, так как данная среда позволяет более полноиспользовать возможности персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПКобусловил не только широкий переход к среде Windows, где разработчик программного обеспечения может вменьше степени заботиться о распределении ресурсов, но также сделал программноеобеспечение ПК в целом и СУБД в частности менее критичными к аппаратнымресурсам ЭВМ. Среди наиболее ярких представителей систем управления базамиданных можно отметить: LotusApproach, MicrosoftAccess, BorlanddBase, BorlandParadox, MicrosoftVisualFoxPro, MicrosoftVisualBasic, а также баз данных MicrosoftSQLServerи Oracle, используемые в приложениях, построенных потехнологии «клиент-сервер».
<span Times New Roman",«serif»">
<span Times New Roman",«serif»">Проблемаобеспечения защиты информации является одной из важнейших припостроении надежной информационной структуры учреждения на базе ЭВМ. Этапроблема охватывает как физическую защиту данных и системных программ, так изащиту от несанкционированного доступа к данным,передаваемым по линиям связи и находящимся нанакопителях, являющегося результатом деятельности как посторонних лиц, так испециальных программ-вирусов. Таким образом, в понятие защиты данных включаютсявопросы сохранения целостности данных и управления доступа к данным (санкционированность).
<span Times New Roman",«serif»">
<span Times New Roman",«serif»">Технологическийаспект данного вопроса связан с различными видами ограничений, которые поддерживаютсяструктурой СУБД и должны быть доступны пользователю. К ним относятся:
<span Times New Roman",«serif»">-ограничениеобновления определенных атрибутов с целью сохранения требуемых пропорций междуих старыми и новыми значениями;
<span Times New Roman",«serif»">-ограничения,требующие сохранение значений поля показателя в некоторомдиапазоне;
<span Times New Roman",«serif»">-ограничения,связанные с заданными функциональнымизависимостями.
<span Times New Roman",«serif»">
<span Times New Roman",«serif»">Обычно в СУБД вязык манипулирования данными уже закладываются необходимые компонентыреализации указанных ограничений. Проблема обеспечения санкционированностииспользования данных является неоднозначной, но в основном охватывает вопросы защиты данных от нежелательноймодификации или уничтожения, а также от несанкционированного их чтения.
<span Times New Roman",«serif»">
<span Times New Roman",«serif»">В данной работея затрагиваю основные аспекты защиты баз данных, их реализацию на примерахконкретных СУБД, а так же юридическую сторону данного вопроса.
<span Courier New"">Защитаинформации
<span Courier New"">
<span Courier New"">Понятие защиты информации
<span Courier New"">
Защита информации — комплекс мероприятий, направленных на обеспечениеважнейших аспектов информационной безопасности (целостности, доступности и,если нужно, конфиденциальности информации и ресурсов, используемых для ввода,хранения, обработки и передачи данных) [1].
Система называется безопасной, если она, используя соответствующие аппаратныеи программные средства, управляет доступом к информации так, что только должнымобразом авторизованные лица или же действующие от их имени процессы получаютправо читать, писать, создавать и удалять информацию.
Очевидно, что абсолютно безопасных систем нет, и здесь речь идет онадежной системе в смысле «система, которой можно доверять» (как можнодоверять человеку). Система считается надежной, если она с использованиемдостаточных аппаратных и программных средств обеспечивает одновременную обработкуинформации разной степени секретности группой пользователей без нарушения правдоступа.
Основными критериями оценки надежности являются: политика безопасностии гарантированность.
Политика безопасности, являясь активным компонентом защиты (включает всебя анализ возможных угроз и выбор соответствующих мер противодействия),отображает тот набор законов, правил и норм поведения, которым пользуетсяконкретная организация при обработке, защите и распространении информации.
Выбор конкретных механизмов обеспечения безопасности системыпроизводится в соответствии со сформулированной политикой безопасности.
Гарантированность, являясь пассивным элементом защиты, отображает мерудоверия, которое может быть оказано архитектуре и реализации системы (другимисловами, показывает, насколько корректно выбраны механизмы, обеспечивающиебезопасность системы).
В надежной системе должны регистрироваться все происходящие события,касающиеся безопасности (должен использоваться механизм подотчетностипротоколирования, дополняющийся анализом запомненной информации, то естьаудитом).
При оценке степени гарантированное, с которой систему можно считатьнадежной, центральное место занимает достоверная (надежная) вычислительнаябаза. Достоверная вычислительная база (ДВЕ) представляет собой полнуюсовокупность защитных механизмов компьютерной системы, которая используетсядля претворения в жизнь соответствующей политики безопасности.
Надежность ДВБ зависит исключительно от ее реализации и корректностивведенных данных (например, данных о благонадежности пользователей,определяемых администрацией).
Граница ДВБ образует периметр безопасности. Компоненты ДВБ, находящиесявнутри этой границы, должны быть надежными (следовательно, для оценкинадежности компьютерной системы достаточно рассмотреть только ее ДВБ). Откомпонентов, находящихся вне периметра безопасности, вообще говоря, нетребуется надежности. Однако это не должно влиять на безопасность системы. Таккак сейчас широко применяются распределенные системы обработки данных, то под«периметром безопасности» понимается граница владений определеннойорганизации, в подчинении которой находится эта система. Тогда по аналогии то,что находится внутри этой границы, считается надежным. Посредством шлюзовойсистемы, которая способна противостоять потенциально ненадежному, а может бытьдаже и враждебному окружению, осуществляется связь через эту границу.
Контроль допустимости выполнения субъектами определенных операций надобъектами, то есть функции мониторинга, выполняется достоверной вычислительнойбазой. При каждом обращении пользователя к программам или данным мониторпроверяет допустимость данного обращения (согласованность действия конкретногопользователя со списком разрешенных для него действий). Реализация монитораобращений называется ядром безопасности, на базе которой строятся все защитныемеханизмы системы. Ядро безопасности должно гарантировать собственнуюнеизменность.
<span Courier New"">Защита ПК от несанкционированного доступа
Как показывает практика, несанкционированный доступ (НСД) представляетодну из наиболее серьезных угроз для злоумышленного завладения защищаемойинформацией в современных АСОД. Как ни покажется странным, но для ПК опасностьданной угрозы по сравнению с большими ЭВМ повышается, чему способствуют следующиеобъективно существующие обстоятельства:
1) подавляющая часть ПК располагается непосредственно в рабочихкомнатах специалистов, что создает благоприятные условия для доступа к нимпосторонних лиц;
2) многие ПК служат коллективным средством обработки информации, чтообезличивает ответственность, в том числе и за защиту информации;
3) современные ПК оснащены несъемными накопителями на ЖМД очень большой емкости, причем информация на нихсохраняется даже в обесточенном состоянии;
4) накопители на ГМД производятся в таком массовом количестве, что ужеиспользуются для распространения информации так же, как и бумажные носители;
5) первоначально ПК создавались именно как персональное средство автоматизации обработки информации, а потому и не оснащались специальносредствами защиты от НСД.
В силу сказанного те пользователи, которые желают сохранитьконфиденциальность своей информации, должны особенно позаботиться об оснащениииспользуемой ПК высокоэффективными средствами защиты от НСД.
Основные механизмы защиты ПК от НСД могут быть представлены следующимперечнем:
1) физическая защита ПК и носителей информации;
2) опознавание (аутентификация) пользователей и используемых компонентов обработкиинформации;
3) разграничение доступа к элементам защищаемой информации;
4) криптографическое закрытиезащищаемой информации, хранимой на носителях (архивация данных);
5) криптографическое закрытие защищаемой информации в процессе непосредственной ее обработки;
6) регистрация всех обращений к защищаемой информации. Ниже излагаютсяобщее содержание и способы использования перечисленных механизмов.
<span Courier New"">Защита информации в базах данных
В современных СУБД поддерживается один из двух наиболее общих подходовк вопросу обеспечения безопасности данных: избирательный подход и обязательныйподход. В обоих подходах единицей данных или «объектом данных», для которыхдолжна быть создана система безопасности, может быть как вся база данныхцеликом, так и любой объект внутри базы данных.
Эти два подхода отличаются следующими свойствами:
·<span Times New Roman"">
В случаеизбирательного управления некоторый пользователь обладает различными правами(привилегиями или полномочиями) при работе с данными объектами. Разныепользователи могут обладать разными правами доступа к одному и тому же объекту.Избирательные права характеризуются значительной гибкостью.·<span Times New Roman"">
В случаеизбирательного управления, наоборот, каждому объекту данных присваиваетсянекоторый классификационный уровень, а каждый пользователь обладает некоторымуровнем допуска. При таком подходе доступом к определенному объекту данныхобладают только пользователи с соответствующим уровнем допуска.·<span Times New Roman"">
Для реализацииизбирательного принципа предусмотрены следующие методы. В базу данных вводитсяновый тип объектов БД — это пользователи. Каждому пользователю в БДприсваивается уникальный идентификатор. Для дополнительной защиты каждыйпользователь кроме уникального идентификатора снабжается уникальным паролем,причем если идентификаторы пользователей в системе доступны системномуадминистратору, то пароли пользователей хранятся чаще всего в специальномкодированном виде и известны только самим пользователям.·<span Times New Roman"">
Пользователимогут быть объединены в специальные группы пользователей. Один пользовательможет входить в несколько групп. В стандарте вводится понятие группы PUBLIC, для которой должен быть определен минимальныйстандартный набор прав. По умолчанию предполагается, что каждый вновьсоздаваемый пользователь, если специально не указано иное, относится к группе PUBLIC.·<span Times New Roman"">
Привилегии илиполномочия пользователей или групп — это набор действий (операций), которые онимогут выполнять над объектами БД.·<span Times New Roman"">
В последнихверсиях ряда коммерческих СУБД появилось понятие «роли». Роль — этопоименованный набор полномочий. Существует ряд стандартных ролей, которыеопределены в момент установки сервера баз данных. И имеется возможностьсоздавать новые роли, группируя в них произвольные полномочия. Введение ролейпозволяет упростить управление привилегиями пользователей, структурировать этотпроцесс. Кроме того, введение ролей не связано с конкретными пользователями,поэтому роли могут быть определены и сконфигурированы до того, как определеныпользователи системы.·<span Times New Roman"">
Пользователюможет быть назначена одна или несколько ролей.·<span Times New Roman"">
Объектами БД,которые подлежат защите, являются все объекты, хранимые в БД: таблицы,представления, хранимые процедуры и триггеры. Для каждого типа объектов естьсвои действия, поэтому для каждого типа объектов могут быть определены разныеправа доступа.На самом элементарном уровне концепции обеспечения безопасности баз данныхисключительно просты. Необходимо поддерживать два фундаментальных принципа:проверку полномочий и проверку подлинности (аутентификацию).
Проверка полномочий основана на том, что каждому пользователю илипроцессу информационной системы соответствует набор действий, которые он можетвыполнять по отношению к определенным объектам. Проверка подлинности означаетдостоверное подтверждение того, что пользователь или процесс, пытающийсявыполнить санкционированное действие, действительно тот, за кого он себявыдает.
Система назначения полномочий имеет в некотором роде иерархическийхарактер. Самыми высокими правами и полномочиями обладает системный администраторили администратор сервера БД. Традиционно только этот тип пользователей можетсоздавать других пользователей и наделять их определенными полномочиями.
СУБД в своих системных каталогах хранит как описание самихпользователей, так и описание их привилегий по отношению ко всем объектам.
Далее схема предоставления полномочий строится по следующему принципу.Каждый объект в БД имеет владельца — пользователя, который создал данныйобъект. Владелец объекта обладает всеми правами-полномочиями на данный объект,в том числе он имеет право предоставлять другим пользователям полномочия поработе с данным объектом или забирать у пользователей ранее предоставленныеполномочия.
В ряде СУБД вводится следующий уровень иерархии пользователей — это администраторБД. В этих СУБД один сервер может управлять множеством СУБД (например, MSSQLServer, Sybase). В СУБД Oracleприменяется однобазовая архитектура, поэтому там вводится понятие подсхемы —части общей схемы БД и вводится пользователь, имеющий доступ к подсхеме. Встандарте SQLне определена команда созданияпользователя, но практически во всех коммерческих СУБД создать пользователяможно не только в интерактивном режиме, но и программно с использованиемспециальных хранимых процедур. Однако для выполнения этой операции пользовательдолжен иметь право на запуск соответствующей системной процедуры.
В стандарте SQLопределены два оператора: GRANTи REVOKEсоответственно предоставления и отмены привилегий.
Оператор предоставления привилегий имеет следующий формат:
GRANT {<списокдействий | ALLPRIVILEGES }
ON<имя_объекта> ТО (<имя_пользователя>] PUBLIC} [WITHGRANTOPTION]
Здесь список действий определяет набор действий из общедопустимогоперечня действий над объектом данного типа.
Параметр ALLPRIVILEGESуказывает, что разрешены все действия из допустимыхдля объектов данного типа.
<имя_обьекта> — задает имя конкретного объекта: таблицы,представления, хранимой процедуры, триггера.
<имя_пользователя> или PUBLICопределяет, кому предоставляются данные привилегии.
Параметр WITHGRANTOPTIONявляетсянеобязательным и определяет режим, при котором передаются не только права науказанные действия, но и право передавать эти права другим пользователям.Передавать права в этом случае пользователь может только в рамках разрешенныхему действий.
Рассмотрим пример, пусть у нас существуют три пользователя с абсолютноуникальными именами userl, user2 и user3. Все ониявляются пользователями одной БД.
User1 создал объект Таb1, он является владельцем этого объекта и может передатьправа на работу с эти объектом другим пользователям. Допустим, что пользовательuser2 является оператором, который должен вводить данные вТаb1 (например, таблицу новых заказов), а пользователь user3 является большим начальником (например, менеджеромотдела), который должен регулярно просматривать введенные данные.
Для объекта типа таблица полным допустимым перечнем действий являетсянабор из четырех операций: SELECT, INSERT, DELETE, UPDATE. При этом операция обновление может быть ограниченанесколькими столбцами.
Общий формат оператора назначения привилегий для объекта типа таблицабудет иметь следующий синтаксис:
GRANT{[SELECT][.INSERT][,DELETED[.UPDATE (<списокстолбцов>)]} ON <имятаблицы>
ТО{<имя_пользователя> PUBLIC }
[WITH GRANT OPTION ]
Тогда резонно будет выполнить следующие назначения:
GRANT INSERT
ON Tab1
ТОuser2 GRANT SELECT
ONTab1
TOuser3
Эти назначения означают, что пользователь user2 имеет право только вводить новые строки в отношениеТаb1> а пользователь user3 имеет право просматривать все строки в таблице Таb1.
При назначении прав доступа на операцию модификации можно уточнить, значениекаких столбцов может изменять пользователь. Допустим, что менеджер отдела имеетправо изменять цену на предоставляемые услуги. Предположим, что цена задается встолбце COSTтаблицыТаb1. Тогда операция назначения привилегий пользователю user3 может измениться и выглядеть следующим образом:
GRANT SELECT. UPDATE (COST) ONTab1 TO user3
Если наш пользователь user1предполагает, что пользователь user4 может егозамещать в случае его отсутствия, то он может предоставить этому пользователювсе права по работе с созданной таблицей Таb1.
GRANT ALL PRIVILEGES
ON Tab1
TO user4 WITH GRANT OPTION
В этом случае пользователь user4может сам назначать привилегии по работе с таблицей Таb1 в отсутствие владельца объекта пользователя user1. Поэтому в случае появления нового операторапользователя user5 он может назначить ему правана ввод новых строк в таблицу командой
GRANT INSERT
ON Tab1 TO user5
Если при передаче полномочий набор операций над объектом ограничен, топользователь, которому переданы эти полномочия, может передать другомупользователю только те полномочия, которые есть у него, или часть этих полномочий.Поэтому если пользователю user4 былиделегированы следующие полномочия:
GRANTSELECT. UPDATE. DELETE
ON Tab1
TO user4 WITH GRANT OPTION,
то пользователь user4 не сможет передать полномочия на ввод данныхпользователю user5, потому что эта операция невходит в список разрешенных для него самого.
Кроме непосредственного назначения прав по работе с таблицами эффективнымметодом защиты данных может быть создание представлений, которые будутсодержать только необходимые столбцы для работы конкретного пользователя ипредоставление прав на работу с данным представлением пользователю.
Так как представления могут соответствовать итоговым запросам, то дляэтих представлений недопустимы операции изменения, и, следовательно, для такихпредставлений набор допустимых действий ограничивается операцией SELECT. Если же представления соответствуют выборке избазовой таблицы, то для такого представления допустимыми будут все 4 операции:SELECT, INSERT, UPDATEи DELETE.
Для отмены ранее назначенных привилегий в стандарте SQLопределен оператор REVOKE. Оператор отмены привилегий имеет следующийсинтаксис:
REVOKE{<список операций | ALLPRIVILEGES} ON<имя_объекта>
FROM{<список пользователей | PUBLIC} {CASCADE | RESTRICT}
Параметры CASCADEили RESTRICTопределяют, каким образом должна производитьсяотмена привилегий. Параметр CASCADEотменяетпривилегии не только пользователя, который непосредственно упоминался воператоре GRANTпри предоставлении емупривилегий, но и всем пользователям, которым этот пользователь присвоилпривилегии, воспользовавшись параметром WITHGRANTOPTION.
Например, прииспользованииоперации:
REVOKE ALL PRIVILEGES - ON Tab1 TO user4 CASCADE
будут отменены привилегии и пользователя user5, которому пользователь user4 успел присвоить привилегии.
Параметр RESTRICKTограничивает отменупривилегий только пользователю, непосредственно упомянутому в операторе REVOKE. Но при наличии делегированных привилегий этотоператор не будет выполнен. Так, например, операция:
REVOKE ALL PRIVILEGES ON Tab1 TO user4 RESTRICT
не будет выполнена, потому что пользователь user4 передал часть своих полномочий пользователю user5.
Посредством оператора REVOKEможноотобрать все или только некоторые из ранее присвоенных привилегий по работе сконкретным объектом. При этом из описания синтаксиса оператора отмены привилегийвидно, что можно отобрать привилегии одним оператором сразу у несколькихпользователей или у целой группы PUBLIC.
Поэтому корректным будет следующее использование оператора REVOKE:
REVOKE INSERT ON Tab! TO user2.user4 CASCADE
При работе с другими объектами изменяется список операций, которыеиспользуются в операторах GRANTи REVOKE.
По умолчанию действие, соответствующее запуску (исполнению) хранимойпроцедуры, назначается всем членам группы PUBLIC.
Если вы хотите изменить это условие, то после создания хранимойпроцедуры необходимо записать оператор REVOKE.
REVOKEEXECUTEONCOUNT_EXTOPUBLICCASCADEИ теперь мы можем назначить новые права пользователю user4.
GRANT EXECUTE ON COUNT_EX TOuser4
Системный администратор может разрешить некоторому пользователю создаватьи изменять таблицы в некоторой БД. Тогда он может записать операторпредоставления прав следующим образом:
GRANTCREATETABLE. ALTER TABLE, DROP TABLE ON OB_LIB TO user1
В этом случае пользователь user1может создавать, изменять или удалять таблицы в БД DB_LIB, однако онне может разрешить создавать или изменять таблицы в этой БД другимпользователям, потому что ему дано разрешение без права делегирования своихвозможностей.
В некоторых СУБД пользователь может получить права создавать БД. Например,в MSSQLServerсистемный администраторможет предоставить пользователю main_userправо на создание своей БД на данном сервере. Этоможетбыть сделаноследующейкомандой:
GRANT CREATE DATABASE
ON SERVERJ) TO main user
По принципу иерархии пользователь main_user, создавсвою БД, теперь может предоставить права на создание или изменение любыхобъектов в этой БД другим пользователям. В СУБД, которые поддерживаютоднобазовую архитектуру, такие разрешения недопустимы. Например, в СУБД Oracleна сервере создается только одна БД, но пользователимогут работать на уровне подсхемы (части таблиц БД и связанных с нимиобъектов). Поэтому там вводится понятие системных привилегий. Их очень много,80 различных привилегий.
Для того чтобы разрешить пользователю создавать объекты внутри этой БД,используется понятие системной привилегии, которая может быть назначена одномуили нескольким пользователям. Они выдаются только на действия и конкретный типобъекта. Поэтому- если вы, как системный администратор, предоставилипользователю право создания таблиц (CREATETABLE), то для того чтобы он могсоздать триггер для таблицы, ему необходимо предоставить еще одну системнуюпривилегию CREATETRIGGER. Система защиты в Oracleсчитается одной из самых мощных, но это имеет иобратную сторону — она весьма сложная. Поэтому задача администрирования в Oracleтребует хорошего знания как семантики принциповподдержки прав доступа, так и физической реализации этих возможностей.
<span Courier New"">Реализация защиты в некоторых СУБД
<span Courier New"">
Архитектура защиты AccessЕсли у вас имеется опыт работыс защитой, используемой на сервере или большой ЭВМ, структура защиты в Access покажется вамзнакомой. Вы можете указать пользователей, которым предоставляется или,наоборот, не разрешается доступ к объектам базы данных. Кроме того, вы можетеопределить группы пользователей и назначить разрешения на уровне группы, чтобыоблегчить построение защиты для большого числа пользователей. Пользователюдостаточно быть членом группы, чтобы получить права доступа, установленные длянеё.
Accessхранит информацию о защитев двух местах. Во время установки программа <span Arial",«sans-serif»;mso-ansi-language: EN-US">Setup
создаст в папке <span Arial",«sans-serif»"><span Arial",«sans-serif»;mso-ansi-language: EN-US">Program<span Arial",«sans-serif»"> <span Arial",«sans-serif»;mso-ansi-language: EN-US">Files<span Arial",«sans-serif»"><span Arial",«sans-serif»;mso-ansi-language: EN-US">Microsoft<span Arial",«sans-serif»">Oficefficeстандартный файл рабочей группы (System.mdw), которыйвпоследствии используется по умолчанию при запуске Access. Этот файл содержит информацию обо всех пользователяхи группах. При создании базы данных Accessсохраняет сведения о правах, предоставляемых конкретным пользователям игруппам, в файле базы данных.Общая структура защитыAccessотображена на рисунке 1. Учётные записи пользователейи групп хранятся в файле рабочей группы. Разрешение на доступ к конкретнымобъектам сохраняются в файле базы данных.
Рабочая группа
(обычно System.mdw)
Код рабочей группы
Пользователи
Код пользователя
Группы
Код группы
База данных приложения
(таблицы, запросы, формы,
отчеты, модули),
принадлежащая рабочей группе
Объект
Разрешение на доступ к объекту
Код пользователя или группы
<img src="/cache/referats/21107/image002.gif" v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032"> <img src="/cache/referats/21107/image003.gif" v:shapes="_x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036 _x0000_s1037 _x0000_s1038 _x0000_s1039 _x0000_s1040 _x0000_s1041 _x0000_s1042">Рис. 1
Расположение текущегофайла рабочей группы хранится в реестре Windows. Можно использовать служебную программу <span Arial",«sans-serif»;mso-ansi-language: EN-US">Wrkadm
<span Arial",«sans-serif»">.<span Arial",«sans-serif»;mso-ansi-language: EN-US">exe (администратор рабочих групп) для изменениятекущего или определения нового файла рабочей группы. Кроме того, можновыбирать нужный файл рабочей группы во время выполнения приложения, задав соответствующийпараметр командной строки в ярлыке запуска. Если вам приходится часто запускатьв сети совместно используемое защищенное приложение, нужно позаботиться о том,чтобы системный администратор задал вашу рабочую группу, используемую по умолчанию,как общий файл в сетевой папке.Каждая рабочая группаимеет уникальный внутренний идентификатор, генерируемый Accessпри определении файла рабочих групп. Любая базаданных, созданная пользователем рабочей группы, «принадлежит» как этомупользователю, так и рабочей группе. Каждый пользователь и группа также имеетуникальный внутренний идентификатор, но можно дублировать один и тот же кодпользователя и группы в нескольких рабочих группах. Когда вы назначаете праводоступа к объекту своей базы данных, Accessсохраняет в ней внутренний идентификатор пользователя или группы вместе синформацией о доступе. Таким образом, предоставленные вами права перемещаютсявместе с файлом базы данных при копировании его в другую папку или на другойкомпьютер.
MSSQLServer