У нас есть несколько схем, предназначенных для модулей (финансы, запасы, crm и т. д.) в Oracle DB 11gR2. Мы хотим создать такую архитектуру для разработчиков, чтобы:
- У разработчиков не будет паролей пользователей-владельцев схемы.
- Разработчики будут иметь ограниченный по времени доступ к объектам БД, в зависимости от их уровня, двумя способами:
- Старшие разработчики высшего уровня будут иметь неограниченные привилегии в конкретной схеме, если они были авторизованы на ограниченный период.
- Младшие разработчики будут иметь ограниченные привилегии в конкретной схеме, если они были авторизованы на ограниченный период.
Короче говоря, мы хотим организовать наш путь разработки в Oracle DB. Как мы можем построить эту структуру? Если я недостаточно ясен, я могу дать подробную информацию на ваши вопросы.
Спасибо,
Редактировать: у меня есть интуиция, что дело не так ясно. Приведу простой сценарий:
Предположим, что у меня есть схема (пользователь с объектами) с именем «DUMMY», в которой есть таблица с именем «DummyTbl» и функция с именем «DummyFunc». Очевидно, что пользователь «DUMMY» может неограниченно управлять всеми этими объектами, поскольку он является их владельцем. Однако я не хочу, чтобы разработчики использовали общего пользователя «DUMMY», и я хочу, чтобы они входили в базу данных со своим собственным именем пользователя.
Потому что я не могу различать уровень привилегий разработчиков, когда я дал им пароль пользователя «МАКАНА». Все разработчики могут вести себя неограниченно. Напротив, я хочу, чтобы старший разработчик по имени «DummySenior» мог создавать, изменять, выполнять объекты, а также выполнять операции CRUD над «DummyTbl».
Но я хочу, чтобы младший разработчик по имени «DummyJunior» ссылался только на объекты, а не выполнял операции CRUD над таблицами. Самый очевидный способ добиться этого — аккомпанировать ролям. Однако у нас есть несколько проблем с настройкой необходимых ролей (например, если «DummySenior» может создать таблицу в схеме «DUMMY», у него должна быть привилегия «создать любую таблицу».
Однако, когда «DummySenior» имеет эту привилегию, он также может создавать таблицы по схеме «DUMMY2». Это явное нарушение безопасности.)
create or replace procedure
, будет сложно восстановить предыдущее состояние. VCS поможет вам предотвратить это. - person Dmitriy   schedule 31.03.2015