powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система защиты БД
22 сообщений из 22, страница 1 из 1
Система защиты БД
    #32903940
kryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть БД (проектируется), необходимо продумать систему защиты БД. Вопрос номер один! Надо ли ее продумывать на уровне проектирования или лучше это сделать только на хранимых процедурах SQL и средствами я зыка программирования.

В ней будет огромное количество записей и пользователей. Вопрос номер два!
Как лучше всего продумать архивацию на уровне проктирования, поскольку часть записей в сокором времени будет не особо используема, но может понадобиться (примерно раз в 5 месяцев :)). Как лучше продумать систему архивации.
...
Рейтинг: 0 / 0
Система защиты БД
    #32903976
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Защита разная бывает. Кому-то достаточно гранты на роли раздать, а кому на уровне строк защита нужна. Вам какая нужна, поподробнее задачу опишите. Но на уровне клиентского приложения не стоит выстраивать защиту, да и выстраивать защиту и от ДБА тоже не надо (нужен компромисс)

2. Это уже назывеется хранилище данных, в эту сторону и копайте.
...
Рейтинг: 0 / 0
Система защиты БД
    #32903990
kryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bas1. Защита разная бывает. Кому-то достаточно гранты на роли раздать, а кому на уровне строк защита нужна. Вам какая нужна, поподробнее задачу опишите. Но на уровне клиентского приложения не стоит выстраивать защиту, да и выстраивать защиту и от ДБА тоже не надо (нужен компромисс)

2. Это уже назывеется хранилище данных, в эту сторону и копайте.

Есть организация и в ней будет установлена будущая БД, пользоваться ей будут все от самых младших и заканчивая директором. Соответсвенно данные им тоже разные будут нужны. Вот и надо продумать разгарничение доступа. Вопрос как лучше?
...
Рейтинг: 0 / 0
Система защиты БД
    #32904173
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. все от самых младших и заканчивая директором будут
администрировать БД и писать SQL запросы?

Не устанавливайте пользователям инструменты доступа
кроме клиентских библтотек, используемых приложениями.
Определитесь с задачами и под каждую
конкретную задачу пишите приложение для доступа
к данным - web-приложение, или клиент-сервер,
или это таже может быть какая-либо система
генерации отчётов - как вам удобнее.
Для каждого конкретного приложения определяйте логины
или роли базы данных и давайте им соответствующие
права доступа.

Редко используемые данные храните в отдельной базе.
Для архивации, как уже было сказано, проектируйте хранилище.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904208
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kryak Надо ли ее продумывать на уровне проектирования или лучше это сделать только на хранимых процедурах SQL и средствами я зыка программирования.

Если не заложить способы защиты данных в самой структуре базы данных, то потом не помогут ни SQL процедуры, ни интерфейсная часть.

Я строю защиту в двух направлениях: доступ к функциональным режимам системы и доступ к участкам данных.

Функциональные режимы обычно отражены в управляющем меню. Отсутствие доступа к режиму означает отсутствие соответствуещей закладки меню у этого пользователя. Он вообще может не знать о том, что такой режим существует.

Для ограничения доступа к данным в одном и том же режиме используется классификация данных. Например, имеется древовидный справочник участков работы, назначается доступ пользователей к участкам. В результате этого пользователь может видеть только те данные, которые относятся к его участкам.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904240
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Защита данных, как я понимаю, сильно зависит от БД. Например, в Oracle могут применяться пользователи, гранты, view, синонимы, доступ к данным через хранимые процедуры и т.д.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904325
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дополнение к моему посту.

О доступе к участкам данных -
поступайте примерно так, как говорил PVP.
Пароль пользователя БД зашивайте
в код приложения, а уже под этим
пользователем БД создайте таблицу
учётных записей пользователей приложения, с паролями.
Приложение будет соединяться с БД под
логином БД, пользователя будуту идентифицировать
по дополнительному паролю.
При этом права на доступ к участкам данных
тоже реализуются на уровне базы.
(Права назначаются по учётным записям
пользователя приложения).

Очень хорошо, если, например, база данных
работает под Windows и имеет встроенную
NTLM - аутентификацию пользователя.
Тогда в базе не надо хранить дополнительно
пароли пользователей приложения.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904338
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55Защита данных, как я понимаю, сильно зависит от БД. Например, в Oracle могут применяться пользователи, гранты, view, синонимы, доступ к данным через хранимые процедуры и т.д.

Как бы ни была хорошо организована защита в СУБД, все равно надо готовиться к управлению защитой из интерфейсного модуля. Нужет справочник пользователей, справочник модулей системы, ролей этих пользовалей в каждом модуле, доступа ролей функциям и к данным. Для всего этого надо предусмотреть таблицы. Тогда SQL процедуры или запросы из интерфейского модуля могут управлять доступом.

Ввод в таблицы выполняется из интерфейсного модуля. Не хорошо вынуждать пользователя работать со средствами администратора БД. Главбух может добавить пользователя, дать ему роль, допустить до конкретных режимов работы, бухгалтерских счетов и т.д., при этом главбух не имеет понятия, что такое SQL Server.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904369
kryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу всего сказанного выше.
Защиту планирую постороить так. Создать группы и пользователи в каждой гурппе, раздать им роли в каждой конкретной подсистеме отвести им роли.
Было высказано написать для каждой подсистемы свою систему защиты, это просто невозможно поскольку времени на все это нам столько не выделит!!!

А по поводу архивации остановился на варианте с двумя БД, в одной храняться испльзуемые данные, а во второй архивные (мало или вообще не используемые).

Что по этому всему скажите! Прошу прокомментировать и обосновать.

Используемые средства:
Среда программирования Delphi 7
Среда проектирования Rational Rose
Сервер БД Microsoft SQL Server
...
Рейтинг: 0 / 0
Система защиты БД
    #32904388
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 PVP
Во-первых, смотря какие порядки в фирме. Часто вопросы доступа возлагаются только на программистов (администраторов), а не на "главного бухгалтера". Хотя конечно, для удобства можно создать адимистративный модуль, но часть из перечисленных структур лишняя. Таблица пользователей есть в базе, зачем ее дублировать? Различие прав доступа часто решаются через роли, которых не так много, поэтому вполне могут быть созданы программером. Хотя часть защиты может предсматриваться в структуре (например, фиксация имени пользователя, осущ. ввод / модификацию)
...
Рейтинг: 0 / 0
Система защиты БД
    #32904400
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2tru55

А как вы реализуете, скажем, ситуацию?
Пользователь А из отдела 1 должен
иметь доступ только к данным отдела 1.
Пользователь Б из отдела 2 должен
иметь доступ только к данным отдела 2.
Пользователь В (руководитель) должен
иметь доступ только ко всем данным?
...
Рейтинг: 0 / 0
Система защиты БД
    #32904405
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Создать группы и пользователи в каждой гурппе, раздать им роли в каждой
> конкретной подсистеме отвести им роли.

Прочтите хотя бы что-нибудь по обсуждаемой проблеме, статей в Сети просто валом. Каноническая модель включает в себя:

1. Ограничение доступа на уровне пользователей базы данных;
2. Ограничение доступа на уровне интерфейса;
3. Ограничение доступа на уровне групп пользователей, ролей пользователей или пользователей.

В конкретной реализации можно использовать любое сочетание из перечисленных.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904406
Фотография Vadim_Maximov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Va1entin2tru55

А как вы реализуете, скажем, ситуацию?
Пользователь А из отдела 1 должен
иметь доступ только к данным отдела 1.
Пользователь Б из отдела 2 должен
иметь доступ только к данным отдела 2.
Пользователь В (руководитель) должен
иметь доступ только ко всем данным?
Элементарно, Ватсон. С помощью fine grained access control (aka row level security) можно еще и не такое реализовать...
Это в Оракле, конечно...
...
Рейтинг: 0 / 0
Система защиты БД
    #32904410
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Va1entin
Я же не говорил, что совсем не используются таблицы для ограничения доступа. Конечно, в данном случае будет использоваться таблица M:M (пользователь - отдел). Другое дело, что подобную вещь (если она понадобится позже) легко добавить, используя view
...
Рейтинг: 0 / 0
Система защиты БД
    #32904429
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kryakСервер БД Microsoft SQL Server
...
Рейтинг: 0 / 0
Система защиты БД
    #32904432
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем надо делать так:
Юзеры и Роли на SQL сервере это юзеры и группы на реализации.

Однозначно:
1) надо создавать Roles и привязывать их к Группам.
2) Создавать Юзверей и прописывать их права на доступ к хранимым процедурам; таблицам и их полям.

Написать модуль администратора в котором надо все разбить на "логические разделы", которые и привязать к tables и StoredProc.

и т.д. в таком же духе....
всеж не скажешь в трех культурных словах
...
Рейтинг: 0 / 0
Система защиты БД
    #32904434
kryak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Va1entin kryakСервер БД Microsoft SQL Server

Спасибо за эту глубокую мысль....
...
Рейтинг: 0 / 0
Система защиты БД
    #32904436
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2tru55

Вопрос снимается.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904439
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, а кто-нибудь знает независимые утилитки административного типа, чтобы не автоматизировать всю чушь, которую я выше накорябал.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904445
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1) надо создавать Roles и привязывать их к Группам.
> 2) Создавать Юзверей и прописывать их права на доступ к хранимым процедурам;
> таблицам и их полям.

Поражает глубина мысли.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904452
Фотография Va1entin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2kryak
Эта мысль предназначалась не вам.

Дополнительно.
Если всё работает в одном домене,
удобно будет испльзовать Windows-аутентификацию.
(По-моему, Delphi должен это поддерживать,
не использовал его для этих целей).
Как платформа для клиентского приложения
он вполне подойдёт.
...
Рейтинг: 0 / 0
Система защиты БД
    #32904652
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема закрыта, все вовросы решены не за одним литром пива...
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Система защиты БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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