powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Отдельные права на объекты для группы пользователей в БД
6 сообщений из 6, страница 1 из 1
Отдельные права на объекты для группы пользователей в БД
    #36016378
Zap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASE 12.5.3

Доброго времени суток. Подскажите плз, вдруг кто-то сталкивался с подобным.

Задача:
Есть группа пользователей, которой очень нужно работать на сервере в определенной БД.

Группа пользователей должна иметь возможность создавать, править, удалять: таблички, процедуры, вьюшки.
Также должны быть права delete, insert, select, update на обьекты
Также должны быть права execute на процедуры
Обьектов достаточно много и они будут часто подвергаться модификации.

Т.е. чтобы группа пользователей могла самостоятельно создавать обьекты, работать с ними и сама удалять при необходимости, не прибегая к помощи администратора сервера.

Причем очень желательно чтобы все члены группы имели одинаковые права и предусмотреть возможность выдавать и забирать права не для каждого члена группы отдельно, а для всей группы в целом.

Вариант №1:
Выдать роль sa.
---
Не очень хороший способ.


Вариант №2:
Создать группу в БД, поместить всех пользователей в группу, выдать привелегии для группы чтобы все ее члены могли создавать таблички, процедуры, вьюшки.
---
Казалось бы вот он выход, но в БД все обьекты именуются dbo.***. И много где в функционале прописано жестко обращение в виде dbo.***.
При создании пользователем vova процедуры GetInfo она будет именоваться уже vova.GetInfo
При создании пользователем petr процедуры GetTime она будет именоваться уже petr.GetTime
Т.е. owner у каждого обьекта будет свой.
Причем процедуры друг друга к примеру они править уже не смогут.
Есть еще ньансы такого способа.
Это будет каша просто.
Вариант не очень хороший.


Вариант №3:
Создать в БД универсального пользователя, к примеру pit и выдать ему права на создание табличек, процедур, вьюшек. Отдать пользователя группе и пусть все под ним работают.
---
Вариант вроде неплохой, не будет каши, owner у всех обьектов будет один. (pit.***)
Но есть минус в том что если вылезет какой-то бок по причине этого пользователя, то неизвестно кого вешать нужно будет.


Вариант №4:
Зарезать все права пользователям на сервере, и создавать, править, удалять по требованию пользователей системным администратором.
---
Вариант отличный. Но вероятность его осуществить очень мала (см. Задача.).


Кто с подобным сталкивался? Что можете посоветовать?
Я больше всего склоняюсь к варианту №3 , а еще больше к варианту №4 .
...
Рейтинг: 0 / 0
Отдельные права на объекты для группы пользователей в БД
    #36016540
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, что пользователи - это сторонние девелоперы, которые что-то пишут вокруг основной бд. Может завести отдельную БД под сервером, дать им в это бд максимальные права, а в основной бд выдать толькл необходиме гранты на select, insert, execute.
...
Рейтинг: 0 / 0
Отдельные права на объекты для группы пользователей в БД
    #36016550
MichaelTim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вариант №5
У юзеров есть свой сервер БД.
на котором база. идентичная боевой. По структуре и данным (например еженощно поднимаемая).
Там у них у всех (кому надо) права са - правят что хотят.
после тестирования задача сводится к варианту №4 - их изменения ддл переносят системные администраторы
...
Рейтинг: 0 / 0
Отдельные права на объекты для группы пользователей в БД
    #36016609
Zap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_old
Была попытка попоробовать так, но вариант не подошел.

MichaelTim
Вариант№5 уже работает.
Есть один отдельный сервер с репликацией с боевого, есть другой сервер без репликации, на обоих производятся изменения, затем системные администраторы переносят изменения на боевой.
По идее этим пользователям права на боевом сервере не нужны, но поставлена задача, и ее нужно реализовать.
...
Рейтинг: 0 / 0
Отдельные права на объекты для группы пользователей в БД
    #36016709
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант #6:
SA создает для этих юзеров специальную базу данных.
Всех юзеров-деволоперов добавляет в базу командой
Код: plaintext
1.
  sp_addalias newuser, dbo
  go
Только учти что если юзер добавлен в базу (через sp_adduser) то "самостоятельный" юзер имеет приоритет над алиасом. Поэтому чтобы алиасы работали, юзеров в базу добавлять нельзя.
...
Рейтинг: 0 / 0
Отдельные права на объекты для группы пользователей в БД
    #36023135
Zap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl , спасибо за совет.
Алиас и не создастся если в текущей БД уже есть пользователь (добавленный через sp_adduser), для которого этот алиас и создается.

Было принято следующее решение:

В БД создан универсальный юзер (к примеру pit ).
Созданы алиасы для возможности работы в БД пользователями от имени этого юзера:

sp_addalias user1, pit
go
sp_addalias user2, pit
go
...
sp_addalias userN, pit
go

Итого:
Каждый пользователь будет работать используя свой логин и пароль на сервере.
Пользователи могут совместно использовать одни и те же обьекты, у всех будут одинаковые права. (owner объектов будет pit , и права выданные этому пользователю смогую использовать остальные все пользователи работающие от его имени.)

Всем спасибо.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Отдельные права на объекты для группы пользователей в БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]