2015-06-08 5 views
0

Я хочу реализовать контроль доступа на уровне столбца и уровня на данных, хранящихся в моей базе данных MySQL. Я использую NodeJS на своем сервере, каков путь для этого? Я вижу, что SAP Hana позволяет это, но хочет сохранить MySQL.Контроль доступа MYSQL

+0

Стандартный способ - использовать процедуру и вызвать ее из приложения с необходимыми параметрами. – Mihai

ответ

1

Есть три подхода, которые Вы могли бы взять с собой:

  1. ли это в пределах приложения
  2. ли это между приложением и БД, внутри БД прокси
  3. ли это в базе данных

Первый вариант на самом деле не квалифицируется как управление доступом на уровне строк, поскольку логика приложения является ответственной за фильтрацию/маскировку. (Фильтрация - это управление доступом на уровне строк, тогда как маскирование - это уровень ячейки).

Второй вариант, использующий прокси-сервер, является подходом, который все чаще принимается. Есть специализированные решения, такие как:

  1. GreenSQL
  2. Informatica DDM и
  3. Аксиоматика Data Access Filter.

Эти решения обычно перехватывают трафик SQL и изменяют его так, что возвращаются только авторизованные данные. Это называется маскирование динамических данных. Это объясняется немного больше на Wikipedia.

Третий вариант - использовать собственные возможности базы данных. Например, Oracle имеет нечто, называемое Virtual Private Database (VPD), которое позволяет настраивать расширенные возможности фильтрации строк.

В вашем случае (MySQL) есть что-то под названием мелкозернистый контроль доступа (FGAC). Есть замечательная статья по теме here. Google этот термин для большего количества ресурсов.

+0

Дэвид, все эти варианты, кажется, платят и дорогие. Есть ли какие-либо варианты с открытым исходным кодом? – Vineet

+0

Разве MySQL FGAC не свободен? –

+0

Есть еще версия с открытым исходным кодом GreenSQL на [Github] (https://github.com/larskanis/greensql-fw), но кажется довольно старой. Немного информации о статусе. – cdan

 Смежные вопросы

  • Нет связанных вопросов^_^