Права пользователя - PullRequest
       8

Права пользователя

1 голос
/ 27 сентября 2008

Почему для создания пакетов и триггеров пользователю необходимы права доступа к собственной схеме?

Ответы [ 3 ]

2 голосов
/ 28 сентября 2008

Вы спрашиваете, зачем пользователям нужны определенные привилегии (т. Е. CREATE TABLE, CREATE PROCEDURE и т. Д.) Для создания определенных типов объектов в их собственной схеме?

Если это так, то естественным ответом будет то, что хорошая безопасность начинается с принципа наименьших привилегий, то есть пользователь должен иметь только те привилегии, которые ему действительно необходимы для выполнения своей работы, и не более. Администраторы баз данных часто хотят создавать учетные записи только для чтения для пользователей в производственной базе данных (например, бизнес-аналитикам часто приходится делать различные виды специальных отчетов, разработчикам может потребоваться доступ для устранения проблем определенных типов и т. Д.). Если бы пользователь всегда мог создавать объекты в своей собственной схеме, эти пользователи только для чтения внезапно могли бы развернуть код в производственной базе данных, не проходя контроль изменений или даже не проверяя что-либо. И это, как правило, приводит к распространению кода, делающего в основном одно и то же (т.е. у дюжины аналитиков есть процедура для расчета налога с продаж в своих собственных схемах), но у каждого из них есть своя уникальная сигнатура, логика, требования, предположения и т. Д. И, боже, запрети увольнять одного из этих аналитиков, потому что администратор БД естественным образом удалит их учетную запись, только чтобы узнать, что какой-то важный отчет зависит от кода, существующего только в схеме этого аналитика.

1 голос
/ 27 сентября 2008

Я не могу дать вам «официальный» ответ, но я могу попытаться объяснить, как это работает. В проекте, над которым я работаю, разработчики Oracle внедряют триггеры и пакеты в схему базы данных. Но у нас есть другие команды разработчиков и тестировщиков Java и т. Д. После того, как схема перенесена в тестовую и производственную среды, мы не хотим, чтобы тестировщики или приложения конечного пользователя могли произвольно изменять триггеры и пакеты, связанные с эта схема, поскольку это может сделать недействительной целостность любого выполняемого ими тестирования (или вызвать еще более серьезные проблемы в производственной системе).

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

0 голосов
/ 28 сентября 2008

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

Их собственная схема подразумевает владение (или пространство имен), определенное username.object. Все, что нужно пользователю для создания триггера в своей собственной схеме: таблица в собственной схеме привилегия создания триггера

Все, что нужно пользователю для создания пакета в собственной схеме: привилегия создания пакета

Если пользователь хочет создать объекты в другой схеме, который ссылается на другие объекты или требует хранения в табличном пространстве, ему потребуются разрешения для этих внешних объектов.

...