Предоставить разрешение SELECT для представления, но не для базовых объектов
Я часто читаю, что одной из целей VIEW является безопасность: предоставить некоторым пользователям доступ к базовой таблице, а другим пользователям - только производное представление. Имея это в виду, я разработал несколько представлений, которые предоставляют ограниченные наборы данных для внешних пользователей.
Все очень хорошо, но на практике это не работает. После того, как я даюSELECT
разрешение на просмотр, пользователи не могут получить к нему доступ, если я не предоставлюSELECT
на все основные объекты тоже. Та же история для хранимых процедур. Чистый результат не работает, так как в итоге я по-прежнему предоставляю доступ к конфиденциальным данным неправильным пользователям, а также раздражаю, поскольку легко забыть об одном объекте, и пользователи возвращаются, чтобы жаловаться, что представление "не Работа".
Есть ли способ предоставитьSELECT
разрешения для представления или хранимой процедуры без необходимости выставления нижележащих объектов тоже?