Скачиваний:
27
Добавлен:
10.02.2015
Размер:
590.21 Кб
Скачать

Назначение привилегий посредством представлений и процедур

CD143

 

 

ис. 12.5. зультаты работы с представлением Mar ouxListings

имеет прав . Даже

îí

 

имя таблицы Listings, он не смож

извлечь из нее

может

. Более ого,еслистемузнаетдаж

 

не подтвердит что такая таблица существует. Вы

сохранить сложные запросы как представления, чтобы обеспечить

циаль

îñòü,

ам не удастся применять эти представления для обновления данных.

данныев эт го значения. Подробное

 

 

необограничивх димых действий здесь не привовдится,

 

Ко ечно, ноздавать

 

представления для каждого сотрудника слишконм сложиден

но. Чтобы

упростить

процесс, вы

ете добавить к

аблице Agents столбец,

ржащий

 

пользовразныетеля. Т гда ìîæíî

óäåò ïî

имя текущег

польз ателя

ïîñкольку

аналогичная процедура,описаниепр дназначенная для контроля обновления дан-

 

редствоимясистемной переменной User и

 

ëó÷àòü доступ к ст лбцам на оснсо

ных, будет рассмотрена в следующем разделе.

 

 

 

 

 

 

 

ование процедур для ограничения возможно

обн вльзения данных

 

 

 

 

 

 

 

ИспоВ нек т рых

пользователю необхо имо обновлять базу данных. К к пстейу-

ть в п добных сит ациях? Поск льку представление Mar ouxListings базируется

очередь, передслучаяхва о бы их в таблицу Listings.

 

 

 

ïàí

äíîé таблиц , о новление возможно. Вы можете изменить абор полномочий,

чтобы

пользов те ь Mar oux мог включать строки в представление,

à îíî, â ñâîþ

CD144

 

лава 12. Обеспечение защиты базы данных

 

 

 

 

 

 

 

Grant Insert on Redwood.Mar ouxListings to Mar ouxK;

 

 

 

 

 

1. Теперь вы можете зарегистрироваться как Mar ouxK и попробовать включить

строку.

 

 

Into Redwood.Mar ouxListings (ListingID, PropertyID,

 

 

 

 

In

 

 

 

 

 

 

Values

(99, 773, 10041, 101);

 

 

 

 

 

 

 

 

 

 

Commit;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Li

ertngAgentID, SaleStatusID)

 

 

 

 

 

 

 

 

 

2. Команда INSERT выполняется нормально. Поскольку новая строка не имеет смыс-

ëà,

ам следует зарегистрироваться под своим

и удалить ее.

î ?

 

 

 

На первый

взгляд

се обстоит нормально. В чемименемж проблемы с

 

 

 

 

3. Äëÿ

DELETE FROM Listings WHERE ListingID=99;

 

 

 

 

 

 

 

ого чтобы

выявить их, зарегистрируйтесь как Mar ouxK и попызащитаéòåñü âû-

полнить

следующий код:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In

 

 

Into Redwood.Mar ouxListings (ListingID, PropertyID,

 

 

 

 

Values

(98, 773, 12963, 101);

 

 

 

 

 

 

 

 

 

 

Commit;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Li

ertngAgent D, SaleStatusID)

нормально. Вам опять

идется зареги

È ñíîâ

 

êîì

 

 

 

 

 

INSERT

âûïî

 

 

 

нциальная проблема, связа

наялняетсябезопасностью? Mar oux

лько что включил

стрировне пре

тьсяандапо

своим име ем и удалить ListingID=98. Тепеðü âàì ÿñíà ïî

 

 

 

 

 

 

 

äîïî

 

 

 

 

полно чия для работыисклю

таблицей Listings

 

äñòâ

 

представлнительныеия Mar ouxListings. Каждое полномочие предостав

ò

 

 

 

 

 

 

 

список для другого агента (Reed). Не

÷åí , ÷òî âû çàõ

 

-

равадопустимыйна рабо у

 

 

лько с этойпроцесс

 

óðîé.

.

 

 

 

 

, ïòè-

÷

дажедоставитьза

 

 

к торыми он не в

 

 

 

 

 

 

Mar oux

îçìî

 

 

 

 

 

вносить все болеемоасштабные изменения в таб

посредствонтром представлåíèÿ.

 

 

 

 

 

 

 

 

 

 

 

 

 

4. В первую

֌

жностьтм

 

те права äанного пользовзателя на включение данных

шение этойписи,блемы заключаетсяладеетом, чтобы создать процедурлицу, которая

строг

ê

 

 

ëèð

 

àëà áû

 

 

обновлений, и

тем предоставить Mar oux

 

REVOKE Insert ON Redwood.Mar ouxListings FROM Mar ouxK;

 

 

 

 

Сейчас

 

 

 

îñ

 

 

 

 

цель созда

 

ïð

цедуру, к

îðàÿ

 

ëÿëà áû

 

 

 

списки в б зу даííûõ. Îíà

ëæíà

 

 

 

îзможность выпо

 

ðàáî ó äëÿ ëþ

 

б го агентнашаи автовнаятически включа

 

ListingID, иденти лнятьдобавикор агента и к д

For Sale (101). Â

 

 

 

 

 

такжиметьизâлекать значение PropertyID изновыех д-

íîé

ормы. Наприìер, аг нтнадом жет обратиться к орме Property, чтобы

ввести

данные для новог

 

îáú êòà

 

 

 

 

 

о ко тактах. После вв да данных об

объекте и начальной

ц ны пользователь должен щелкнуть на кнîïêå, è îðìà

вызовет процедуру

идеалезапишет ин ормацию в таблицу Listings.

 

 

 

 

 

 

 

 

 

 

 

 

Назначение привилегий посредством представлений и проц дур

CD145

5. Для ого чтобы с

стема ав оматически генерировала ListingID, вам нужно на-

писа ь код для работы с

таблицей Listings. Как владелец системы

Redwood

ââåäèòå

следующие команды:

 

 

 

 

 

 

CREA

 

 

 

SEQUENCE seq Listings

 

 

 

 

 

INC

 

 

 

 

 

 

BY 1

 

 

 

 

 

 

 

 

Ñëå

STARTEMENTWI H 20000;

 

 

 

чтобы процедура иденти ицир вала

 

 

 

 

 

 

 

 

шаг несколько сложнее.

 

 

агентадующийнаходила значение AgentID. Следует создать в таблице Agents допîëíè-

тельный столбец, содержащий пользовНадо,тельское имя для каждог агента. Ввести

пользов

 

 

 

 

 

ое имя можно вручную, но проще с ор

ть его, присоединив

к амилии

 

первую букву имени.

 

 

 

 

 

 

 

 

тетельсктаблице Agents новый столбец Usernameмировустановите имя пользо

Добавьпо умолчанию.

 

 

 

 

 

 

 

6. Теп рь вы можете создать новую процедуру, которая будет добавлять строки к таб-

лицтеляistings.

 

 

 

 

 

 

 

 

 

 

A

L ER

 

T BLE

 

VARCHAR2(100));

 

 

 

 

 

 

 

 

 

 

 

 

Agents

 

 

 

 

 

UPDDATE

 

 

 

 

 

 

 

 

 

SET

 

 

(UsernameAgents= La tName | |

 

 

 

 

 

 

Commit;

 

 

 

 

 

 

 

 

 

 

И наконец, вы можете создать процедуруSUBSTR(FirstName,1,1);которая добавит новые строки к таблице

Listings.

 

 

 

 

 

 

 

 

 

 

 

 

 

Create or Repla e Pro edure AddAgentListing(

 

 

 

 

 

Proper

 

NUMB

 

 

 

 

 

 

 

 

 

Beg

 

 

 

yIDate

 

 

 

 

 

 

 

 

 

 

EndLisListDate DATDATE,R,

 

 

 

 

 

 

AS

AskingPri NUMBER)

 

 

 

 

 

 

 

 

 

 

 

 

 

AgentID

NUMBER;

 

 

 

 

 

 

BEGIND

 

 

 

 

 

 

 

 

 

 

 

SE

 

 

 

 

INTO nAgen

 

 

 

 

 

 

 

 

FROM

Agents

WHERE UPPER(Username)=U er;

 

 

 

 

 

CLAREINS CT

INTO Listings (Lis

ingID,

Proper yID, L stingAgentID,

 

 

 

 

Sale tatu ID, B

 

 

EndListDate, AskingPri e)

 

 

 

 

VALUES

(

ings.NextVal,

 

 

 

 

 

 

 

 

 

 

 

seq Lis

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Proper yI

 

 

 

 

nAgentID,101, ginListDate,EndListDatBeg ate, );AddAgentListing.Ask gPri

END;COMMIT;

CD146

 

лава 12. Обеспечение защиты базы данных

 

 

 

 

 

 

 

 

 

 

Чтобы пон ть к д пр це уры, надо учесть, что системная перем нная User ис

пользуется для выбора пользовательского имени агента, ко орый зарåгис рировался

и вызвал процедуру.

Посредством Username ос

 

 

ляется

 

 

соотве с вую

щег AgentID. Выражение

INSERT для работыуществтаблицей Listings досòà

÷íî

простое. Все ключевые зна

 

за исклю

 

PropertyIDпоиск, лностью контро

7. Предоставьте Mar ouxKчения,другим агентам возможность

выполнять новую проце-

лируются процедурой. Пользователь не видитчениемне мо

ет изменить их.

 

 

 

 

äóðó.

 

 

 

 

 

 

 

 

TO Agent;

 

 

 

 

 

 

 

 

 

GRANT EXECUTE ON

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Зарегистрируйтесь как Mar ouxK и проверьте процедуру.

 

 

 

 

 

 

 

 

EXEC Redwood.AddAgentListing(773, '01-MAR-2006',

 

 

 

 

 

 

 

 

 

 

 

 

èяниеаботы?мрироватьсязируетеListingID=20000образом,,поскмог'Млок01лькуд,жно-изреализотJULтоменитьсясвоеговы-увиди2006овапред,жно'имени.,ье,запускодляегоставить150000);чтоувнеслегалиеренностиудалитьагентугенеражносновой.ПочемуненужнуюмпанииправорвамявпослеляетсянадоINж--

 

 

 

 

 

äåòë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

à

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выражвыпопровхвнимаамзнаелåченийпридетсяркуиеятьвсего,льноINSERTAgentID=10041такиегэтпроанмногзарегис.состбуонкретноеТ

 

 

 

 

 

 

 

 

 

 

 

 

 

пришлосьобычндовавыпозаписьЕсИтельнлнитьснова.Вероятнв

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SERT, UPDATE и, может быть, DELETE к таб

 

Listings? Íà ýò

 

â

 

ìîæ

. Â

тветить

 

îëüê âû, òàê êàê ê

 

 

решенилице

зависит

специ ики к

 

 

изменитьентстважную ин ормацию.

 

 

 

 

 

 

 

ëàñè åñü, ÷ò

 

данные не яв -

случае аг

а средней величины вы, возможно,

 

 

ются кри ичными

уководств

должно

ерятьсогтрудникам. Однакопросесть

ðèñê,

что агент,

которог

áûë êîí ëèê

с рукдоводством, может из мести удалить или

Виртуальная частная баз

 

данных и гри секретности

 

 

 

 

вир уальной частной базы данных (virtual private database VPD) появилось

жтносительнопольз в теля, лишь теми

данными, кот рые имею

íåï

 

 

дственноераспорятно-

Понятие

 

недавно. Цель

ограничить

 

 

ì

 

по адающую в

 

 

ег подразделения. Потреби елю

доста

чно видеть лацию,шь

 

îñðå

 

àçû. VPD

шение

 

нему. Наприме , со рудник сможет принсматрор

â òü

редак

 

 

òü

íûå,

онкретнВир у

ая частная база данных выполняет свою задачу, создав

представле-

касающиеся его самого. Менеджеру ж

 

будут доступны запи и

тировсех сотрудаí êàõ

ìîæ

 

 

бражать

ëèöû ò

àê áóäò

ни содержат тольксобствданнûе, закасающиеся

ê

 

 

го пользовтабтеля илиак,онкретной компании.

òàþ

òàê æå, ê

 

средства,

íèÿ

äîïîàëüíительным выражением WHERE. Они

 

 

обсуждавшиеся в предыдущих разделах. Отличиерабов т м, что после наястройки

VPD

àâò à

 

 

 

 

 

 

 

Назначение

 

 

 

 

 

 

посредством представлений и проц дур

 

 

CD147

 

 

 

 

 

 

 

изменяет

 

 

 

запросы. Это

хорошо и плох . Для

 

специалистов, не

 

 

для всех таблиц,процпривилегийдставленийнастраивдругих объек ов. Помочь

â

определении

ïî-

имеющих

доста очног

 

 

 

 

работы, задача

 

 

 

 

при эт м снижается

уровеньтическионтроля за

 

 

 

опытасе м. VPD

 

 

 

 

 

путем устано

 

ки детальных

 

ïî

 

 

 

 

íàäî

 

 

 

 

 

 

òü

 

ðîëè àä

инисттакжупрощается,ора базы данных.

 

 

 

пасности самых

гиченлитикîìó,

 

такжорый давнограниченияпри еня тся в

армиях и службах без

 

 

 

 

может Ora le Poli y Manager. М жно

 

 

 

использов ть пакеты SYS CONTEXT

ëèòDBMS RLS, чтобы задать

 

 

 

 

 

 

 

вручную. В любом

случае

äëÿ ð

 

 

àíèÿ

 

 Ora le

 

 

 

принадлежареализ вана с стеì

ãðè îâ

екретности. Эт

 

 

подхмировд

 

пример,

 

 

 

 

 

 

 

 

 

 

секретно ,

 

 

 

 

 

èëè êîí è

 

 

 

 

 

. Òàêæ

произв -

разных госу

 

 

 

 

. Каждому элементу данных присва вается гри

 

 

 

 

 

 

анало

дится

ì

 

 

еркдарствна

òñ

 

 

 

 

нарушен

й секретности дляденциальнольз телей

 

 

 

зличных

ñòåì

 

 

 

 

 

 

 

 

секретности предо

 

òèò

 

 

наивысшегпольз

òåëÿ

 

 

нексекретности,доста тно,чными

объектпров.совТ льк имея соо

етствующсекретноправа,

можно получить доступ

 

 

 

òíîé

инно огораничации

 

 

доступныеутствиеам данные

òåìè,

 

îðûå àì

 

 

 

 

 

 

необх димы.

ãðè àìè

 

 

 

 

 

 

 

высокимам надо инстраллировобращенть набор инструментальных средствтьсядл

Ò

 

 

образ м,

 

 

 

система к нтроля д

упа будет

 

 

 

 

 

оррек

 

ñè-

акимав

гри даннымов если

 

 

 

 

уровнем

секретности. Для настроенадействительноог чтобы оспользова

 

ïоддержкисекретности,вир уальн й

частной

базы данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ограничение

доступа средствами приложения

 

данны

 

è ýòî

Åùå îäèí

 

пособ обеспечения детального к нтроля при работе

 

 

 

 

Startup è Management äëÿ

 

 

 

жения Redwood Realty. Переместив

 

тчеты, св

íà

 

 

 

 

 

средств контро

 

непосредственнî

в состав

îð . à

 

 

òðèì

îðìû

занные

 

 

управлением, в орму Management, мы

сделаем

их менее смо

 

 

 

 

äëÿ

mentписание

 

 

титься днактчетам. Ж

 

 

 

 

скрыть кнопкщелкнутьManagement

 

 

 

агентов

рядовых агентов. О

 

 

о никтприлоне запрещает агентам

 

на кнопкчевиднымиManage-

сделать так, чтобы

îíà áûëà

виднательнольк

менеджерам.

 

 

 

 

 

 

 

системнуюсвойств

1. Запустите

Forms Builder

 

 

ткройте

исх днуюраборму. Откройте

 

 

 

íèþ. Ì

обрачевидное решение

сделать кнопку Management невидимой по

 

молча-

 

 

 

 

 

 

написать к д обработчик

 

так, чтобы эта кнопка ста

 

 

 

 

 

 

видим й

переменную случае,User вы можете даж

 

управлять представлением кнопкивиласьдоступо

толькСамоев жно

 

 

 

когда в

 

 

 

 

регистрируется менеджер. Используя

 

 

 

 

 

 

äëÿ

кнопки Management

системеустановите Visible=No.

 

 

 

 

 

 

 

 

 

 

 

 

ê íåé

 

 

ó÷åò

 

 

м того, какой им нно пользователь

тает с системой.

 

 

 

 

 

 

 

Следующий ш г о ображение

кнопки в случае, если пользовпалитртель является

менеджером.

 

Обратившись

к представлению Session_Roles, можно увидеть, ис-

CD148

ава 12. Обеспечение защиты базы данных

 

 

 

льзуется ли

ль Manager. Если проверка даст положительный рез льтат, кнопк

èñõ äíîé

ормой. еализу

åå â

 

провтдельной ункции на случай,чалесли онà

понадобится нам в дальнейшåì.

 

 

ерку надо выполнить в на

работы

Management должна стать видимой. Эту

2. Выберите раздел Program Units видеобъектном навига оре и

íà êíîï

 

òàê,

чтобы возвращалось значение

Number, и добавьте

код длящелкнитепров

ðêè Ses-

 

е Create. Создайте ункцию назовите ее IsManager. Отре актируйте шаблон

 

sion Roles.

 

 

 

 

 

 

 

 

 

 

FUNCT ON IsManager RETURN Number IS

 

 

 

 

 

BEGINGINnRoles NUMBER;

 

 

 

 

 

 

 

 

 

D CLA

 

 

 

 

 

 

 

 

 

 

 

 

Return nRoles;

 

 

 

 

 

 

 

 

 

 

SELECT Count(Role) INTO nRoles FROM Session_Roles

 

 

 

 

WHERE

Role='MANAGER';

 

 

 

 

 

 

 

 

END;

 

 

 

 

 

 

 

 

 

 

 

END;

 

 

When-New-Form-Instan e исходной

мы надо создать гло

3. В обработчик

 

бальную

переменную, в которой

 

 

áû

ез льтаты выполнения

 

ни , чтобы выяснить, должна ли хранилиськнопк Management быть видимой. Добавьтеункции

 

IsManager. Это позволит использов ть их в дðугих ормах. Проверьте значе-

 

имеющимся

выражениям следующие строки:

 

 

 

 

 

 

 

.IsManager := IsManager();

 

 

 

 

 

 

:GLOBALIF (:G OBAL.IsManager > 0) THEN

 

 

 

 

4.

 

SET_ITEM_PROPERTY('

 

 

 

'

VISIBLE,

 

 

è.сходнуюлируйтеЕслиIF; выипосотабрмулучхранителицазапуститевыSession'процессеBTNункциюMANAGEMENTееRoles.компиляциизмененный,то,',испоENABLEDсообщениельзуякдобработчикаFilePROPERTYоб ошибке,. TRUE);Скпровмпиликото-

 

руйтеСкомпромСо тENDупоминается

 

 

 

 

 

 

 

 

 

 

 

--

 

 

 

åò

 

Поаныпасностиобратитесьизов.кнопкисхтносящиесяНарисднойдляарешение.Managementкработы12ней.ормы6кпокзадачамтнес.имениазанобазойПоидеально,пîáíûуправленияпользэтданныхкно,ìуковобразоронитноателя.орое.скореенемMarвидятвыConneмогутouxKноситпользжетеобраt,, ковскрытькосметитьсяателиорыйерь

любыекAgentнесресвязанСПрите,дств;очкизарегистрировпроверкормыамнемуправльюенияилитсутствуленияManagerормыбезтчеты,

 

 

 

тический х актер.

льз тель, к орый знает имя

ìû Management, ìîæ

 

Назначение привилегий посредством представлений и процедур

CD149

management button is not available

ис. 12.6. Исходная орма, предоставляемая пользователям, не принадлежащим роли

 

Manager

 

 

è

дственно открыть орму. Данный подход предпо

 

изменить URL в брауз

 

лагает, чт г

òåõ ïîð,

å

à

недост

ïîýò ìó ìû î ÷åòû íå óäóò

ткрыты до

 

льзователь не найдет способ определить их. Необх

-

äèìî

ов ть дополнит льную проверкупны,в каждой управляющей орме, чтîáû

гарантировреализть,лобальнычт т лькпокпеременныенепосреджеры

запустить ее.

 

Откройте орму Managementдующийотредактируйтемогут обработчик события When-New- Form-Instan e. Добавьте сле к д:

B

IFDNDXITEEFAULTGIN(:GLOBORM;VAL.UE(0,IsManager'GLOBAL<.1)IsManagerTHEN');

CD150 лава 12. Обеспечение защиты базы данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IF (Not

 

 

orm Su ess) THEN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NDCEPTION WHEN OTHERS THEN

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EXIT

 

 

FORM;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

END;

обработчика

 

 

 

 

 

ляет выражение IF, к то

закрывает орму,

 

ñëè

польз

 

 

 

 

 

 

 

атель не

 

ляе ся менеджером. Однако, чтобы

ïðоедотвратить

 

рийноå

 

çà

â

 

 

 

èå

ñëå

 

явие ого,составчт

ã

 

 

переменная не

 

 

 

 

ì

 

 

 

 

датьОсновз ачение по умолчанию для GLOBAL.IsManager. В составделена,обрабо

 

 

òàê

жершеприсутствуюдст

дв проверки лобальнаяналичие

 

. Привопреденный âûøåтчикнадомож-

но скопировать и поместить

в состав обработчикаошибокаждой ормы, предназначенной

для управления.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

àíèÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных посредством

 

 

 

 

 

 

 

 

 

 

 

Ши рование мощное сре

 

 

 

защиты, но необх димо представлять себе, чт

 

Защитаìî ÷åã

 

нельзя

 

елать

 

 

åã

помощью. В пр ц

 

 

 

 

 

ключевое

значение испîльзуется

äëÿ

 

 

 

 

 

ования обычн г

ò ê òà,

рез льтате

 

ëó÷à-

етсяжно,к дированная

 

äîâ

ельность, ск ывающаяøèñ á õ

ðîâ

 

 

мацию.

 íà ò ÿùåå

 

 

 

 

 

различаюдствдв

 

 

 

 

 

 

ÿ:

 

л зованияиемпо

 

 

 

î

ê þ÷à

ñ

 

 

 

 

льзованипосле

 

двух ключей. При ø

êëþ÷

 

 

äíóþ

îäíîãîð

 

 

 

ֈ,

 

 

 

с мметрично

 

ши ровпреобраздин

òîò æ

 

 

 

 

как приклюдногди

рован

è, òàê

 

 

при дек диров

 

иипринципада ных

 

àíèåприменяется

 

двух ключей,

è

 

 

 

 

 

время

помощью

 

ткрытого ключа, пре

полагает

 

льзование для к

 

 

èðîâанияисподек дирования раз ых ключей. ЕслиØè ðîâäèí êëþ

испоиз

àðû áûë

 

 

 

 

 

 

äëÿ

 

 

 

àíèÿ,

 

 

 

 

 

àíèè,òü èí

àö þ

 

 

 

 

лькмощьюс помощьюприменент

 

 

ключа.

Основным

 

 

 

 

 

 

 

 

симметрич огможнодировк ания яв

 

 

âûñî

àÿ

 

 

 

 

ä

 

 

 

 

 

 

 

. Недопреимуществта ок таког кодиров

èÿ ñëîæ

 

 

п редачи

лючево-

ãпроизвзначен

тельность. К дирование

 

помощью двух ключей устра яет этость

доста ок,

однако

скорость

 

рования

деши ровки ок

ается

значительно нижне. В большинстве

 

 

 

 

 

 

ñòåì äëÿ

 

 

 

 

àíèÿ ïåðå àзываемых

 

 

 

 

применяюляетсядва ключа,

 

 

äëÿøè ðîâания хранрасшимых данныхров

îäèí êëþ÷. ×àñò

 

ши рование двумя ключами

применяется

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

реальныходе сеанса.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

֌

глобальной сети

 

 

 

 

 

 

Защита данных при

 

 

 

 

 

 

 

 

 

 

Начиная с верс и Ora le 9i

 

 

 

 

 

орм ипотчетов ос

 

 

 

 

в основном по

ãëîбальной сетè. Такой подхдоставкпередалькущественно упðощаетуществляетсярабо у приложением, поск льку пользователю нужен о Web-браузе и учетная запись на сервере, при

прох дят множеств

 

 

 

 

 

 

Защита данных п средством ши рования

 

CD151

промежуточных узлов. Принастройкэт м о

 

 

 

 

 

 

 

 

о просто п рехва-

м ему не приходится

 

 

 

 

 

 

сложную

 

 

у каждой м

 

 

 

 

 

. Î

 

î Èí

 

ернет представляет собойвыполнятьткр ую

 

 

 

 

где данные на пути

 

 

 

клиента днаксерверу

этить с общени , пр читать

 

 

 

и дажсеть,из

 

 

их. Беспровтносительашиныые сети

åùå áî

 

 

íèÿ, âûïîлняющегятностьîñÿ â

 

 

данныеой среде. С

 

 

тное решение с

 

 

 

îèò â

 

 

 

àíèè

 

Проблема, связанная

 

ï ðåõâ òом ин орменитьации,

ктуальна для

каждог

п иложлее

увеличивают в ро

 

 

 

 

 

 

 

à.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òàíû,

 

 

соответству

 

п редава мых данных. Т

 

 

 

 

àíèÿ

к ши тандарров ю д вно

 

 

 

 

 

 

 

êèõ

 

 

 

дукдствов для Web-

 

 

 

 

. В большинствспециализир

íèõ

 

 

 

 

 

льзуются сре ания

ñòâ

 

 

ñðå

 

 

а встроены в

 

 

 

 

 

 

Web-браузеры. Посквырабольку системы

 

. Однако,

 

 

поддержки SSL

строеныеровбоëüшинствразрабоWeb-браузеровиспо

 

 

â

 

 

ющиен обх димы многим, нек

бовсновныек мпании

 

 

 

уются на созданиишик ров

 

 

SSL (se ure so kets layer),

ïåðâ

ֈ

 

íî

 

 

 

танные к мпанией Nets ape.ммерчеСдств-

сообщениеспространяетсяпомощью

ткрыт

о ключа,

 

 

÷åãî

 

 

может свободно переда-

äëÿ

 

 

î, ÷ò

 

 

 

скон игурировонать SSL, надо получить ци ровой

 

åð

è èêàò. SSL

использу

 

 

вобых де сеанса ключи,

доставляемые посредств м ин рас еровуктуры

 

-

крытого

 

ключа (publi -key infrastru ture

 

 

 

PKI). Основная особенность

PKI ñ ñò

èò

 

 

â

 

 

 

 

свободно, а закрытый

 

 

 

 

 

â

 

 

 

 

. Web-браузер ши рует

â

 

ì, ÷ò

 

 

 

 

й используются дв

ключа

 

открытый и закрытый. С помощью

îдного

èç íèõ

данные ши руются, а другой применяется для расши ровки. Открытый ключ

ваться по сети. асши р

 

 

àòü

îã ñìîæ

 

 

держитсяьк

т, секретеоно

 

доступ

 

секретному

êëþ÷à. Îíè æ

 

ñëó

для и енти икациипослек мпании или по

 

 

закрытыйов ля, владеющего

ñåðâ

ó,

хранящемуся. Серти öèèêæàровыеõ äится приобретать в

 

 

 

íûé

специализирóþù éñÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

íà

 

 

 

 

åã. Ê

 

æ

 

 

 

 

учить секре

 

 

 

 

 

 

 

 

 

÷? Äëÿ

этой цели служа

 

 

 

ñåðâåð

.

àê

òû. Ñ

мощью серимеети ик та г нерируклются два

ðîâà ü

серти деятельностиик амосто

òü

 

 

 

 

времяпределахорганизацмпании,к

вы можете

енери-

Åñëè æ

âàì

 

 

 

îáåñï

÷

 

 

 

 

 

 

 

 

Èìåÿ öè ð âîé

серти èятельнок , г надо инсталлиров ть на Web-сервере. Конкре ные

на подеробной

 

 

 

 

 

 

 

 

(â íàñò ÿùåå

 

 

 

 

крупнейшей

 

льзних является Verisign).

в строк

 

адреса про ок л httpsсекретность, передав емые данн

ò

е ши руются авт онм и

 

дейст ия,

выпнадолняемые в проц ссе инсталляции,

 

 

 

 

 

ерационной сг стемы

ïêè

всех папок, нах дящихся

 

åå

 

 

 

 

 

е, подлежазависят

 

 

 

 

 

 

анию. Затем айлы

ботает в беспр в

 

 

сетиустановки-нибудь перехватит

ткрытый

ключ или заков

 

-

ñåðâера. Инструкции по

 

 

 

 

 

 

азработаны для

 

сех п пулярных серверов.

гурационныев данные,реносятсяне сможет расши ровазанть сообщение.

Это можно сделать тдиролько

Обычно созда

 

 

 

новая папк

 

ñåðâ

 

у сообщается о

 

ì, ÷ò

 

все данные èç ýòîé

 

 

 

 

 

 

 

 

 

айлы Ora leAS. Пользовсоставтель отк ывает шиисх днуюров

îðìó, óê

àÿ

ïрилож ния пå

 

 

 

 

â ýò

ïàïê è

 

орректируются Appli ationPath и к

 

 

чески. Описанный пр цесс

 

 

 

ïîê

 

 

íà

рис. 12 7. Даже если польз

азывтель

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CD152 лава 12. Обеспечение защиты базы данных

сервер

Сертифицирующая организация

сертификат Цифровой

 

 

 

 

 

 

 

 

 

 

 

сервера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Открытый ключ

 

 

База данных

 

 

 

 

 

 

 

 

 

 

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ключ

 

 

 

 

 

 

 

Закрытый ключ

 

 

 

 

 

 

 

Клиентская

 

Открытый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зашифрованные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ключа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

открытого

 

 

 

в баздействительно

 

 

 

 

 

 

 

 

 

 

 

 

 

дельныхю двух ключейданных

 

 

 

 

 

 

Шиис. 12.7ров. Ши аниерованиеотс помощ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные

 

 

 

 

 

 

Данные,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

помощью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В большинств

 

случаев контро

äî ò

 

 

льзуется

 

äëÿ

 

ого, чтобы позволить

èç

 

 

 

 

 

 

 

 

 

лекать данны

èç áàçû

 

 

зменять их то

испотем, к о

 

 

 

 

 

 

имеет на это пра-

 

https://server

с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные, расшифрованные

 

 

 

себе, что произойдет, если злоумышленнильку удастся

 

хитить айлы с ин ормацией

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с помощью закрытого ключа,

 

â . Однак иногда прихо

 

òñÿ

 

дусмупатривать дополнительную защиту. Представь

 

заказах. Затратив определенные

усилия, он сможет

прочитать ин рмацию

узнать

номер платежных карт потребпрелей. В Кали орнии

 

 

находящегося на сервере

 

 

 

 

 

 

 

ует закон, предписываю

ùèé

 

вещать

 

подобных с

уац ях всех потреб телей (вскоре подобные законы

 

 

 

кодиров ть все криòè÷åñê

важные

нные, например, но

 

платежных

лак тельно, иде ти ик

 

 

 

 

номера

 

т.д. Подобнà ìåðà

 

 

инстру

ерие к к мпании.

 

 

òíûå àëã

èòìû øè ðîâàíèÿ. С помощью этог

 

 

 

ìî

 

çàê

-

будут ïриняты

 

в других ш

 

тах). Чтобы

 

åñïå÷èòü

 

 

 

 

лнительную защиту,

-

стандаррав на тическирабо у

 

 

 

 

 

 

dbms rypto. Эти данныхправповыситупаюмента

действие при

ров ть д нные пеационныед пакак помещать их в

ó. Î

àê

 

от проц ссжнопр исхîäèò

 

Ora le предоставляет

 

 

åò dbms rypto

äëÿ PL/SQL,

кдоворомерареализованы

íå îì

 

 

 

. Болеетем,ого, администратор

áàçû

 

 

 

 

äîëæ

предоставить вам

ïопробуйте зарегистрировутилитамиться в SQL*Plus следующим образом:

 

 

 

 

 

 

регистрации польз

òåëÿ

как sysdba. Если вы используеэте собственный сервер,

 

Con

 

 

sys/<ñèñò ìíûé ï ðîëü> <èìÿ

ð

ð >

 

 

 

 

 

 

 

 

 

 

Gra

 

Exe ute on dbms rypto to

<поль о т льско _имя>

 

 

 

 

 

 

Dias onne t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sysdba

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соседние файлы в папке Дополнительные главы