powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Права доступа на уровне строк?
31 сообщений из 31, показаны все 2 страниц
Права доступа на уровне строк?
    #33575009
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно:
1. Какая-нибудь СУБД может обеспечить контроль прав на уровне строк?
2. Кто-нибудь ЭТО пробовал ?
3. Если 1=нет, почему до сих пор ?

IMHO, Mon$te®
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575030
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle, Linter. про другие не знаю. Эта фишка называется "мандатная защита".

http://www.oracle.com/ru/oramag/august2001/index.html?dev_tkyte.html

http://www.relex.ru/rus/products/linter/lin_access.php
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575038
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
более правильная ссылка по Ораклу:
http://www.oracle.com/global/ru/oramag/august2001/dev_tkyte.html
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575043
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати. в IB/FB это реализуется программно, через селективные хранимые процедуры, или самими приложениями. Существуют вариации от очень простых схем до супер-сложных.
Могу добавить только, что при программной реализации схема прав доступа ACL для РСУБД не годится - производительность стремится к нулю при увеличении записей-прав_доступа. Лично я остановился на расширенной стандартной юниксовой схеме (группы, пользователи, флаги доступа owner, group, all).
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575064
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Оракле пробовали и много раз. Не далее как сегодня правил ошибки парней - забыли юзера прописать и он ничего не видел. Управляется легко - проггеру мало что делать надо. Это там называют Тщательный контроль доступа. Есть как минимум с 8 версии, а счас уже 10 в ходу.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575199
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvOracle, Linter. про другие не знаю. Эта фишка называется "мандатная защита". Немного поправлю Диму.
Мандатная модель разграничения доступа реализована только в ЛИНТЕР. У Oracle сделано на логическом уровне, а мандатная защита подразумевает раздачу прав (назначение меток доступа) непосредственно данным, физически.
Модель защиты Oracle проще в администрировании, но она не решает некоторых проблем, AFAIK. Например, понижение секретности данных и всё с этим связанное, SYS видит всё и т.п.
В ЛИНТЕР реализована мандатная модель и доступ разграничивается вплоть до значений атрибутов, права доступа являются неотъемлемой частью самих данных (и субъектов, и объектов). Мандатная модель обеспечивает беспрецедентный уровень защиты, но сложнее в проектировании и администрировании БД.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575237
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
DB2 Viper (ожидается в следующем квартале) имеет именно мандатную защиту, на уровне колонок, на уровне строк, ну и на уровне ячейки, права даются уровню иерархии, в который организованы пользователи/группы.
В бете уже работает, но релиза пока нет
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575282
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> схема прав доступа ACL для РСУБД не годится

Еще как годится. ACL + rwe + контекст, где ACL - исключения.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575284
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvкстати. в IB/FB это реализуется программно, через селективные хранимые процедуры, или самими приложениями.
Хм. Я бы сказал, программно это реализуется почти где угодно. view еще никто не отменял.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575357
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerХм. Я бы сказал, программно это реализуется почти где угодно. view еще никто не отменял.

цена больно высока получается... на каждую строку дернуть функу проверки...
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575435
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм. Это Вы про возврат отфильтрованной выборки из процедур или таки про view? Какой идиот будет строить view на проверяющих функциях?
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575461
luser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это VFP молчит ? В VFP это же Елементарно.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33575986
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ммм...
Программно - не считается потому-что это не СУБД обеспечивает, а проггер.

Итак есть несколько лет в Оракле и судя по посту - работает
Есть в Линтер, правда без подтверждения постом
Вводится в DB2 Viper

Кто применял в Жизни пожалуйста если можно напишите ещё о :
- удобство использования
- скорость при малых списках ACL и при больших, а так же при разных количествах записей в таблицах
- как к этому у вас юзеры относятся

IMHO, Mon$te®
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33576080
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
из того, что прочувствовал на бете Viper
1) удобно, посему как из командной строки :)
2) Overhead небольшой из-за продуманной архитектуры, и хорошо документирован, Так что можно сознательно чего-то выбрать
3) Юзверей небыло, а себя любимого пару раз по началу доступа к данным начисто лишил :)
Очень мощная вещь, отлично документирована, но сложная, и требует выделеного человека, обладающего знаниями. Потому как можно организовывать пользователей/группы в сложные наборы иерархий, легко потерять доступ при одном невнимательном шаге.
И если я не ошибаюсь, проходит российскую сертификацию.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33576209
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterИтак есть несколько лет в Оракле и судя по посту - работает
Работает. Собственно даже применяется в OEBS (правда, в некоторых местах, видимо относительно новых), что показывает работоспособность в больших проектах.

4d_monster - удобство использования
Удобнее, нежели достижение аналогичного результата целиком своими средствами. Поработать, конечно, все равно надо, но использовать стоит.

4d_monster - скорость при малых списках ACL и при больших, а так же при разных количествах записей в таблицах
Хм. Запороть по скорости можно что угодно :) С точки зрения реализации фичи в оракле вопрос по-моему несколько бессмысленен.

Результат - не быстрее чем при отсутствии проверок и не медленнее, чем при аналогичной по качеству реализации руками. Примерно так.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33577237
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4d_monsterЕсть в Линтер, правда без подтверждения постом
Не понял фразу. В ЛИНТЕР мандатная защита появилась около 10 лет назад.
Реально используется на различных объектах. Сертифицирована по второму классу для СВТ, разрешается использвание в защищённых АС вплоть до класса 1А.
Кто применял в Жизни пожалуйста если можно напишите ещё
Про удобство использования уже говорилось - мандатная защита требует аккуратности в проектировании БД и раздаче прав. В остальном - SQL :-)
Доку можно здесь взять:
Описание модели защиты - http://www.relex.ru/lindoc/pdf_file/mod_szi.pdf
Администрирование - http://www.relex.ru/lindoc/pdf_file/admin_szi.pdf
- скорость при малых списках ACL и при больших, а так же при разных количествах записей в таблицахСкорость практически не страдает (3-5%, не более), т.к. всё это зашито в ядре в механизмах доступа.
- как к этому у вас юзеры относятся С пониманием :-)
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33578422
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за ответы

IMHO, Mon$te®
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33578911
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aZm softwarerХм. Я бы сказал, программно это реализуется почти где угодно. view еще никто не отменял.

цена больно высока получается... на каждую строку дернуть функу проверки...
в M-системах (MSM, GTM, M3-LITE, CACHE) это просто по программе
и не накладно по скорости
но - прописать все надо ручками
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33581937
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp kdvOracle, Linter. про другие не знаю. Эта фишка называется "мандатная защита". Немного поправлю Диму.
Мандатная модель разграничения доступа реализована только в ЛИНТЕР. У Oracle сделано на логическом уровне, а мандатная защита подразумевает раздачу прав (назначение меток доступа) непосредственно данным, физически.
Модель защиты Oracle проще в администрировании, но она не решает некоторых проблем, AFAIK. Например, понижение секретности данных и всё с этим связанное, SYS видит всё и т.п.
В ЛИНТЕР реализована мандатная модель и доступ разграничивается вплоть до значений атрибутов, права доступа являются неотъемлемой частью самих данных (и субъектов, и объектов). Мандатная модель обеспечивает беспрецедентный уровень защиты, но сложнее в проектировании и администрировании БД.

В оракле система защиты на метках данных (label security) была реализована еще в 7 версии. То есть почти 15 лет назад.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33582004
Stas Tristan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в MS SQL Server 2005:
http://www.microsoft.com/technet/prodtechnol/sql/2005/multisec.mspx
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33583430
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MX -- ALEX
в M-системах (MSM, GTM, M3-LITE, CACHE) это просто по программе
и не накладно по скорости
но - прописать все надо ручками
Интересно, а как ручками прописать права для каждой строчки таблицы (или что там у вас) в 10^6 строк?

По скорости, при использовании представлений и в других БД не накладно, если правильно построить индексы разумеется. Если раздавать права системно то не знаю, не использовал. Не понимаю зачем оно нужно, если предсатвления легко и просто решают эту проблему.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33583507
MX - ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127 MX -- ALEX
в M-системах (MSM, GTM, M3-LITE, CACHE) это просто по программе
и не накладно по скорости
но - прописать все надо ручками
Интересно, а как ручками прописать права для каждой строчки таблицы (или что там у вас) в 10^6 строк?

у нас на каждой строке автоматом ставится невидимая
невооруженным глазом отметка
кто когда и с какого места ввел эту строку

и например задано условие что править-удалить эту строку
может только тот кто ввел ее первый раз
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33584126
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AIВ оракле система защиты на метках данных (label security) была реализована еще в 7 версии. То есть почти 15 лет назад. Честно говоря я про Trusted версию уже и забыл. Не слышно что-то про неё ничего.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33584371
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127По скорости, при использовании представлений и в других БД не накладно,
Может оказаться накладным - во всяком случае, нужно приложить заметное количество усилий.

Пример: допустим, для нескольких ролей пользователей различается логика раздачи прав на строки одной и той же таблицы (например, начальник видит данные зарплаты по своим сотрудникам, кассир - по состоянию "предназначено к выдаче", а администратор - без ограничений). Если давать права через единственный view, потребуется соорудить в нем условие "или", возможно с подключением разных таблиц в разных случаях, что может оказаться не очень производительным. Если же делать через разные view, теряется возможность нормально использовать для этих пользователей общую ХП.

c127Если раздавать права системно то не знаю, не использовал. Не понимаю зачем оно нужно, если предсатвления легко и просто решают эту проблему.
Чтобы решать легче и проще.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33584437
Один1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stas Tristanв MS SQL Server 2005:
http://www.microsoft.com/technet/prodtechnol/sql/2005/multisec.mspx Это не то.
Цитата
Implementing Row- and Cell-Level Security in Classified Databases Using SQL Server 2005The mechanism we will use to enforce row-level security is SQL Server views . Views allow a predefined query to be presented to a user or application as if it were a table. Also, users can be granted access to a view , but denied access to underlying tables. This prevents the user from bypassing the view and going straight to the base table. We will use a specially constructed view which applies all the necessary logic to enforce row-level security based on labels . PS: ЕМНИП, МС перед выходом Юкона грозилась сделать row-level безопасность в стиле Оракла, да так и не сделала.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33584883
AI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp AIВ оракле система защиты на метках данных (label security) была реализована еще в 7 версии. То есть почти 15 лет назад. Честно говоря я про Trusted версию уже и забыл. Не слышно что-то про неё ничего.

Закончилась на 7.3...

Label security встроена в Enterprise edition с 8.1. С 10.2 можно также шифровать файлы данных.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33585585
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer c127По скорости, при использовании представлений и в других БД не накладно,
Может оказаться накладным - во всяком случае, нужно приложить заметное количество усилий.

Пример: допустим, для нескольких ролей пользователей различается логика раздачи прав на строки одной и той же таблицы (например, начальник видит данные зарплаты по своим сотрудникам, кассир - по состоянию "предназначено к выдаче", а администратор - без ограничений). Если давать права через единственный view, потребуется соорудить в нем условие "или", возможно с подключением разных таблиц в разных случаях, что может оказаться не очень производительным. Если же делать через разные view, теряется возможность нормально использовать для этих пользователей общую ХП.


Можно и без OR, если соединить с подходящей таблицей.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33586475
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Я согласен с тем, что с помощью view можно сделать достаточно хорошее решение. Но не согласен с тем, что это будет так уж легко и ненакладно. Если говорить об оракловой реализации, то физически и получается view, достраиваемый для сеанса на основании зарегистрированных политик. Но с точки зрения разработки и сопровождения сложность резко отличается.

С другой стороны, наверное, можно сконструировать ситуацию, где view даст некий выигрыш в производительности за счет структуры проверок, оптимизированной именно под комбинацию таблиц, а не под таблицы поотдельности.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33587604
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerС другой стороны, наверное, можно сконструировать ситуацию, где view даст некий выигрыш в производительности за счет структуры проверок, оптимизированной именно под комбинацию таблиц, а не под таблицы поотдельности.
А ты не задумывался, насколько легко будет оставить эти view updatable?
Решение от Оракла же заключается в автоматическом добавлении дополнительного условия в класс WHERE любого SQL оператора, обращающегося к контролируемой таблице. View не используются.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33587740
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В реализации с метками доступа вообще всё прозрачно.
...
Рейтинг: 0 / 0
Права доступа на уровне строк?
    #33587928
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton DemidovА ты не задумывался, насколько легко будет оставить эти view updatable?
Если уж на то пошло, не задумывался ли ты, что это далеко не всегда требуется, и обычно легко решается?

Anton DemidovРешение от Оракла же заключается .....
Чукча писатель?
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Права доступа на уровне строк?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]