Тема: Роль public в MS SQL

На все объекты базы данных дано разрешение для роли public.
Желательно заменить используемую роль public в БД для доступа к данным на собственную, создайте какую-нибудь. Роль public по умолчанию назначается всем пользователям сервера и убрать её нельзя, вследствие этого возникают сложности с ограничением прав доступа к данным.

Re: Роль public в MS SQL

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

А что именно вы делаете? в MSSQL пользователя в БД надо прописать для начала, чтобы он доступ к ней имел.

Re: Роль public в MS SQL

Хотел чтобы пользователь другой базы данных этого сервера имел доступ на чтение только к таблице ПСп. Но при создании пользователя в БД он автоматически получает доступ ко всему.
Я может ошибаюсь, но не вижу сложности в программе (миграции например) заменить GRANT ... TO public на GRANT ... TO tcs_role

Re: Роль public в MS SQL

Хотел чтобы пользователь другой базы данных этого сервера имел доступ на чтение только к таблице ПСп.

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

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

Re: Роль public в MS SQL

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