Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Привет.

Подскажите по пермиссиям роли dbcreator. Не понимаую почему у sql login есть пермиссия alter any database, а у windows user ее нет.
Соответственно для sql она раскрывается по covering на базу master, а у windows login такого нет. Может кто знает почему такая разница?

Спасибо.
16 сен 19, 15:05    [21971702]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
hegth
Не понимаую почему у sql login есть пермиссия alter any database, а у windows user ее нет.

потому что первый логин засунут в эту группу, а второй нет

hegth
Соответственно для sql она раскрывается по covering на базу master, а у windows login такого нет. Может кто знает почему такая разница?

какое еще раскрытие и что есть covering?
фигня какая-то.
да, членство в роли dbcreator дает логину alter any database,
но при чем тут "она раскрывается по covering на базу master"?
серверное право или есть, или его нет, при чем тут какая-то база?
16 сен 19, 15:44    [21971741]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
**"первый логин засунут в эту группу" читать как "первый логин засунут в эту роль"
16 сен 19, 15:45    [21971743]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Yasha123
**"первый логин засунут в эту группу" читать как "первый логин засунут в эту роль"


Оба логина с этой ролью, но у windows user нет права "alter any database", а у sql user - есть. Вопрос почему так?
16 сен 19, 15:50    [21971750]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
hegth
Yasha123
**"первый логин засунут в эту группу" читать как "первый логин засунут в эту роль"


Оба логина с этой ролью, но у windows user нет права "alter any database", а у sql user - есть. Вопрос почему так?

ну так виндовый юзер можрет входить в группу, у которой deny alter any database.
или ему самому явно сделали deny alter any database
16 сен 19, 15:53    [21971755]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
exec as login = 'windows_login'

select *
from sys.login_token
where principal_id > 0;

revert;

выполните код, подставив нужный виндовый логин,
увидите, откуда еще он наследует права/запреты
16 сен 19, 15:56    [21971757]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Yasha123
hegth
пропущено...


Оба логина с этой ролью, но у windows user нет права "alter any database", а у sql user - есть. Вопрос почему так?

ну так виндовый юзер можрет входить в группу, у которой deny alter any database.
или ему самому явно сделали deny alter any database


Нет, дело не в членствах и явных запретах. Просто так работае sql server(проверено эксперементами). А почему он так работает инфы найти не могу.
16 сен 19, 15:59    [21971761]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1529
hegth
Yasha123
**"первый логин засунут в эту группу" читать как "первый логин засунут в эту роль"


Оба логина с этой ролью, но у windows user нет права "alter any database", а у sql user - есть. Вопрос почему так?


потому что самому windows user отдельно запрещено "alter any database", вот и всё. Запрет берёт верх над разрешением. или windows user засунули в ещё какую-нибудь группу / роль, у которой запрет на "alter any database"
16 сен 19, 16:04    [21971769]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
hegth
Yasha123
пропущено...

ну так виндовый юзер можрет входить в группу, у которой deny alter any database.
или ему самому явно сделали deny alter any database


Нет, дело не в членствах и явных запретах. Просто так работае sql server(проверено эксперементами). А почему он так работает инфы найти не могу.

вы продолжаете нести фигню.
вот мой код создает виндовый логин,
его засовывает в dbcreator,
затем проверяем права.
все с ними в порядке:
create login [Dev4\Mary] from windows
alter server role dbcreator add member [Dev4\Mary];
exec as login = 'Dev4\Mary'

select system_user, *
from sys.fn_my_permissions(null, 'server')

revert;


К сообщению приложен файл. Размер - 14Kb
16 сен 19, 16:08    [21971776]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
hegth
Yasha123
пропущено...

ну так виндовый юзер можрет входить в группу, у которой deny alter any database.
или ему самому явно сделали deny alter any database


Нет, дело не в членствах и явных запретах. Просто так работае sql server(проверено эксперементами). А почему он так работает инфы найти не могу.

exec as login = 'Windows login'
select *
from sys.login_token
where principal_id > 0;
revert;
288 0x0105000000000005150000008A035856B1986F5B58521245CB0D0000 Window login WINDOWS LOGIN GRANT OR DENY
2 0x02 public SERVER ROLE GRANT OR DENY
9 0x09 dbcreator SERVER ROLE GRANT OR DENY

EXECUTE AS Login = Windows Login';
SELECT * FROM fn_my_permissions(null, 'SERVER')
ORDER BY subentity_name, permission_name ;
REVERT;

server CONNECT SQL
server CREATE ANY DATABASE
server VIEW ANY DATABASE

SQL Login:
EXECUTE AS Login = 'SQL Login';
SELECT * FROM fn_my_permissions(null, 'SERVER')
ORDER BY subentity_name, permission_name ;
REVERT;

server ALTER ANY DATABASE
server CONNECT SQL
server CREATE ANY DATABASE
server VIEW ANY DATABASE
16 сен 19, 16:11    [21971778]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Yasha123
hegth
пропущено...


Нет, дело не в членствах и явных запретах. Просто так работае sql server(проверено эксперементами). А почему он так работает инфы найти не могу.

вы продолжаете нести фигню.
вот мой код создает виндовый логин,
его засовывает в dbcreator,
затем проверяем права.
все с ними в порядке:
create login [Dev4\Mary] from windows
alter server role dbcreator add member [Dev4\Mary];
exec as login = 'Dev4\Mary'

select system_user, *
from sys.fn_my_permissions(null, 'server')

revert;


А теперь создай sql login и сделай тоже самое.
16 сен 19, 16:13    [21971780]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
о да блин, да одинаковые у них права, вот вам скульный логин:
create login dbcreator_login with password = '*****', check_policy = off;
alter server role dbcreator add member dbcreator_login;
exec as login = 'dbcreator_login'

select *
from sys.fn_my_permissions(null, 'server');

revert;

по вашему выхлопу скриптов выходит, что как раз у сиквельного одно право лишнее.
у него и смотрите login_token

К сообщению приложен файл. Размер - 13Kb
16 сен 19, 16:16    [21971785]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Yasha123
hegth
пропущено...


Нет, дело не в членствах и явных запретах. Просто так работае sql server(проверено эксперементами). А почему он так работает инфы найти не могу.

вы продолжаете нести фигню.
вот мой код создает виндовый логин,
его засовывает в dbcreator,
затем проверяем права.
все с ними в порядке:
create login [Dev4\Mary] from windows
alter server role dbcreator add member [Dev4\Mary];
exec as login = 'Dev4\Mary'

select system_user, *
from sys.fn_my_permissions(null, 'server')

revert;

И вас не смущает, что у вас в результате нет пермиссии "Alter any database"?
16 сен 19, 16:16    [21971786]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
hegth
И вас не смущает, что у вас в результате нет пермиссии "Alter any database"?

нет, не смущает.
это как раз то, что у вас лишнее.
выясняйте, откуда оно.
или выдано скульному логину в явном виде,
или выдано еще одной роли, куда он входит
16 сен 19, 16:19    [21971788]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
hegth
Member

Откуда:
Сообщений: 9
Yasha123
hegth
И вас не смущает, что у вас в результате нет пермиссии "Alter any database"?

нет, не смущает.
это как раз то, что у вас лишнее.
выясняйте, откуда оно.
или выдано скульному логину в явном виде,
или выдано еще одной роли, куда он входит


Спс, буду разбираться, судя по сайту майкрософт оно быть должно.

К сообщению приложен файл. Размер - 65Kb
16 сен 19, 16:27    [21971795]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
hegth
буду разбираться, судя по сайту майкрософт оно быть должно.

а оно есть.
только оно какое-то "скрытое".
я хочу сказать, что хотя sys.fn_my_permissions(null, 'server')
не показывает в явном виде alter any database,
право такое у членов роли dbcreator есть.
т.е. члены этой роли спокойно выполняют alter database на любой базе.

есть предположение, что в явном виде право alter any database
появилось, начиная с 2012-ого.
и теперь его можно выдать независимо от роли.
проверить не могу, у меня сейчас нет под рукой младших версий.
но если это так, то это право "привносилось" логину членством в роли,
но т.к. его не было "в явном виде", то fn_my_permissions и не показывает его
17 сен 19, 13:45    [21972516]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите по пермиссиям серверной роли dbcreator.  [new]
Yasha123
Member

Откуда:
Сообщений: 1651
и кстати, вот так можно увидеть,
что ALTER ANY DATABASE и без того есть у DBCREATOR-а:
exec sp_srvrolepermission 'dbcreator';


К сообщению приложен файл. Размер - 10Kb
17 сен 19, 16:30    [21972686]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить