|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Доброго времени суток! Система : Двухзвенка на Delphi + СУБД PostgreSQL. Требуется обеспечить возможность раздачи прав пользователям(пользователи заходят под своей учетной записью СУБД) определенным лицам. Есть начальники отделов и они хотят сами раздавать права пользователям своего отдела. Естественно что они не должны и не будут раздавать права на вьюшки, процедуры и таблицы. Для них было бы понятнее, если они могли создавать группы пользователей и раздавать им права путем проставления галочек напротив терминов предметной области, типа Просмотр ведомости №123, просмотр справочника А, редактирование справочника Б и т.д. Вот только как это организовать? Если создавать роли и разрешать им включать/исключать пользователей в эти роли, то придется создавать роль на каждое действие, которое требует разграничение доступа(Просмотр ведомости №123, просмотр справочника А, редактирование справочника Б). Вот только ролей получается очень много. Что можете посоветовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2010, 18:49 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
On 14.10.2010 19:49, Лень региться wrote: > Что можете посоветовать? Не маятся дурью и делать своё собственное секьюрити. Права на таблички и процедуры не использовать. Row-wise level access control в том числе делать. Думаю, в итоге он понадобится всё равно. Многие, кто вопросами типа вашего задаётся, заканчивают всё равно тем, что оказывается он нужен. Дело это сложное, но благодарное. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2010, 20:31 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
MasterZiv Права на таблички и процедуры не использовать. Что значит не использовать? Это 2-х звенка, пользователи заходят под учетной записью СУБД. На данный момент создано несколько ролей, которые назначаются учетным записям пользователей и пользователи, даже при очень большом желании(зайдя через SQL менеджер и т.д.) не смогут получить доступ больший чем тот, который дан их ролям. Но возникла необходимость более гибкой раздачи прав. MasterZiv Не маятся дурью и делать своё собственное секьюрити. Заводить собственную таблицу с пользователями и их паролями(хэшами) + свою систему прав (RBAC, ACL и т.д.). А доступ к БД будет иметь только специальная учетная запись? А как пользователи будут получать данные из БД? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2010, 22:08 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Первое, что пришло в голову - все операции с данными делать только через ХП. Доступ на ХП дать всем пользователям, а внутри ХП делать проверку: нечто Код: plaintext
Но как-то слишком сложно получается - на каждый чих писать ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2010, 22:30 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться, а если ограничится небольшим перечнем обобщенных действий - тогда для них создать роли и навестить на виды и ХП очень большой и подробный перечень всех действий будет утомлять начальство ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 09:11 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень регитьсяпользователи заходят под учетной записью СУБД. ... даже при очень большом желании(зайдя через SQL менеджер и т.д.) не смогут получить доступ больший чем тот, который дан их ролям.На такой случай в клиентской программе нашей КБД логины/пароли модифицируются неизвестным пользователям способом и, как следствие, использовать свои логины/пароли при коннекте напрямую к БД они не смогут. Правда, систему прав все равно пришлось реализовать свою, т.к. бизнес-права не могут иметь взаимно однозначного соответствия с правами в СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 11:03 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень регитьсяПервое, что пришло в голову - все операции с данными делать только через ХП....Но как-то слишком сложно получается - на каждый чих писать ХП. нормально... делаете "табличку разграничения прав" - на документы, на операции... структуру под себя... на её изменение хранимую процедуру, к которой доступ даете ток руководителю... вывод, например документов, через хранимку, которая сама проверит можно ли текущему пользователю выводить "эту строку" также и "редактирование справочника Б"... хранимка смотрит в access table, если пользователю нельзя редактировать, то отправаляет error в отличии от прямого доступа к таблицам, в хранимках можно логить действия пользователей... для возможного разбора полетов... ИМХО это не сложно, а скорее более удобно такое тоже делал на PostgreSQL... единственное, если при, так называемом row access, с большим колличество доков, начинает тормозить... надо как-то делить доки на "уровни доступа" и лепить "мандатный доступ"... и в случае необходимости более гибкого варианта применять индивидуально - документ/пользователь ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 11:53 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
On 14.10.2010 23:08, Лень региться wrote: > Что значит не использовать? > Это 2-х звенка, пользователи заходят под учетной записью СУБД. На данный момент > создано несколько ролей, которые назначаются учетным записям пользователей и > пользователи, даже при очень большом желании(зайдя через SQL менеджер и т.д.) не > смогут получить доступ больший чем тот, который дан их ролям. Процедуры используй, и всё. К таблицам доступ вообще не давай. > Заводить собственную таблицу с пользователями и их паролями(хэшами) + свою > систему прав (RBAC, ACL и т.д.). А доступ к БД будет иметь только специальная > учетная запись? А как пользователи будут получать данные из БД? Процедуры используй, и всё. К таблицам доступ вообще не давай. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 12:55 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
On 14.10.2010 23:08, Лень региться wrote: > Права на таблички и процедуры не использовать. = > Что значит не использовать? Ты просто подумай, хватит ли тебе возможностей управления правами на уровне СУБД. Думаю, 80% вероятности, что не хватит. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 12:56 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
MasterZiv, Кифирчик, miksoft Спасибо за советы! Идея с хранимыми процедурами тоже понравилась, но есть 2 НО: 1) Смущает необходимость написания ХП а-ля: sp_get_documents (тут нам надо показать документы) sp_get_documents_user (тут нам надо показать документы + информацию об авторах) sp_get_documents_dept (Документы + информацию об подразделениях) sp_get_documents_tree (документы для вывода дерева на клиенте...пример не самый удачный, ну да ладно: ) sp_get_documents_grid ..... И т.д. То есть это почти одни и теже данные, но либо изменяется набор выходных полей (добавляется наименование или описание присоединенных таблиц) или нужно присоединить другую таблицу и в результате увеличится кол-во записей(ну и добавятся некоторые поля). 2) Допустим на форме(клиентсое приложение) выводится список документов и необходимо реализовать фильтрацию данных(пользователь в полях фильтра вводит значение и данные фильтруются). Без ХП все просто: В приложении динамически генерируется запрос вида Код: plaintext
А как быть с ХП? Писать хранимку на все возможные поля фильтра Код: plaintext
Код: plaintext
Фильтровать данные после хранимки Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 16:38 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
On 15.10.2010 17:38, Лень региться wrote: > 1) Смущает необходимость написания ХП а-ля: > sp_get_documents (тут нам надо показать документы) Не понял, что таки смущает. Что надо писать процедуры ? > 2) > Допустим на форме(клиентсое приложение) выводится список документов и необходимо > реализовать фильтрацию данных(пользователь в полях фильтра вводит значение и > данные фильтруются). Без ХП все просто: > В приложении динамически генерируется запрос вида > > SELECT *FROM vw_docsWHERE doc_authorLIKE 'ива%' AND doc_type_id =*4* > > , в зависимости от заполненных полей фильтра и выполняется на сервере. Ты просто не понимаешь. Без ХП всё ровно так же непросто, как и с ХП. Дело в том, что такие вот запросы в реальности в больших БД тупо не работают. Из всех возможных запросов, которые можно сгенерировать таким образом, работать будут порядка 20%. Остальные работать будут крайне медленно, а это всё равно, что их вообще нет. > А как быть с ХП? Как и без ХП, нужно выделять разумные критерии поиска нужных данных, под них делать индексы и писать запросы. Их будет пять-десять. Все остальные критерии поиска запрещать. Для вариантов с ХП тебе нужно будет ещё реализовать каждый вид поиска в ХП, и всё. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2010, 19:18 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться 1) Смущает необходимость написания ХП а-ля: sp_get_documents (тут нам надо показать документы) sp_get_documents_user (тут нам надо показать документы + информацию об авторах) sp_get_documents_dept (Документы + информацию об подразделениях) sp_get_documents_tree (документы для вывода дерева на клиенте...пример не самый удачный, ну да ладно: ) sp_get_documents_grid ..... И т.д. То есть это почти одни и теже данные, но либо изменяется набор выходных полей (добавляется наименование или описание присоединенных таблиц) или нужно присоединить другую таблицу и в результате увеличится кол-во записей(ну и добавятся некоторые поля). не совсем понял проблемы, для каждой ХП у вас свой возвращаемый набор, равно как и было бы для предствления. Лень регитьсяДопустим на форме(клиентсое приложение) выводится список документов и необходимо реализовать фильтрацию данных(пользователь в полях фильтра вводит значение и данные фильтруются). Без ХП все просто: В приложении динамически генерируется запрос вида Код: plaintext
А как быть с ХП? Писать хранимку на все возможные поля фильтра Код: plaintext
Код: plaintext
Фильтровать данные после хранимки Код: plaintext
не... про select * from view... - забудьте ))) тут надо "оптимизировать" исходя из ситуации.. например, мой случай... у мя все крутилось вокруг таблицы документов, и их статусов (что-то типа docflow) и причем, надо было одновременно в таблицу выводить около 12 статусов... чтоб было видно когра регали, когда/кому отписали, когда исполнили... то есть к основной таблице, около 12 join таблицы status_list и ещё к ним join таблицы status_name чтоб узнать "Названия статусов" и ещё приджойнить таблицу с пользователями которые задали этот статус и кому перенаправили док... в общем это большая жесть, аксес задумывался на минуту уже при 200х документах, собственно почему на PostgreSQL перевел все... а ещё и надо искать Like почти по всем строковым полям.., фильтровать по статусу ("все новые" или "на исполнеии"), по дате самого документа и дате регистрации то есть, ядро сперва джойнило почти весь массив с данными, выбирала диапазоны с подходящими датами и строками... в общем жуть надо было что-то делать... сделал отдельную табличку, для предварительного отсева, назвал её doc_index там был doc_id, последний статус, нужные даты (разбил по int полям), пользователей...и одно поле строку... тип данных что-то с vector связанное, для полнотекстового индекса (туда через пробел пихал все строковые поля по которым надо искать), и на наделал много соответствующих индексов. когда вызывается хранимка на сохранение дока - обновляется этот "всевдо индекс" основной критерий отсева доков - дата регистрации/документа или диапазон и поледний статус... это все выбирается исходя из вашей специфики... у вас возможно это будет "отдел" или "проект" или ещё что-то... исходя из этого, во временную таблицу, выбирал все doc_id которые соответствуют нужным критериям, через int поля таблицы doc_index это делаетс очень быстро если была введена строка - то динамически клеем where str_index like... FullSeachText тоже довольно быстр..... ещё... пользователю по умолчанию выдаем ток 50 документов (что с нормальным поиском вполне хватает), но он может выбрать ещё и 100, и 1000 Далее, надо эту табличку с doc_id заполнить содержимым... куча тех страшных джойнов и тут я понял одну вещь... всего, я могу вывести около 40 полей для одного дока... но зачем пользователю 40 полей, они на экране не поместятся... причем одни поля могут быть нужны одним пользователям, и ненужны другим... тогды ещё одну табличку, где хранятся описания какие поля какому пользователю нужны и в процедуре выдачи дока - образно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
с клиента конечно сложнее передавать условия запроса, много параметров... но, когда для тестирования забил 30тыс доков... был длинный первый запрос пользователя, до 7 сек... а все остальные укладывались до 2 сек... на десктопе можно было ещё быстрее, если учесть, что 95% запросов на документы которые "в работе", а это всего 40...100 последних документов то можно было сделать таблицу "архив", куда все исполненное сбрасывать на "оперативной таблице" быстрый поиск критичен, на архивной - нет, туда обращаются только при разборе полетов, построения отчетов, и посмотреть "как было" можно секционирование делать (на разные таблицы), "за год", или "для отдела", "для проекта" и все это спрятать за процедурой, для клинета это будет незаметно в общем ХП дает очень много возможностей по оптимизации выборки, там можно играться опциями оптимизатора, местами, более "интелектуально" чем это делает он сам... например включить один режим для одного запроса, и после другой для следующего, чтоб добиться максимум производительности ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2010, 11:08 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Кифирчик не совсем понял проблемы, для каждой ХП у вас свой возвращаемый набор, равно как и было бы для предствления. Это я к тому, что по сути одни и те же данные(с незначительными изменениями) в приложении необходимо показывать по разному и порой бывает проще написать необходимый запрос прямо в клиентском приложении,а не городить для каждого случая view или ХП. Пример: Допустим у нас есть таблица, описывающая норматив расхода материала на деталь: НормативДеталь_IDМатериал_IDНорматив_IDКол-во В форме №1 клиентского приложения нам нужно показать следующие поля: Норматив.*, Материал.Наименование, Деталь.Обозначение Позже выяснилось, что во 2-й форме тоже нужно показывать нормы, но для других целей и соответственно набор полей немного изменится: Все поля из первого примера +Наименование Ед.Измерения (Ссылка находится в таблице материалов) +Дополнительные атрибуты материала и детали +еще что-то Придется писать две хп? А можно ведь просто написать эти два запроса прямо в приложении и все. P.S. Я не против использования ХП, пугает необходимость создания их в огромном количестве. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2010, 22:13 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень регитьсяКифирчик не совсем понял проблемы, для каждой ХП у вас свой возвращаемый набор, равно как и было бы для предствления. Это я к тому, что по сути одни и те же данные(с незначительными изменениями) в приложении необходимо показывать по разному и порой бывает проще написать необходимый запрос прямо в клиентском приложении,а не городить для каждого случая view или ХП. Пример: Допустим у нас есть таблица, описывающая норматив расхода материала на деталь: НормативДеталь_IDМатериал_IDНорматив_IDКол-во В форме №1 клиентского приложения нам нужно показать следующие поля: Норматив.*, Материал.Наименование, Деталь.Обозначение Позже выяснилось, что во 2-й форме тоже нужно показывать нормы, но для других целей и соответственно набор полей немного изменится: Все поля из первого примера +Наименование Ед.Измерения (Ссылка находится в таблице материалов) +Дополнительные атрибуты материала и детали +еще что-то Придется писать две хп? А можно ведь просто написать эти два запроса прямо в приложении и все. P.S. Я не против использования ХП, пугает необходимость создания их в огромном количестве. в постгрисе, есть что-то типа табличных типов данных... то есть вы создаете таблицу t1(a,b,c,d) и обозначаете что хранимая процедура должна вернуть данные такого типа... примерно (procedure get_data1(...) as t1 set of records) потом, когда выяснилось, что надо ещё данных преобразовываете таблицу t1 в (a,b,d,c,E) в случае когда надо (a,b,c,d) - обозначаете это во входном параметре процедуры... при этом поле E не надо заполнять в процедуре, оно пустым будет если надо (a,b,d,c,E), то вновь обозначаете это в выходном параметре, и уже дополнительно запрашиваете данные для столбца Е хотя, если вам надо тупо две таблицы обьеденить, и не нужно разделять права на строки, нет напрягов с производительностью - то просто сделайте новое view :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2010, 23:11 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Кифирчик, Большое спасибо Вам за советы. Подскажите пожалуйста как быть с этим: Кифирчик в постгрисе, есть что-то типа табличных типов данных... то есть вы создаете таблицу t1(a,b,c,d) и обозначаете что хранимая процедура должна вернуть данные такого типа... примерно (procedure get_data1(...) as t1 set of records) Это понятно, но допустим мне надо делать выборку номенклатуры. Исходные данные - таблица products Productsidcodenametype Записей в таблице ~ 1KK Нужно обеспечить постраничный вывод записей и возможность задания сортировки пользователем. А так же фильтрацию по полям code, name и типу номенклатуры. Вопрос: как это лучше сделать? 1)Запрос с клиента В формочке клиента, в зависимости от заполненных полей и отмеченных столбцов для сортировки мы формируем запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
2)Самый простой вариант с ХП. Код ХП: Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
-Прощай индексы и вообще максимальная производительность Этот вариант подходит разве что для небольших справочников. 3)Как и писал MasterZiv: MasterZivнужно выделять разумные критерии поиска нужных данных, под них делать индексы и писать запросы. Их будет пять-десять. Все остальные критерии поиска запрещать. Для вариантов с ХП тебе нужно будет ещё реализовать каждый вид поиска в ХП, и всё. Код ХП: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Код: plaintext 1. 2. 3.
+Права доступа можно проверять в ХП, производительность сравнима с 1 вариантом -Теперь даже для самого простого запроса придется городить не хилую функцию. Неужели 3 вариант смотрится разумно? В голове крутится следующая идея с разграничением прав: Для каждой бизнес-операции создаем роль СУБД(в postgresql групповая роль): op_view_products op_create_document op_delete_request_on_support op_view_products_ext и т.д. Даем этим ролям доступ к необходимым объектам БД. Создаем табличку permissionsop_namedescription (Человеко-понятное описание операции) Пишем простенькую программку для раздачи прав, в которой админ(рук. отдела) напротив пользователей проставляет галочки, и при сохранении эти пользователи включаются в выбранные роли(группы) СУБД (op_view_products_ext, op_create_document...) Теперь пользователь, который входит в группу op_view_products_ext может выполнить запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
+Максимальная производительность, уполномоченные пользователи могут раздавать права на бизнес-операции. -Использование ролей СУБД для таких целей? Насколько бредова эта затея? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2010, 12:56 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться Пример: Допустим у нас есть таблица, описывающая норматив расхода материала на деталь: НормативДеталь_IDМатериал_IDНорматив_IDКол-во В форме №1 клиентского приложения нам нужно показать следующие поля: Норматив.*, Материал.Наименование, Деталь.Обозначение Позже выяснилось, что во 2-й форме тоже нужно показывать нормы, но для других целей и соответственно набор полей немного изменится: Все поля из первого примера +Наименование Ед.Измерения (Ссылка находится в таблице материалов) +Дополнительные атрибуты материала и детали +еще что-то Придется писать две хп? А можно ведь просто написать эти два запроса прямо в приложении и все. P.S. Я не против использования ХП, пугает необходимость создания их в огромном количестве. Клиент должен автоматически генерировать эти запросы, а не то замахаешься писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2010, 17:05 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться Неужели 3 вариант смотрится разумно? рас в приведенном примере, не надо доступ раздавать построчно, и нет своей ACL где расписанны права, нет всякого партиционирования - наверно смысла в таком не много просто сделайте представление, и раздайте нужные на него права с помощью ролей Лень регитьсяВ голове крутится следующая идея с разграничением прав: Для каждой бизнес-операции создаем роль СУБД(в postgresql групповая роль): op_view_products op_create_document op_delete_request_on_support op_view_products_ext и т.д. Даем этим ролям доступ к необходимым объектам БД. ... +Максимальная производительность, уполномоченные пользователи могут раздавать права на бизнес-операции. -Использование ролей СУБД для таких целей? Насколько бредова эта затея? если необходимую для вашей задачи "модель" раздачи прав можно уместить в эту табличку, и ограничиться ролями - то почему бы нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2010, 19:15 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Кифирчик просто сделайте представление, и раздайте нужные на него права с помощью ролей Сейчас так и есть, но как в данном случае позволить другим пользователям(например начальникам отделов) самим раздавать права своим сотрудникам? Можно конечно хранить соответствие объектов БД с бизнес-операциями и при предоставлении прав сотруднику на определенную функцию генерировать запрос: Код: plaintext
Кифирчик если необходимую для вашей задачи "модель" раздачи прав можно уместить в эту табличку Ну почему же? Это только разграничение на доступ к объектам БД. Для тех случаев, когда требуется более подробное разграничение прав(например Row-Level Access) создам дополнительные таблицы и буду использовать ХП. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2010, 20:22 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться Сейчас так и есть, но как в данном случае позволить другим пользователям(например начальникам отделов) самим раздавать права своим сотрудникам? сделать для этого процедуру с правами рута, а на её запуск давать разрешение ток роли начальника отделов Лень регитьсяНу почему же? Это только разграничение на доступ к объектам БД. Для тех случаев, когда требуется более подробное разграничение прав(например Row-Level Access) создам дополнительные таблицы и буду использовать ХП. по мне, чем больше унификации, тем более простой и наглядный код, проще с ним в будущем работать, пусть даже если его будет чуть больше. в клиенте везде ток одинаковый вызов ХП, никаких select... можно все вынести в отдельный модуль и не мешать с кодом формы... ХП скрывают структуру базы, и если потом надо будет что-то менять в базе, то в клиенте изменения будут минимальные или вообще без них. права если через роли - то все через роли, если своя система - то вся раздача прав через неё.. ИМХО ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2010, 22:27 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Лень региться то придется создавать роль на каждое действие, которое требует разграничение доступа скажи начальству, что мелкие роли есть в старших СУБД (метки безопасности (Label Security) у Virtual Private Database) Так что либо меняют СУБД на повышенный аппетит, либо делают роли покрупнее - сразу на группу действий. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2010, 12:16 |
|
Раздача прав на объекты СУБД специальным пользователем
|
|||
---|---|---|---|
#18+
Petro123Лень регитьсято придется создавать роль на каждое действие, которое требует разграничение доступаскажи начальству, что мелкие роли есть в старших СУБД(метки безопасности (Label Security) у Virtual Private Database)Так что либо меняют СУБД на повышенный аппетит, либо делают роли покрупнее - сразу на группу действий. Неее... Нам постгрес нравится, что-нибудь придумаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2010, 21:33 |
|
|
start [/forum/topic.php?fid=33&fpage=30&tid=1548196]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 356ms |
total: | 501ms |
0 / 0 |