Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Знакомтесь - LBAC и SECADM Label Based Access Control и Security Administrator, который рулит LBAC'ом ID SECADM'a не может совпадать с ID SYSADM Label ассоциируется с пользовательской сессией и строкой данных. Правила сравнения security labels позволяют производить разрешения доступ на уровне строк, колонок, и всяческих их сочетаний. Labels могут состоят из нескольких компонентов. Три типа компонентов - Sets (коллекция элементов в которой порядок не важен) - Arrays (упорядоченый Set, первый элемент важнее второго) - Trees (иерархия, моя любимая тема - иерархическая организация доступа к ресурсам) Используются policy для задания компонент которые составляют каждую label, и правила доступа (правила на чтение и правила на изменение). Если Array, то для получения доступа пользовательская security labеl должна быть больше или эквивалентна security label объекта (строки/колонки/ячейки) Если Set, то компонент пользовательской метки должен содержать компонент объектовой метки. Если Tree, то пользовательская метка должна содержать как минимум один компонент объектовой метки (или предка такого эелемента в иерархии). И вообще - ВНИМАНИЕ! Это отдельная песнь как по своим удивительным возможностям, так и по сложности! Во избежание криков "Куда нафик делись мои данные!!!!!!!" и "Почему все дико тормозит!!!!" необходимо таки выделить и обучить SECADM'a иначе ТРУБА! Щас немного еще накидаю, с примерчиками, если получится. Но тут целая книга - руководство.... Опасная вещь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:32 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
что DBADM, что SECADM - оба не имеют доступа к данным, если они защищены. будь вы самый супер-прочее SYSADM, но если LBAC не дает доступ - данных вам не видать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:34 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
к защищаемой таблице добавляется поле с типом DB2SECURITYLABEL (row level), и/или к каждой колонке SECURED WITH mySecLabel Это поле содержит encoded label что делает сравнение меток очень эффективным. селект этого поля показывает его encoded вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:39 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Ну а теперь подумаем немного, порассуждаем. Родительская таблица DEPARTMENT на ней row level granuality. Дочерняя EMPLOYEE на ней row level granuality. Юзеру надо удалить строку с родительской таблицы, для которой в дочерней есть строка НЕВИДИМАЯ для него. И чего делать? Если разрешить удаление только из родительской - integrity нарушается. Если reject удаление - безопастность нарушается, нельзя пользователю знать, что в родительской естть строка удовлетворяющая условиям. А если вставка строки? В дочернюю? Для которой в родительской есть строка, но НЕВИДИМАЯ? Ну ситуации могут разные быть. На них есть правила поведения LBAC, в доке описано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:46 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
а вот возьмем случАй с Check Constraint. Мне вот надо check constraint на таблицу, а НЕ все строки мне ВИДИМЫ... ну и Primary Key тоже constraint. Тоже правила поведения LBAC на этот случай описаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:48 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Ну вот к примеру мне надо вставить значение, есть уникальный индекс, мое значение противоречит ему, а строка его содержащая мне НЕВИДИМА? Во задача! Вывалить меня по ошибке constraint violation? Дык это же прямое нарушение безопастности!!! Мне знать не положено, есть такое значение или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:51 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ну и наконец оптимизатор и наш любимый ISCAN (index only access). Ну выбрал оптимизатор его. А security label column не входит в состав индекса - оп-па, нарушение безопастности!!!!! И фиг нам по всей морде, а не index only access! Ну и всегда теперича LBAC правила вычисляются до вычисления небезопастных предикатов, типа UDF (которая может хоть по мылу даные отослать наружу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:06 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Не проняло? У меня так мороз по коже, как представлю крики разгневанных пользователей.... Может не смог чего рассказать, но по каким-то мне неведомым причинам много чего почемечно confidential Будем готовить семинары.... Че делать-то... Доку хоть бы публичную... Всем заинтересованным. Да, совсем забыл, на все эти прелести, на сложные ирерархии пользователей, с массивами и вкупе с наборами, с доступом по колонкам и/или строкам, со всеми этими наворотами по отдельности и взятыми вместе, берем всю это круть по созданию сложных полиси доступа, и вешаем поверх всего этого EXEMPTIONS!!!!!!! Вот уж искренне непонимаю - а ЭТО зачем влепили?! И так думать надо, почему у пользователя есть доступ или нету, а тут еще и ЭТО! Ну вывод прост - аналогов нет, и скоро вряд ли будет (mainfraim'щиков просьба не выступать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:14 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ggv Ну вывод прост - аналогов нет, и скоро вряд ли будет (mainfraim'щиков просьба не выступать) да? а ... выглядит как банальный плагиат с Oracle Label Security ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:42 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Yo - судя по тому, что рассказали ораклисты - не выглядит. Вот вы как спец по ораклу сможете на основе доки уточнить ограничения? Технические? Просто вот вчера на скорую руку уже были высказаны некоторые технические ограничения оракл имплементации. По назначению и основным концепсиям выглядит очень похоже. Вполне похоже на плагиат идеи. А по имплементации - нет. Надо бы опытного ораклиста послушать, очень интересно. Тут вопрос сложный. Всегда использовался уровень приложения для организации иурархического доступа. С одной стороны перенос этого в базу позволит упростить прикладной уровень. С другой стороны нет никакой интеграции с Tivoly Directory Server где хранятся учетные записи пользователей. И получается что все-равно придется пользовать авторизацию на уровне приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 09:45 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
там дока охеренно большая, ограничения наверно есть, но чесно говоря лень их просто так выкапывать. 10gR2 вышел буквально пару месяцев назад, там было много изменений, ваш информатор говорил о R2 ? озвучте ограничения оракла которых не ьудет в дб2, я могу глянуть есть ли они в R2. ЗЫ. в оракле эта байда выродилась в Virual Prfivate Database ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 10:46 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
на текущий момент детали реализации конфиденциальны. Так чта.... Надо ждать, когда опубликуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 11:22 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
кстати, вот надыбал ресурсов на почитать, читаю, и вижу, что реализация действительно разная. http://www.databasejournal.com/features/oracle/article.php/10893_3065431_1 Ну вот хотя бы это The label column is in essence a simple NUMBER datatype that stores the values that are decoded by OLS during access mediation to determine if the row is accessible to the user's session. Надо глянуть вот по ссылкам здесь http://www.oracle.com/technology/deploy/security/db_security/htdocs/ols.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 11:36 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
я к тому цитату привел, что в реализации IBM не происходит декодинга для проверки на доступ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 11:38 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ggvя к тому цитату привел, что в реализации IBM не происходит декодинга для проверки на доступ. а что ибм по запаху лабелы определает, нет ? ну тогда те же яйца только в профиль, причем я уверен, что оракл за 7-10 лет развития этой технологии нисколько не отстает от того что еще не выпущено ибм. так что у меня предложение сравнивать с "аналогами которых нет" когда выдадут хотя бы документацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 11:52 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ну по поводу высказывания о сравнении того, что еще не выпущено, это ожидаемое высказывание - я таких тонны начитал по поводу юкона :) А по поводу того, как labels сравниваются - побитовое сравнение. Да, вот пробую найти по поводу колонок в оракле. Ну а про те же яйца - Yo, давайте на инженерном уровне общатся. Если вам пофлеймить - go to cравнение баз данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:11 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ну на техническом пока думаю не получится, без документации это слишком тяжело, но я не вижу принципиальной разницы как сравнивать лабелы, как инты или биты, функциональность от этого не меняется. может вы намекаете на скорость ? ну так там еще десяток аспектов которые повлияют на скорость, прием так, что методом сравнения просто принебречь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:18 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
Yo - ну я больше на различие в имплементации напирал. Но сравнивать действительно лучше после выхода - все еще может много раз переменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:19 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
пока не нашел ничего в OLS про защиту колонок. Ну и соответсвенно про совместное использование защиты колонок и строк. Кстати, защита всех колонок таблицы эквивалентна защите label'ой всей таблицы. Пока продолжаю чтение. Блин, про XML писать надо - рука не подымается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:25 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
но у оракл дополнительная колонка с security label управляется автоматом - оракл сам ее создает. в db2 ее надо включать в create table. И для колонки тоже, щас примерчик, ну что-то типа Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:33 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
вот интересный материал по OLS http://www.lc.leidenuniv.nl/awcourse/oracle/network.920/a96578/toc.htm и VPD это не то, во что "выродился" OLS. Там в архитектурной части поясняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 12:51 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
да был неправ Oracle Label Security leverages the Oracle Virtual Private Database API to bind security policies to specified database objects. ЗЫ. а чего такую старую доку читаешь, в 10gR2 многое в эту байду добавили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:02 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ну дайте ссылок на новую, я что нагуглил, то и читаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:07 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
ggvну дайте ссылок на новую, я что нагуглил, то и читаю вот вроде https://dpt-info.u-strasbg.fr/doc/oracle/nav/portal_booklist.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:13 |
|
||
|
Viper Security
|
|||
|---|---|---|---|
|
#18+
к стате вот чего то на тему колонок https://dpt-info.u-strasbg.fr/doc/oracle/network.102/b14267/worklabel.htm#sthref306 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2005, 13:16 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=33448748&tid=1605611]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 413ms |

| 0 / 0 |
