|
|
|
про application role
|
|||
|---|---|---|---|
|
#18+
Подскажите, pls. В приложении пользователь начинает работу с доступом только к одной таблице и процедуре, которая проверит его пароль. Если все ОК, приложение включит sp_setapprole с доступом ко всем нужным таблицам/процедурам. И не из приложения, а, например, из QA, пользователь ничего не получит. Но ведь в QA он сам может написать exec sp_setapprole (если знает пароль), и после этого все у него будет. Нельзя ли как-нибудь ему запретить выполнять sp_setapprole, что ли? Или запрятать ее куда-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 17:12:55 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
В чем проблема? Для вызова sp_setapprole необходим пароль, который и необходимо защитить от Пользователя. Рекомендуют (Richard Waymire) хранить его в реестре, запретив доступ к ветке всем, кроме Приложения. Вы можете запретить доступ к Вашей таблице (только через SP), если вы там храните пароль... Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 17:22:14 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
4 jimmers А можно подробнее о "запретив доступ к ветке всем, кроме Приложения." это как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 18:24:51 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
Например так: Создается сервис MyApp, запускается под учетной записью MyAccount. Доступ к ветке реестра запрещается всем, кроме MyAccount. Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 18:27:34 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
2 jimmers Чего-то я не допонял. 1. Защитить ветку реестра можно только в ОС линейки NT/2000/XP. 2. Речь идет о приложении, которое должно работать везде (на всех версиях Win) Противоречие некоторое, или мое скудоумие ? Поясните, пожалуйста, подпробнее. На пальцах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 18:42:21 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
Речь идет о приложении, которое должно работать везде (на всех версиях Win) Простите, я что-то такого условия не вижу. Более того, устанавливать SQL Server на не серверную платформу (т.е. на 9x или NT Workstation/2000 Professional/XP) для production систем, мягко говоря, неправильно. Позволю себе еще высказаться по поводу подхода "зашифровать пароль при помощи ключа, известного только приложению и сохранить в реестре". Пользователь может изучить работу приложения и извлечь ключ... Может точку останова поставить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.08.2002, 18:54:56 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
2 jimmers Цитата: Подскажите, pls. В приложении пользователь начинает работу с доступом только к одной таблице и процедуре, которая проверит его пароль. Если все ОК, приложение включит sp_setapprole с доступом ко всем нужным таблицам/процедурам Теперь вопрос: пользователь что, прямо на сервере работает, или все же использует клиентское приложение? Ответ: Использует приложение. Необязательно на сервере. Вернее, скорее всего НЕ на сервере. Выводы: Клиентское приложение - WINDOWS* программа, которая должна работать на клиентских ПК, на которых, как правило, установлены ОС линейки Win 95/98/ME. Поэтому, вариант с защитой реестра - не пройдет. * WINDOWS программа, а не WWW browser, т.к. у нее достаточно "ума" для подключения sp_setapprole. ЗЫ Увы, я тут развыпендривался, но ничего не могу предложить кроме того, чтобы просто не сообщать пароль пользователю. Если же он его знает - сменить срочно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2002, 13:22:42 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
Уважаемый г-н Jimmy. Касательно проблемы г-жы anna510: можно вызывать sp_setapprole внутри процедуры, проверяющей пароль и, таким образом, не дать Пользователю увидеть пароль AppRole. Об этом я и написал в своем первом ответе. Это обеспечение безопасности хранения пароля средствами SQL Server'a, что есть полный аналог предложенному мной способу с сервисом. Недостаток его -низкое качество кода SQL Server'a в смысле безопасности по отношению к аналогичному коду ОС (что естественно), так что я более доверяю механизмам ОС. Я привел пример наиболее грамотного, на мой взгляд, решения по защите пароля AppRole. Безусловно, г-же anna510 он не подходит, т.к. приложение уже написано. Кроме того, решение с сервисом вовсе не требует работы на сервере - клиентское приложение с любой машины соединяется с сервером, где наш сервис и слушает. Он обеспечивает хранение пароля и соединение с SQL Server'ом. Вот и все. Если пользователь знает пароль AppRole, то он сможет ее активировать, как Вы понимаете... Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2002, 13:45:14 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
А я тут слышал неоднократные жалобы, что внутри процедуры sp_setapprole отказывается работать с ошибкой типа, что требуется ad-hoc запрос, хотя сам, каюсь, не проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2002, 13:52:49 |
|
||
|
про application role
|
|||
|---|---|---|---|
|
#18+
2Dankov Точно так, внутри процедуры exec set_approle не работает. Хочет ad-hoc запрос. А в остальном - согласен с jimmers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2002, 13:59:00 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32044977&tid=1820924]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 407ms |

| 0 / 0 |
