Database role – где права на чтение?

Call
Дата: 19.01.2009 18:23:51
Как Database role ‘ESPAdministration’ не являясь членом db_datareader и не имея прав на чтение пользовательских таблиц, может читать все таблицы базы данных?

sp_helprotect null, ' ESPAdministration’ выдает в конце следующее.
Mr Marmelad
Дата: 19.01.2009 18:42:05
Скорее всего Ваша роль имеет public доступ. А этот доступ по условию имеет READ привелегии. По моему так Коллега. Почитайте тут
Call
Дата: 19.01.2009 19:03:34
Mr Marmelad
Скорее всего Ваша роль имеет public доступ. А этот доступ по условию имеет READ привелегии. По моему так Коллега. Почитайте тут


Нет, не похоже.

Public role в данной базе данных не имеет прав на чтение пользовательских таблиц.
daw
Дата: 19.01.2009 20:09:55

> не имея прав на чтение пользовательских таблиц

в смысле, на каждую конкретную таблицу права не раздавались?
можно ведь просто сделать:
grant select to ESPAdministration
эффект будет именно такой, как и описано - роль получит права на select
на все объекты базы.

Posted via ActualForum NNTP Server 1.4

Glory
Дата: 19.01.2009 20:23:15
Call
Как Database role ‘ESPAdministration’ не являясь членом db_datareader и не имея прав на чтение пользовательских таблиц, может читать все таблицы базы данных?

sp_helprotect null, ' ESPAdministration’ выдает в конце следующее.

Интересно, а как вы проверили, что роль "может читать все таблицы базы данных" ?
Call
Дата: 19.01.2009 20:25:59
daw

> не имея прав на чтение пользовательских таблиц

в смысле, на каждую конкретную таблицу права не раздавались?
можно ведь просто сделать:
grant select to ESPAdministration
эффект будет именно такой, как и описано - роль получит права на select
на все объекты базы.


Вы попали в точку, спасибо.

Интересно, а в Management studio это можно увидеть?
daw
Дата: 19.01.2009 20:31:43

> Интересно, а в Management studio это можно увидеть?

открываете свойства роли - Securables

[Add...] - Specific Objects...
Object Types... - ставим галку в Databases
Browse... - выбираем базу данных, в которой создана роль.

после этого внизу появится список разрешений с галкой
напротив соответствующего разрешения.

Posted via ActualForum NNTP Server 1.4

Call
Дата: 19.01.2009 20:33:38
Glory
Call
Как Database role ‘ESPAdministration’ не являясь членом db_datareader и не имея прав на чтение пользовательских таблиц, может читать все таблицы базы данных?

sp_helprotect null, ' ESPAdministration’ выдает в конце следующее.

Интересно, а как вы проверили, что роль "может читать все таблицы базы данных" ?


Был создан пользователь без прав на чтение, добавлен в ESPAdministration Database role и пользователь получил доступ ко всем таблицам.
Call
Дата: 19.01.2009 20:37:03
daw

> Интересно, а в Management studio это можно увидеть?

открываете свойства роли - Securables

[Add...] - Specific Objects...
Object Types... - ставим галку в Databases
Browse... - выбираем базу данных, в которой создана роль.

после этого внизу появится список разрешений с галкой
напротив соответствующего разрешения.


Хитрость в том, что
grant select to ESPAdministration
ничего не меняет во вкладке Securables.
daw
Дата: 19.01.2009 20:40:35

> Хитрость в том, что
>
> grant select to ESPAdministration
>
> ничего не меняет во вкладке Securables.

да, неудобно сделано. надо сделать для роли Refresh
и заново повторить процедуру с выбором Securable.

Posted via ActualForum NNTP Server 1.4