Thread: Скрытие части схемы для определённых ролей

Скрытие части схемы для определённых ролей

From
"Денис"
Date:
Насколько я понимаю, на сегодняшний день нельзя в postgresql (и в
других sql db) скрыть часть схемы для пользователей? То есть, сделать
так, чтобы нельзя было увидеть структуру таблиц, функций, кроме тех
которые явно разрешено?

Вопрос:
почему? есть какая-то принципиальная проблема?

Почему вопрос возник:
Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
числе им является структура базы, схема взаимодействия триггеров и
т.п. Но нужда заставляет дать пользователям доступ прямо в базу к
определённым записям...

Сейчас я рассматриваю варианты решения проблемы с помощью dblink
из другой базы, куда будут подключаться пользователи или
sqlrelay-фильтра. Но как то грустны эти варианты, если честно...

Attachment

Re: Скрытие части схемы для определённых ролей

From
"sad@bankir.ru"
Date:
Денис пишет:
> Насколько я понимаю, на сегодняшний день нельзя в postgresql (и в
> других sql db) скрыть часть схемы для пользователей? То есть, сделать
> так, чтобы нельзя было увидеть структуру таблиц, функций, кроме тех
> которые явно разрешено?
>
> Вопрос:
> почему? есть какая-то принципиальная проблема?
>
потому что в этом нет ни малейшей необходимости.

> Почему вопрос возник:
> Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
> числе им является структура базы, схема взаимодействия триггеров и
> т.п.
Превед проприетарщекам :-) Гыыыыы.


2009/9/11 sad@bankir.ru <sad@bankir.ru>:
> Денис пишет:
>>
>> Насколько я понимаю, на сегодняшний день нельзя в postgresql (и в
>> других sql db) скрыть часть схемы для пользователей? То есть, сделать
>> так, чтобы нельзя было увидеть структуру таблиц, функций, кроме тех
>> которые явно разрешено?
>>
>> Вопрос:
>> почему? есть какая-то принципиальная проблема?
>>
>
> потому что в этом нет ни малейшей необходимости.

Что за чушь? Не засоряйте эфир.

Автору вопроса -- возможно, схемы помогут, разделите объекты БД на
логические группы, поместите их в разные схемы и управляйте правами на
уровне схем. Ключевые слова: CREATE SCHEMA, SET search_path TO ...

>
>> Почему вопрос возник:
>> Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
>> числе им является структура базы, схема взаимодействия триггеров и
>> т.п.
>
> Превед проприетарщекам :-) Гыыыыы.

Что за чушь - 2.

Re: Скрытие части схемы для определённых ролей

From
"Andrey N. Oktyabrski"
Date:
Денис wrote:
> Насколько я понимаю, на сегодняшний день нельзя в postgresql (и в
> других sql db) скрыть часть схемы для пользователей? То есть, сделать
> так, чтобы нельзя было увидеть структуру таблиц, функций, кроме тех
> которые явно разрешено?
>
> Вопрос:
> почему? есть какая-то принципиальная проблема?
Видимо, потому что бороться с промышленным шпионажем техническими
средствами бесполезно. Эффективнее делать это административными мерами.
Например, не пускать козлов в огород (dblink и т.п.).

> Почему вопрос возник:
> Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
> числе им является структура базы, схема взаимодействия триггеров и
> т.п. Но нужда заставляет дать пользователям доступ прямо в базу к
> определённым записям...
>
> Сейчас я рассматриваю варианты решения проблемы с помощью dblink
> из другой базы, куда будут подключаться пользователи или
> sqlrelay-фильтра. Но как то грустны эти варианты, если честно...
Перепишите триггеры на Си :-)

А может сделать простенький API?
И разрешить в нем только то, что разрешено.

--
WBR

2009/9/11 Денис <denis.feklushkin@gmail.com>
Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
числе им является структура базы, схема взаимодействия триггеров и
т.п. Но нужда заставляет дать пользователям доступ прямо в базу к
определённым записям...

On Sun, 13 Sep 2009 12:30:23 +0400
"Andrey N. Oktyabrski" <ano@bestmx.ru> wrote:

> Денис wrote:
> > Насколько я понимаю, на сегодняшний день нельзя в postgresql (и в
> > других sql db) скрыть часть схемы для пользователей? То есть,
> > сделать так, чтобы нельзя было увидеть структуру таблиц, функций,
> > кроме тех которые явно разрешено?
> >
> > Вопрос:
> > почему? есть какая-то принципиальная проблема?
> Видимо, потому что бороться с промышленным шпионажем техническими
> средствами бесполезно. Эффективнее делать это административными
> мерами. Например, не пускать козлов в огород (dblink и т.п.).

Смотря что называть огородом.

Данные ведь ролями прекрасно защищаются, почему бы не защищать и "код"?

Attachment
On Sun, 13 Sep 2009 16:10:39 +0400
dewil <dewil.ru@gmail.com> wrote:

> А может сделать простенький API?И разрешить в нем только то, что
> разрешено.
>

ну да, через dblink тот же.

пробовал - даже простенький API оказывается
не так прост

> --
> WBR
>
> 2009/9/11 Денис <denis.feklushkin@gmail.com>
>
> > Дело в том что у нас есть база, и у нас в ней "ноу–хау" лежат, в том
> > числе им является структура базы, схема взаимодействия триггеров и
> > т.п. Но нужда заставляет дать пользователям доступ прямо в базу к
> > определённым записям...
> >

Attachment