DSE 中的 REVOKE 和 RESTRICT CQLSH 命令有什么区别。
示例:Keyspace Cycling 有 2 个表 - 分别是循环表和兜售表。并且存在一个角色 Jane 使用以下命令向 Jane 授予对所有键空间的 SELECT 权限 在键空间上授予选择循环到“jane”;
但是在撤销对循环表的访问权限时,它会发出警告并且权限不会被撤销。 撤销对cycling.cycled from 'jane'的选择;
警告:角色 jane 未被授予 SELECT 权限
虽然上面的撤销命令给出了警告而不是错误,但角色 jane 仍然能够访问循环表上的数据,这意味着 select 权限没有被撤销。
以下限制命令按预期工作 RESTRICT 选择cycling.cycled TO 'jane' ;
我想了解为什么撤销命令在表级别不起作用。
经济发展局版本:6.8.23
您有没有发现
[debug|system].log
文件中是否有相应的警告/错误?
了解每个命令的作用非常重要。
RESTRICT
使用
RESTRICT
拒绝访问数据资源(即键空间或表)上的角色。即使已授予或继承了访问资源的权限,限制也会拒绝访问。 RESTRICT
权限始终优先于 GRANT
权限。
REVOKE
从角色中删除数据库对象的权限。
当角色
jane
通过以下授权被授予 SELECT
ALL KEYSPACES
权限时,
GRANT SELECT ON ALL KEYSPACES TO jane;
通过继承,
jane
可以访问所有键空间下的所有表。添加限制后,它会优先并阻止角色 SELECT
从
jane
表中选择/读取。