Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Добрый день! Вроде много работал с базами и раньше с доступами пользователей особо не заморачивался, но назрел вопрос целесообразности, правильности способа заведение пользователя и раздачи прав. Пусть есть самописная программа на уровне организации (СУБД SQL), все пользователи заведены в домене , есть учетки в AD. Какой способ авторизации вы используете или считаете верным? 1. SQL авторизация (может быть через общую роль или отдельные логины), то есть заводится отдельный sql логин для каждого пользователя, который может включаться в единственную роль, роли даются разрешения и работа ведётся под роолью, без учета AD. 2. На стороне СУБД заводятся логины как в AD, например company\Pupkin (для каждого пользователя), под них заводится определенная sql роль, в которой прописывается права и пользователи, созданные ранее включаются в эту роль. 3. Создаётся 1-на учетка SQL или в AD (единственная и универсальная для программы), вся работа ведётся под ней, когда пользователь запускает приложение, то авторизация для всех пользователей происходит под этой учеткой автоматически из программы. 4. Создается 1-н логин или роль (единственный) в базе, а в этот логин или роль на уровне AD прописываются все пользователи (тоесть раздачей прав занимается администратор домена). При этом с токи зрения СУБД есть только один логин, а состав пользователей, кто в ходит в этот логин - знает только AD админ. Может я что то забыл или исказил, прошу подсказать, поправить. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 10:57 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed, SQL авторизация на промышленном уровне является небезопасной. Дома что хотите делайте. Требования зависят от целей, нет единого рецепта на все случаи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:20 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов medoed, SQL авторизация на промышленном уровне является небезопасной. Дома что хотите делайте. Требования зависят от целей, нет единого рецепта на все случаи. Я 1-ый способ, если вы о нём не использую давно ! Вы какой способ используете из перечисленных или что то своё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:23 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed, зависит от требований. Например, ваше приложение многофункциональное, на предприятии работает 1000 сотрудников - контактный центр, бухгалтерия, обслуживание клиентов,продажи, склад и тому подобное. В таком случае администрирование производится на уровне AD, т.к. все приёмы-увольнения проводят через определённый процесс. Соответственно, выделяются группы доступа, разграничиваются схемы объектов, создаются роль БД. В случае мелкого бизнеса доступ к базе контролирует не отдел безопасности, а руководитель и админ непосредственно. Плюс простое приложение без ролей. Здесь можно давать персональные разрешения. Микроуправление. Роли БД в любом случае стоит использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:29 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
5. Для приложения создается группа AD, для группы на сервере создается логин (разумеется, с win-аутентификацией), пользователи и роли в нужных базах, пользователи мапятся на логин, и включаются в роли. Для работы в приложении администраторы включают учётку пользователя в соответствующую группу AD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:33 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов medoed, зависит от требований. Например, ваше приложение многофункциональное, на предприятии работает 1000 сотрудников - контактный центр, бухгалтерия, обслуживание клиентов,продажи, склад и тому подобное. В таком случае администрирование производится на уровне AD, т.к. все приёмы-увольнения проводят через определённый процесс. Соответственно, выделяются группы доступа, разграничиваются схемы объектов, создаются роль БД. В случае мелкого бизнеса доступ к базе контролирует не отдел безопасности, а руководитель и админ непосредственно. Плюс простое приложение без ролей. Здесь можно давать персональные разрешения. Микроуправление. Роли БД в любом случае стоит использовать. Ну пусть ближе ко второму случаю. Про роли в БД я с вами согласен полностью, так всегда и делал. Но вопрос , кто должен пользователей включать в эту роль или исключать. Я так понял мы говорим только про windows авторизацию, ок... Получается на уровне AD заводится такая же группа, как и роль и включение/исключение производится только на уровне AD, тогда всем заведует сис админ. Если мы говорим, что windows логины заводятся повторно на сервере субд, тогда включение и исключение в раннее заведённую роль пользователей может делать админ СУБД или даже администратор приложения. Вот в этом и вопрос, доступ к базе новым пользователя кто должен контролировать админ сети или админ субд/приложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:42 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны 5. Для приложения создается группа AD, для группы на сервере создается логин (разумеется, с win-аутентификацией), пользователи и роли в нужных базах, пользователи мапятся на логин, и включаются в роли. Для работы в приложении администраторы включают учётку пользователя в соответствующую группу AD. Это и есть почти 4-ый способ. Получается, без сетевого админа - нового пользователя в систему не завести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 11:43 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed Это и есть почти 4-ый способ. Почти, за исключением того, что в 4 способе речь идет о единственном логине, а в моем - о любом количестве, в зависимости от количества программ. Плюс, поскольку права всё равно назначаются через роль, то этот вариант совместим с вариантом наличия отдельных персональных логинов для отдельных пользователей, включенных в ту же роль, что и учётка группы AD для программы. medoed Получается, без сетевого админа - нового пользователя в систему не завести. Ну, по-хорошему, без какого-либо админа так и должно быть. Или сетевого, или БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 12:02 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны medoed Это и есть почти 4-ый способ. Ну, по-хорошему, без какого-либо админа так и должно быть. Или сетевого, или БД. Получается заведение нового пользователя из приложения вы не рассматриваете вовсе и если админ СУБД не будет иметь доступ к АД, он тоже нового пользователя по стандартной схеме для программы не заведёт!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 12:28 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Все способы хороши для своего применения. Например, у вас есть не win-система, которая должна стучаться к вашему серверу. Или есть админ данного конкретного sql-сервера, который при этом не должен быть админом других sql-серверов. И таких "или" много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 14:02 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed Получается, без сетевого админа - нового пользователя в систему не завести. В виндовые группы пользователя может включать кто угодно, кому выданы соответствующие права. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 14:12 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Minamoto medoed Получается, без сетевого админа - нового пользователя в систему не завести. В виндовые группы пользователя может включать кто угодно, кому выданы соответствующие права. Это да, но судя по прошлому поддерживаемому мной приложению, когда пользователей в него заводили ит-аналитики, через интерфейс - вряд ли этому аналитику дали бы права на AD. Так что такой подход не весьма гибок, имхо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 14:23 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
3 способ. Права пользователям даются внутри приложения, которое работает под своей доменной учеткой. Чтобы не изобретать лисапед можно посмотреть реализацию хотя бы в 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 15:04 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
AndrF 3 способ. Права пользователям даются внутри приложения, которое работает под своей доменной учеткой. Чтобы не изобретать лисапед можно посмотреть реализацию хотя бы в 1С. А как потом на уровне субд понять, кто из пользователей завесил базу например /создал блокировку/поудалял лишнего, если все коннекты под одной учетной записью на уровне субд делаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 15:20 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed, Вы ограничиваете возможности ролей БД, сосредоточились на пользователях. В роль могут входить не только пользователи, но и другие роли, схемы, пользователи без логина. Назначение групп AD - администрирование пользователей и это не эквивалентно ролям БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 17:45 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов В роль могут входить не только пользователи, но и другие роли, схемы ,... какие-то новости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 17:56 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Yasha123, К вечеру голова плохо варит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2019, 18:00 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed AndrF 3 способ. Права пользователям даются внутри приложения, которое работает под своей доменной учеткой. Чтобы не изобретать лисапед можно посмотреть реализацию хотя бы в 1С. А как потом на уровне субд понять, кто из пользователей завесил базу например /создал блокировку/поудалял лишнего, если все коннекты под одной учетной записью на уровне субд делаются? Никак. Это не проблема SQL сервера, а дизайна программы. Представьте себе, что пользователь решил подключится к БД через Студию, минуя Программу. Вот вам и проблемы с безопасностью. И вот это уже Ваш косяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2019, 01:32 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
Idol_111 medoed пропущено... А как потом на уровне субд понять, кто из пользователей завесил базу например /создал блокировку/поудалял лишнего, если все коннекты под одной учетной записью на уровне субд делаются? Никак. Это не проблема SQL сервера, а дизайна программы. Представьте себе, что пользователь решил подключится к БД через Студию, минуя Программу. Вот вам и проблемы с безопасностью. И вот это уже Ваш косяк. Немного не в тему Ваш пример, мне кажется! Если у него не будет собственного логина в базу, то он и через студию к базе не подцепится вовсе! Общий логин для всех пользоватиелей и sql авторизацию - я не рассматриваю вовсе! А если будет логин, но он через студию что то удалит, то при должном аудите в базе - всё будет видно кто что удалил/изменил, вне зависимости от инструментария доступа к БД! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2019, 10:20 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed, похоже Вы потеряли логическую нить. Перечитайте еще раз всю ветвь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 01:35 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
1. Еще можно вспомнить про app_role. 2. А также про искажение логинов/паролей, т.е. юзер вводит логин/пароль, который существует в системе в искаженном виде. Тогда вход через сторонние средства будет сильно затруднен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 10:15 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
medoed Немного не в тему Ваш пример, мне кажется! Если у него не будет собственного логина в базу, то он и через студию к базе не подцепится вовсе! Подобное и не нужно - не дело пользователю работать через SSMS или подобное. Доступ обычного юзера - только через программу. Та же программа, при необходимости, ведет свои логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 15:04 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
AndrF medoed Немного не в тему Ваш пример, мне кажется! Если у него не будет собственного логина в базу, то он и через студию к базе не подцепится вовсе! Подобное и не нужно - не дело пользователю работать через SSMS или подобное. Доступ обычного юзера - только через программу. Та же программа, при необходимости, ведет свои логи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2019, 20:40 |
|
||
|
Заведение новых пользователей в БД, как верно, эффективно?
|
|||
|---|---|---|---|
|
#18+
alexeyvg AndrF пропущено... Подобное и не нужно - не дело пользователю работать через SSMS или подобное. Доступ обычного юзера - только через программу. Та же программа, при необходимости, ведет свои логи. Извечный выбор между безопасностью и функциональностью, ну или сложность разработки взлетает :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2019, 01:09 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39894491&tid=1686862]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
63ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 390ms |

| 0 / 0 |
