Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вопрос по execute as / 14 сообщений из 14, страница 1 из 1
27.05.2019, 10:25
    #39818629
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Добрый день!

Подскажите, пож-та.

Есть 2 БД, в них под dbo создаю таблицы.

Затем в 3 БД создаю процедуру под dbo на select из этих 2 таблиц.
В процедуре прописываю with execute as owner (dbo).

При попытке выполнения процедуры, получаю ошибку ...is not able to access the database... under the current security context".

Когда делаю процедуру with execute as caller - всё ок.

Чего может не хватать?
...
Рейтинг: 0 / 0
27.05.2019, 10:27
    #39818631
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
...
Рейтинг: 0 / 0
27.05.2019, 11:16
    #39818653
Slava_Nik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
учетная запись должна быть во всех базах.
свойство баз даннных DB cross db ownership chaining должно быть включено.
...
Рейтинг: 0 / 0
27.05.2019, 11:25
    #39818662
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Slava_Nik,

Помогло включение данной опции для всех БД

ALTER DATABASE [test] SET TRUSTWORTHY ON;

При этом DB cross db ownership chaining (ALTER DATABASE Database SET DB_CHAINING ON) нигде не указывал.

Это нормально?
...
Рейтинг: 0 / 0
27.05.2019, 11:59
    #39818683
Slava_Nik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Michail A.,
да, нормально.


DB_CHAINING можно не включать тогда
...
Рейтинг: 0 / 0
27.05.2019, 12:02
    #39818686
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Спасибо!
...
Рейтинг: 0 / 0
27.05.2019, 12:35
    #39818722
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Slava_Nikучетная запись должна быть во всех базах.

Не обязательно, достаточно в базах иметь grant connect для guest.
...
Рейтинг: 0 / 0
27.05.2019, 12:59
    #39818744
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Michail A.Slava_Nik,

Помогло включение данной опции для всех БД

ALTER DATABASE [test] SET TRUSTWORTHY ON;

При этом DB cross db ownership chaining (ALTER DATABASE Database SET DB_CHAINING ON) нигде не указывал.

Это нормально?

Для всех баз не обязательно, достаточно для той(тех), где находится процедура с "execute as owner".
...
Рейтинг: 0 / 0
27.05.2019, 13:20
    #39818759
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
msLex,

спасибо за уточнение!
...
Рейтинг: 0 / 0
27.05.2019, 13:38
    #39818786
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
подскажите, а существует ли похожая опция (with execute as -//-) для представлений и функций?
...
Рейтинг: 0 / 0
27.05.2019, 13:49
    #39818799
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Michail A.,

Если уж решили сделать дыру в безопасности, задействовав trustworthy - хотя бы уберите у владельца БД админские полномочия, если таковые имеются.
...
Рейтинг: 0 / 0
27.05.2019, 13:57
    #39818802
Michail A.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
invm, а в чем дыра?
...
Рейтинг: 0 / 0
27.05.2019, 14:05
    #39818806
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Michail A.,

Вам invm привел в самом начале статью, прочитайте ее, она хоть и большая но полезная.
...
Рейтинг: 0 / 0
27.05.2019, 14:08
    #39818807
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по execute as
Michail A.invm, а в чем дыра?Любой пользователь, входящий в роль db_owner или имеющий impersonate на dbo, может выполнить код от имени владельца БД.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / вопрос по execute as / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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