|
|
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Развлекался тут с правами пользователей SQL сервера и обнаружил странную штуку(с моей точки зрения). При создании нового пользователя он обязательно должен входить в роль PUBLIC. В ней явно разрешен доступ (как минимум на чтение) ко всем объектам бызы данных. Видел я тут топик, что права пользователей к объектам по возможности лучше запрешать. Бобольшому счету логично. И вот нарисовался вопрос. Как создать пользователя который будет иметь доступ в БД только к назначеным хранимым процедурам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 13:53:06 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
Вроде бы роль public не имеет доступа ко всем объектам базы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 13:55:20 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
"Как и большинство систем оперирующих понятием "пользователь", SQLS7 содержит специфическую фиксированную роль баз данных - public. Любой пользователь SQLS7 автоматический становится участником этой роли и будет там состоять, пока его полностью не удалят. Абсолютно все базы SQLS7 имеют у себя эту роль. Назначение этой роли понятно, существует целый ряд операций, которые должны быть доступны абсолютно всем пользователям SQLS7 (печать, оповещения и т.п.). Поскольку все пользователи, группы и роли непременным образом входят в эту роль, добавление этой роли кому бы - то ни было не имеет смысла и посему невозможно. Прелесть роли public в том, что даже не имеющий никаких прав пользователь, подключившись к SQLS7 уже может выполнять операторы или другие задачи, которые не требуют специального разрешения (например, оператор PRINT). Он может видеть содержание системных таблиц и даже выполнять некоторые системные хранимые процедуры, а заодно, для тех баз где этой роли определён Вами некий вариант доступа, он может работать с пользовательскими базами, воспользовавшись учётной записью guest." - это выдержка из Роли Если логин получает доступ к какой то базе, то пользователь в этой базе, которому будет сопоставлен этот логин, автоматом попадёт в роль PUBLIC, причём только этой базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:03:49 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
Встречный вопрос - как можно удалить пользователя неполностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:06:09 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
А что значит удалить пользователя неполностю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:30:24 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
Ну пошутил я - просто там фраза пока его полностью не удалят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:32:27 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
jimmers Ну нескажите :). Например подключившись под новой учетной записью я сразу с мог считать содержимое всех таблиц базы (((. А в моем случае доступ к некоторым таблицам требуется исключить. Александр Гладченко вообщем-то понятно конечно спасибо за выдержку Тогда встречный вопрос если создать свою роль и там явно запретить доступ к нескольким таблицам. Так сработает ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:47:17 |
|
||
|
На правах SQL Servera
|
|||
|---|---|---|---|
|
#18+
2keystop Вы заблуждаетесь - наверняка, где-то ошиблись. То, что роль public может читать многие системные таблицы - факт, но вот пользовательские - не может, без явной выдачи разрешений... Выполните sp_helprotect 'MyTable', где MyTable - имя пользовательской таблицы, которую может опрашивать Ваш логин... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:52:22 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32057495&tid=1819675]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 332ms |

| 0 / 0 |
