我试图为用户提供整个数据库的访问权限,但删除对具有机密数据的特定表或特定模式的访问权限,但它只是没有解决,尝试了多个 - 授予和撤销语句但徒劳无功。
这是我到目前为止测试过的。
最初,我为用户担任这个角色
GRANT ALL ON DATABASE raw TO ROLE transformer;
检查了赠款并删除了
SHOW GRANTS TO ROLE transformer;
revoke select on all tables in schema raw.<secret_schema> from role transformer;
revoke all on DATABASE raw from ROLE transformer;
开始授予对单个架构/表的访问权限,但“授予数据库使用权”只是将每个架构/表访问权限授予用户
grant usage on database raw to role transformer ; -- usage gives all tables access
grant usage on schema raw.<open_schema> to role transformer ;
grant all on schema raw.<open_schema> to role transformer ;
grant select on all tables raw.<open_schema> to role transformer ;
最后,也尝试了这些撤销,但徒劳无功
revoke select on table raw.<secret_schema>.s from ROLE transformer;
revoke usage on schema raw.<secret_schema> from role transformer;
有关更多信息,此访问权限适用于 DBT 用户和分析师用户,他们可以点击/选择/读取原始数据库,但只有 1 个模式/表不应该被访问,其余的都应该带有“未来表”子句。