Для ролі db_denycustomer
я хочу, щоб тільки код стовпця таблиці клієнтів був ВИБІРНИМ, а жоден з інших. Тому я зробив це:
DENY SELECT ON dbo.customer TO db_denycustomer
GRANT SELECT ON dbo.customer (code) TO db_denycustomer
... і це чудово працює. Класно! Але, чому ?
Що я читав у пов’язаних статтях, це те, що дозволи складаються, але DENY
мають перевагу. Навпаки, в моєму випадку здається, що останній "запит" дозволу мав перевагу. Звичайно, якщо я виконую їх у зворотному порядку, останній також DENY
приховує стовпчик коду.
Не могли б ви детальніше розглянути це?
Я також включив за замовчуванням db_datawriter
і db_datareader
ролі для користувача, з яким я тестував.