Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Создать пользователя в триггере и войти за него  [new]
lomehorro
Member

Откуда:
Сообщений: 36
Такая задача: нужно создать пользователя в триггере или в функции и затем зайти за него и выполнить определённое действия.
Это вообще возможно сделать? И если да, то как?
29 сен 17, 14:51    [20831896]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Ролг Хупин
Member

Откуда: Оттуда
Сообщений: 1455
lomehorro
Такая задача: нужно создать пользователя в триггере или в функции и затем зайти за него и выполнить определённое действия.
Это вообще возможно сделать? И если да, то как?


хацкер!

зайти за него прямо там же в триггере, сделать действие и тихо вернуться в триггер?
29 сен 17, 14:54    [20831911]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
lomehorro
Member

Откуда:
Сообщений: 36
Ролг Хупин, да) нужно в триггере или в функции какой-нить создать пользователя, наделить его соответствующими правами, выполнить действие и удалить созданного пользователя)
29 сен 17, 15:03    [20831935]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
lomehorro
Member

Откуда:
Сообщений: 36
Ролг Хупин,

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

Знаю, чтоб войти, то нужно написать следующее: psql -U имя_пользователя имя_базы
а как данную тему выполнить с помощью тригера?
29 сен 17, 15:05    [20831945]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
mefman
Member

Откуда:
Сообщений: 1697
Ролг Хупин
lomehorro
Такая задача: нужно создать пользователя в триггере или в функции и затем зайти за него и выполнить определённое действия.
Это вообще возможно сделать? И если да, то как?


хацкер!

зайти за него прямо там же в триггере, сделать действие и тихо вернуться в триггер?

да уж.
МЗТвИ
29 сен 17, 15:06    [20831951]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
queezy relax
Member

Откуда:
Сообщений: 61
lomehorro
Ролг Хупин,

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

Знаю, чтоб войти, то нужно написать следующее: psql -U имя_пользователя имя_базы
а как данную тему выполнить с помощью тригера?


дблинк
29 сен 17, 15:36    [20832051]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Ролг Хупин
Member

Откуда: Оттуда
Сообщений: 1455
lomehorro
Ролг Хупин,

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

Знаю, чтоб войти, то нужно написать следующее: psql -U имя_пользователя имя_базы
а как данную тему выполнить с помощью тригера?



мне имхуется, что если бы вы описали саму задачу, то возможно кто-то мог бы порекомендовать другой путь решения
29 сен 17, 15:57    [20832132]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
lomehorro
Member

Откуда:
Сообщений: 36
Ролг Хупин,

ОС Astra Linux SE

Пользователь с мандатной меткой 2 не может внести данные в таблицу с мандатной меткой 1. А нужно сделать так, чтобы смог. Разработчики из РусБИТех порекомендовали смотреть в сторону тригеров. Вот я и пытаюсь решить эту задачу.
29 сен 17, 16:29    [20832227]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 3361
lomehorro
Ролг Хупин,

ОС Astra Linux SE

Пользователь с мандатной меткой 2 не может внести данные в таблицу с мандатной меткой 1. А нужно сделать так, чтобы смог. Разработчики из РусБИТех порекомендовали смотреть в сторону тригеров. Вот я и пытаюсь решить эту задачу.


Так это вообще не про постгрес вопрос.
Ну и создание пользователя требует superuser прав которым по логике на все ACL положить глубоко.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
29 сен 17, 16:57    [20832314]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Ролг Хупин
Member

Откуда: Оттуда
Сообщений: 1455
lomehorro
Ролг Хупин,

ОС Astra Linux SE

Пользователь с мандатной меткой 2 не может внести данные в таблицу с мандатной меткой 1. А нужно сделать так, чтобы смог. Разработчики из РусБИТех порекомендовали смотреть в сторону тригеров. Вот я и пытаюсь решить эту задачу.


почему "не может"? прав нет?
я не в курсе, что такое это (не при детях будь сказано) "мандатная" метка
29 сен 17, 17:36    [20832374]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Удалитель таблиц
Member

Откуда:
Сообщений: 11
Ролг Хупин
lomehorro
Ролг Хупин,

ОС Astra Linux SE

Пользователь с мандатной меткой 2 не может внести данные в таблицу с мандатной меткой 1. А нужно сделать так, чтобы смог. Разработчики из РусБИТех порекомендовали смотреть в сторону тригеров. Вот я и пытаюсь решить эту задачу.


почему "не может"? прав нет?
я не в курсе, что такое это (не при детях будь сказано) "мандатная" метка



Полагаю речь про Линтер, а не про постргес.
29 сен 17, 17:39    [20832379]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
Ролг Хупин
Member

Откуда: Оттуда
Сообщений: 1455
Удалитель таблиц
Ролг Хупин
пропущено...


почему "не может"? прав нет?
я не в курсе, что такое это (не при детях будь сказано) "мандатная" метка



Полагаю речь про Линтер, а не про постргес.


ну, тогда вопрос снят... только зачем в триггер пытаться всунуть такое....
29 сен 17, 17:50    [20832404]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
big-trot
Member

Откуда: Тверь
Сообщений: 247
lomehorro,

Во первых в ОС Astra Linux SE нельзя создавать пользователей в БД в отрыве от пользователей в ОС, если задействуется мандатный механизм доступа к данным. Обычный пользователь не может создавать пользователей в ОС. Поэтому в вашей постановке задача не имеет решения.

Во вторых. Если пользователь работает в сессии со вторым уровнем секретности, то тем данным которые он создает автоматически присваивается мандатная метка 2. Если вы хотите сделать запись в таблицу с мандатной меткой 1, то необходимо чтобы и текущая сессия имела первый уровень. В соответствии с моделью Белла-Лападулы не возможно создавать данные не соответствующие текущему уровню доступа. А то что вам РусБИТех советует либо вы не поняли друг друга, либо вы наткнулись на такого специалиста.
2 окт 17, 08:31    [20835289]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
lomehorro
Member

Откуда:
Сообщений: 36
big-trot,

Да, я в курсе, что сначала нужно завести пользователя в ОС, а потом уже его импортировать в сам Postgres. Так же в курсе, что его нужно наделить определёнными правами и так же в курсе, что объект, который создал пользователь наследует его текущею метку. Но проблема в том, что объект наследует максимальную метку, даже если метка сессии меньше.
Возможно в самом конфигурационном файле есть настройки, которые позволяют наследовать метку сессии, может при таком раскладе получиться
2 окт 17, 09:20    [20835368]     Ответить | Цитировать Сообщить модератору
 Re: Создать пользователя в триггере и войти за него  [new]
big-trot
Member

Откуда: Тверь
Сообщений: 247
lomehorro
Но проблема в том, что объект наследует максимальную метку, даже если метка сессии меньше.


Объект не наследует метку. Объекту присваивается метка, которая соответствует уровню сессии в которой он создан. И если текущая сессия имеет уровень доступа ниже метки объекта, то соответственно доступ к этому объекту будет закрыт. И это правильно.
2 окт 17, 10:35    [20835603]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить