db: my_db
схемы: my_schema_1, my_schema_2
таблицы:
- my_schema_1: table_a, table_b
- my_schema_2: table_c, table_
Я хотел бы предоставить select всем таблицам в my_schema_2.
use role securityadmin;
grant usage
on database my_db
to role dw_ro_role;
grant usage on schema my_db.my_schema_2
to role dw_ro_role;
grant select
on all tables in schema my_db.my_schema_2
to role dw_ro_role;
Однако это предоставляет доступ ко ВСЕМ схемам в базе данных. (Я думаю через предоставление использования) На самом деле, если я:
grant usage on my_db...
revoke select on all tables in my_schema_2
, я все еще могу запросить все.
Если я отзову использование в базе данных my_db, я не смогу ничего запросить.
Владельцем my_db является sysadmin. Владельцем схем является etl_tool_role.
Как разрешить доступ для выбора из таблиц только в выбранной схеме?