Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7663
mspektorenko,

создайте роли БД, схемы с владельцем роли, представления в этих схемах. Добавьте пользователям роли. Создайте "рабочее место" для каждой группы.
25 апр 18, 15:50    [21368312]     Ответить | Цитировать Сообщить модератору
 Re: Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
mspektorenko
Member

Откуда:
Сообщений: 3
Владислав Колосов
mspektorenko,

создайте роли БД, схемы с владельцем роли, представления в этих схемах. Добавьте пользователям роли. Создайте "рабочее место" для каждой группы.


В предложенном Вами варианте и ни какой Always Encrypted не нужно, правильно я понял? Что видит каждый пользователь будет регулироваться представлениями.

Я просто думал может есть какой вариант сделать проще и с использованием Always Encrypted. Может какие-то права на сертификаты или еще что-нибудь. А то так получается для каждой роли свое представление...как-то муторно.
25 апр 18, 22:06    [21369287]     Ответить | Цитировать Сообщить модератору
 Re: Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
mspektorenko
Добрый день!

Разбираюсь с 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", то пользователи видят данные всех зашфрованных полей.

Может кто-нибудь подсказать как правильно огранизовать разграничение прав пользователей для просмотра зашифрованных данных?

Как правильно организовать разграничение прав для просмотра зашифрованных данных? Да точно так же, как для просмотра обычных данных. Always Encrypted создана для защиты от перехвата полномочий от учеток с правами sysadmin. Когда БД лежит в условном "облаке", которому Вы не доверяете нисколько.
25 апр 18, 22:48    [21369385]     Ответить | Цитировать Сообщить модератору
 Re: Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
mspektorenko
Member

Откуда:
Сообщений: 3
Andy_OLAP
mspektorenko
Добрый день!

Разбираюсь с 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", то пользователи видят данные всех зашфрованных полей.

Может кто-нибудь подсказать как правильно огранизовать разграничение прав пользователей для просмотра зашифрованных данных?

Как правильно организовать разграничение прав для просмотра зашифрованных данных? Да точно так же, как для просмотра обычных данных. Always Encrypted создана для защиты от перехвата полномочий от учеток с правами sysadmin. Когда БД лежит в условном "облаке", которому Вы не доверяете нисколько.


А каким образом это может спасти от sysadmin? Я просто попробовал зашифровать сертификатом пользователя, а потом решил проверить видно ли админу данная информация - и у меня все отобразилось красиво без всяких бинарников. Я проверял через студию с опцией Column Encryption Setting = Enabled.

Мои понимания AE было, что существуют разграничения по сертификатам и предоставления доступ к определенным сертификатам. А оказалось что пермишены даются на все мастер ключи разом.
25 апр 18, 23:26    [21369458]     Ответить | Цитировать Сообщить модератору
 Re: Always Encrypted - распеределение прав доступа к шифрованными колонкам по пользователям  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7663
mspektorenko,

в общем-то то, что получено - может быть расшифровано, а что не получено - не может. Самый простой вариант - ограничить доступ к данным на уровне интерфейса приложения по ролям пользователей.
26 апр 18, 12:25    [21370545]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить