Предоставлять доступ только для чтения только к определенному представлению в Oracle

#oracle #view #roles #grant

#Oracle #Вид #роли #sql-грант

Вопрос:

У меня есть 5 представлений в моей схеме базы данных Oracle. И мне нужно предоставить доступ только для чтения только к одному представлению для пользователя.

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

 a) Create a new user  or the corresponding business role APP_ROLE and assign "CREATE SESSION" rights.

b) GRANT SELECT ON <view> TO {APP | APP_ROLE}
  

Ответ №1:

В реальных версиях oracle (> = 12.1.0.2) лучше использовать read привилегии:

  1. Новые возможности 12.1.0.2
  2. Привилегия ЧТЕНИЯ объекта в Oracle Database 12c Release 1 (12.1.0.2)

В предыдущих версиях — да, grant select все в порядке.

Комментарии:

1. доступ на чтение не позволяет пользователю выполнять SELECT ДЛЯ ОБНОВЛЕНИЯ — хороший совет!

2. один вопрос здесь вместо создания нового пользователя, не можем ли мы создать новую роль и назначить разрешение на просмотр этой роли?