Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Есть БД (проектируется), необходимо продумать систему защиты БД. Вопрос номер один! Надо ли ее продумывать на уровне проектирования или лучше это сделать только на хранимых процедурах SQL и средствами я зыка программирования. В ней будет огромное количество записей и пользователей. Вопрос номер два! Как лучше всего продумать архивацию на уровне проктирования, поскольку часть записей в сокором времени будет не особо используема, но может понадобиться (примерно раз в 5 месяцев :)). Как лучше продумать систему архивации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 13:26 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
1. Защита разная бывает. Кому-то достаточно гранты на роли раздать, а кому на уровне строк защита нужна. Вам какая нужна, поподробнее задачу опишите. Но на уровне клиентского приложения не стоит выстраивать защиту, да и выстраивать защиту и от ДБА тоже не надо (нужен компромисс) 2. Это уже назывеется хранилище данных, в эту сторону и копайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 13:42 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
bas1. Защита разная бывает. Кому-то достаточно гранты на роли раздать, а кому на уровне строк защита нужна. Вам какая нужна, поподробнее задачу опишите. Но на уровне клиентского приложения не стоит выстраивать защиту, да и выстраивать защиту и от ДБА тоже не надо (нужен компромисс) 2. Это уже назывеется хранилище данных, в эту сторону и копайте. Есть организация и в ней будет установлена будущая БД, пользоваться ей будут все от самых младших и заканчивая директором. Соответсвенно данные им тоже разные будут нужны. Вот и надо продумать разгарничение доступа. Вопрос как лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 13:46 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Т.е. все от самых младших и заканчивая директором будут администрировать БД и писать SQL запросы? Не устанавливайте пользователям инструменты доступа кроме клиентских библтотек, используемых приложениями. Определитесь с задачами и под каждую конкретную задачу пишите приложение для доступа к данным - web-приложение, или клиент-сервер, или это таже может быть какая-либо система генерации отчётов - как вам удобнее. Для каждого конкретного приложения определяйте логины или роли базы данных и давайте им соответствующие права доступа. Редко используемые данные храните в отдельной базе. Для архивации, как уже было сказано, проектируйте хранилище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 14:49 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
kryak Надо ли ее продумывать на уровне проектирования или лучше это сделать только на хранимых процедурах SQL и средствами я зыка программирования. Если не заложить способы защиты данных в самой структуре базы данных, то потом не помогут ни SQL процедуры, ни интерфейсная часть. Я строю защиту в двух направлениях: доступ к функциональным режимам системы и доступ к участкам данных. Функциональные режимы обычно отражены в управляющем меню. Отсутствие доступа к режиму означает отсутствие соответствуещей закладки меню у этого пользователя. Он вообще может не знать о том, что такой режим существует. Для ограничения доступа к данным в одном и том же режиме используется классификация данных. Например, имеется древовидный справочник участков работы, назначается доступ пользователей к участкам. В результате этого пользователь может видеть только те данные, которые относятся к его участкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:02 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Защита данных, как я понимаю, сильно зависит от БД. Например, в Oracle могут применяться пользователи, гранты, view, синонимы, доступ к данным через хранимые процедуры и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:12 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Дополнение к моему посту. О доступе к участкам данных - поступайте примерно так, как говорил PVP. Пароль пользователя БД зашивайте в код приложения, а уже под этим пользователем БД создайте таблицу учётных записей пользователей приложения, с паролями. Приложение будет соединяться с БД под логином БД, пользователя будуту идентифицировать по дополнительному паролю. При этом права на доступ к участкам данных тоже реализуются на уровне базы. (Права назначаются по учётным записям пользователя приложения). Очень хорошо, если, например, база данных работает под Windows и имеет встроенную NTLM - аутентификацию пользователя. Тогда в базе не надо хранить дополнительно пароли пользователей приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:37 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
tru55Защита данных, как я понимаю, сильно зависит от БД. Например, в Oracle могут применяться пользователи, гранты, view, синонимы, доступ к данным через хранимые процедуры и т.д. Как бы ни была хорошо организована защита в СУБД, все равно надо готовиться к управлению защитой из интерфейсного модуля. Нужет справочник пользователей, справочник модулей системы, ролей этих пользовалей в каждом модуле, доступа ролей функциям и к данным. Для всего этого надо предусмотреть таблицы. Тогда SQL процедуры или запросы из интерфейского модуля могут управлять доступом. Ввод в таблицы выполняется из интерфейсного модуля. Не хорошо вынуждать пользователя работать со средствами администратора БД. Главбух может добавить пользователя, дать ему роль, допустить до конкретных режимов работы, бухгалтерских счетов и т.д., при этом главбух не имеет понятия, что такое SQL Server. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:40 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
По поводу всего сказанного выше. Защиту планирую постороить так. Создать группы и пользователи в каждой гурппе, раздать им роли в каждой конкретной подсистеме отвести им роли. Было высказано написать для каждой подсистемы свою систему защиты, это просто невозможно поскольку времени на все это нам столько не выделит!!! А по поводу архивации остановился на варианте с двумя БД, в одной храняться испльзуемые данные, а во второй архивные (мало или вообще не используемые). Что по этому всему скажите! Прошу прокомментировать и обосновать. Используемые средства: Среда программирования Delphi 7 Среда проектирования Rational Rose Сервер БД Microsoft SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:49 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
2 PVP Во-первых, смотря какие порядки в фирме. Часто вопросы доступа возлагаются только на программистов (администраторов), а не на "главного бухгалтера". Хотя конечно, для удобства можно создать адимистративный модуль, но часть из перечисленных структур лишняя. Таблица пользователей есть в базе, зачем ее дублировать? Различие прав доступа часто решаются через роли, которых не так много, поэтому вполне могут быть созданы программером. Хотя часть защиты может предсматриваться в структуре (например, фиксация имени пользователя, осущ. ввод / модификацию) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 15:56 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
2tru55 А как вы реализуете, скажем, ситуацию? Пользователь А из отдела 1 должен иметь доступ только к данным отдела 1. Пользователь Б из отдела 2 должен иметь доступ только к данным отдела 2. Пользователь В (руководитель) должен иметь доступ только ко всем данным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:02 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
> Создать группы и пользователи в каждой гурппе, раздать им роли в каждой > конкретной подсистеме отвести им роли. Прочтите хотя бы что-нибудь по обсуждаемой проблеме, статей в Сети просто валом. Каноническая модель включает в себя: 1. Ограничение доступа на уровне пользователей базы данных; 2. Ограничение доступа на уровне интерфейса; 3. Ограничение доступа на уровне групп пользователей, ролей пользователей или пользователей. В конкретной реализации можно использовать любое сочетание из перечисленных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:05 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Va1entin2tru55 А как вы реализуете, скажем, ситуацию? Пользователь А из отдела 1 должен иметь доступ только к данным отдела 1. Пользователь Б из отдела 2 должен иметь доступ только к данным отдела 2. Пользователь В (руководитель) должен иметь доступ только ко всем данным? Элементарно, Ватсон. С помощью fine grained access control (aka row level security) можно еще и не такое реализовать... Это в Оракле, конечно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:05 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
to Va1entin Я же не говорил, что совсем не используются таблицы для ограничения доступа. Конечно, в данном случае будет использоваться таблица M:M (пользователь - отдел). Другое дело, что подобную вещь (если она понадобится позже) легко добавить, используя view ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:08 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
kryakСервер БД Microsoft SQL Server ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:17 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
В общем надо делать так: Юзеры и Роли на SQL сервере это юзеры и группы на реализации. Однозначно: 1) надо создавать Roles и привязывать их к Группам. 2) Создавать Юзверей и прописывать их права на доступ к хранимым процедурам; таблицам и их полям. Написать модуль администратора в котором надо все разбить на "логические разделы", которые и привязать к tables и StoredProc. и т.д. в таком же духе.... всеж не скажешь в трех культурных словах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:19 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Va1entin kryakСервер БД Microsoft SQL Server Спасибо за эту глубокую мысль.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:19 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
2tru55 Вопрос снимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:20 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
Кстати, а кто-нибудь знает независимые утилитки административного типа, чтобы не автоматизировать всю чушь, которую я выше накорябал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:22 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
> 1) надо создавать Roles и привязывать их к Группам. > 2) Создавать Юзверей и прописывать их права на доступ к хранимым процедурам; > таблицам и их полям. Поражает глубина мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:24 |
|
||
|
Система защиты БД
|
|||
|---|---|---|---|
|
#18+
2kryak Эта мысль предназначалась не вам. Дополнительно. Если всё работает в одном домене, удобно будет испльзовать Windows-аутентификацию. (По-моему, Delphi должен это поддерживать, не использовал его для этих целей). Как платформа для клиентского приложения он вполне подойдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 16:30 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32904436&tid=1546062]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 401ms |

| 0 / 0 |
