Предоставление привилегии "GRANT" в Oracle для конкретной роли с определенной и ограниченной властью
Предположим, у вас есть пользователь Oracle "A", которому требуется привилегия EXECUTE для набора пакетов. Время от времени другой пользователь "B" создает новый пакет, который должен быть исполняемым "A". Таким образом, и как часть процесса создания пакета, "B" должен иметь возможность предоставить привилегию EXECUTE для "A" в новом пакете. (Примечание: "А" может быть пользователем или ролью). Важно, чтобы "B" ТОЛЬКО был в состоянии предоставить привилегию EXECUTE для "A" в новом пакете и НЕ сможет предоставлять какие-либо другие привилегии любому другому пользователю. Более того, любой новый такой пакет будет отображать четко определенный шаблон в своем имени, например, "ABCD_PACK_?????????". Можно ли предоставить "B" привилегию GRANT для "A" исключительно для пакетов, чье имя начинается с "ABDC_PACK"? Благодарю.
1 ответ
Похоже, что не существует простого способа определения своего рода CUSTOM GRANT для пользователя, и единственный способ добиться того, что я искал, - это реализовать специальный код, который бы открывал привилегию OPEN B, а затем ЗАКРЫТЬ его после завершения предоставления., Однако такой подход не решает комплексным образом проблему безопасности. Было бы неплохо, если бы ORACLE рассмотрел вопрос об усилении возможностей безопасности своей БД, особенно с учетом ужесточающихся требований рынка.