powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Дать права на несуществующую таблицу
6 сообщений из 6, страница 1 из 1
Дать права на несуществующую таблицу
    #39961953
shevcha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка вот:
Есть таблица (FRSInventory_Fact), с которой девелоперы постоянно работают. И уничтожают её периодически (им так нужно). Есть другой юзер/схема (с именем IST7621), которому нужен доступ к этой таблице. Я, как ДБА, даю доступ, всё хорошо, потом девелоперы удаляют и пересоздают таблицу и все права пропадают и их надо переназначать по новой.
Это тикет, время на обработку и всё прочее. Девелоперы хотят быстрее.
Есть два варинта:
1. Просто дать доступ на все объекты в схеме, включая таблицу. Плохой вариант, т.к. юзер будет видеть всё, что не очень хорошо.
2. Я создал вот такую процедуру, и дал девелоперам (по имени guest_proserveit) execute right на эту процедуру:
CREATE PROCEDURE edw.IST7621Access
AS

GRANT Select ON OBJECT::[edw].[FRSInventory_Fact] TO IST7621;
GO
-- End of PROCEDURE
Потом команда:
GRANT EXECUTE ON OBJECT::edw.IST7621Access TO guest_proserveit
GO
Ошибок при создании не было.
Но когда девелоперы попробовали запустить после пересоздании таблицы, то ничего не получилось. Выскакивает ошибка о нехватке доступа

Идеи?
Спасибо
...
Рейтинг: 0 / 0
Дать права на несуществующую таблицу
    #39961954
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shevcha,

with execute as owner.

А вообще, по рукам таким разработчикам, и права отобрать.
...
Рейтинг: 0 / 0
Дать права на несуществующую таблицу
    #39962048
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shevcha
Задачка вот:
Есть таблица (FRSInventory_Fact), с которой девелоперы постоянно работают. И уничтожают её периодически (им так нужно). Есть другой юзер/схема (с именем IST7621), которому нужен доступ к этой таблице. Я, как ДБА, даю доступ, всё хорошо, потом девелоперы удаляют и пересоздают таблицу и все права пропадают и их надо переназначать по новой.
Это тикет, время на обработку и всё прочее. Девелоперы хотят быстрее.

Идеи?
Спасибо


DDL trigger

пример
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
-- prepare objects 
create login test_user with password='A2qwerty'
go
create database testdb
go
use testdb
go
create user [test_user] for login [test_user]
go
create table test_table (i int)
go
grant select,insert,delete on test_table to test_user 
go

-- check effective permissions
exec sp_helprotect test_table 
go

-- create db trigger 
CREATE TRIGGER grant_perms
ON DATABASE   
FOR CREATE_TABLE   
AS   
  
	if EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]','nvarchar(128)') = N'test_table'
	 begin
  		grant select,insert,delete on test_table to test_user 
		PRINT 'Permissions granted.'  
	end
go

-- test the trigger 
drop table test_table 
go
create table test_table (i int)
go

-- check effective permissions
exec sp_helprotect 'test_table'
go

/*--cleanup
use master
go
drop database testdb
go
drop login test_user
go
*/

...
Рейтинг: 0 / 0
Дать права на несуществующую таблицу
    #39962142
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shevcha,

если можете повлиять на техпроцесс, то попробуйте, как сисадмин. Разработчики на продуктиве не должны иметь прав на изменение/удаление объектов, пусть занимаются отладкой на локальных базах, Developer редакцию сервера давно раздают бесплатно.
...
Рейтинг: 0 / 0
Дать права на несуществующую таблицу
    #39962489
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чего вы мучаетесь?
Создайте синоним к таблице, и дайте стороннему юзеру грант на select (ну или чего там до кучи) к этому синониму.
...
Рейтинг: 0 / 0
Дать права на несуществующую таблицу
    #39963611
shevcha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь.
Использовал вот этот подход - with execute as owner.
Заработало.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Дать права на несуществующую таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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