Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
mspektorenko Member Откуда: Сообщений: 3 |
Добрый день! Разбираюсь с Always Encrypted и возник следующий вопрос: Есть таблица, в которой есть два зашифрованных поля (например) Зарплата и Возраст. Данные по зарплате может видеть финансовый юзер, но не может видеть возраст. Менеджер может видеть возраст, но не может видеть зарплату. Оба пользователя могут изменять другие поля. Что сделал: создал разные COLUMN MASTER KEY и COLUMN ENCRYPTION KEY для шифрования колонок. Раздал права пользователям VIEW ANY COLUMN MASTER KEY DEFINITION и VIEW ANY COLUMN ENCRYPTION KEY DEFINITION. Что получилось: Когда заходишь через Managment Studio с параметром "Column Encryption Setting=Enabled", то пользователи видят данные всех зашфрованных полей. Может кто-нибудь подсказать как правильно огранизовать разграничение прав пользователей для просмотра зашифрованных данных? |
25 апр 18, 12:07 [21367303] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
mspektorenko, создайте роли БД, схемы с владельцем роли, представления в этих схемах. Добавьте пользователям роли. Создайте "рабочее место" для каждой группы. |
25 апр 18, 15:50 [21368312] Ответить | Цитировать Сообщить модератору |
mspektorenko Member Откуда: Сообщений: 3 |
В предложенном Вами варианте и ни какой Always Encrypted не нужно, правильно я понял? Что видит каждый пользователь будет регулироваться представлениями. Я просто думал может есть какой вариант сделать проще и с использованием Always Encrypted. Может какие-то права на сертификаты или еще что-нибудь. А то так получается для каждой роли свое представление...как-то муторно. |
||
25 апр 18, 22:06 [21369287] Ответить | Цитировать Сообщить модератору |
Andy_OLAP Member Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион Сообщений: 3151 |
Как правильно организовать разграничение прав для просмотра зашифрованных данных? Да точно так же, как для просмотра обычных данных. Always Encrypted создана для защиты от перехвата полномочий от учеток с правами sysadmin. Когда БД лежит в условном "облаке", которому Вы не доверяете нисколько. |
||
25 апр 18, 22:48 [21369385] Ответить | Цитировать Сообщить модератору |
mspektorenko Member Откуда: Сообщений: 3 |
А каким образом это может спасти от sysadmin? Я просто попробовал зашифровать сертификатом пользователя, а потом решил проверить видно ли админу данная информация - и у меня все отобразилось красиво без всяких бинарников. Я проверял через студию с опцией Column Encryption Setting = Enabled. Мои понимания AE было, что существуют разграничения по сертификатам и предоставления доступ к определенным сертификатам. А оказалось что пермишены даются на все мастер ключи разом. |
||||
25 апр 18, 23:26 [21369458] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
mspektorenko, в общем-то то, что получено - может быть расшифровано, а что не получено - не может. Самый простой вариант - ограничить доступ к данным на уровне интерфейса приложения по ролям пользователей. |
26 апр 18, 12:25 [21370545] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |