POLARDB中pg schema那边能控制用户只能看到有权限的表么, 没权限的表不显示给用户看 吗?
在 POLARDB 中,可以通过配置角色权限来实现对用户访问表资源的限制。具体的操作步骤如下:
ALTER ROLE <username> SET SCHEMA <schema_name>;
其中 <username>
为需要赋权的角色名称, <schema_name>
为目标schema名称。这条命令将把用户的角色设置为指定的模式。GRANT SELECT/INSERT/UPDATE/DELETE ON TABLE <table_name> TO <username>;
其中 <table_name>
为需要授权的表名, <username>
为需要赋权的角色名称。这将允许用户在该模式下的指定表上执行 SELECT/INSERT/UPDATE/DELETE 操作。REVOKE USAGE ON SCHEMA public FROM <username>;
这将撤销用户在公共模式下的所有权限,使其只能访问他们自己有权限的模式及其下的表。在POLARDB中,权限管理是区分层级的,包括实例权限、数据库权限、表空间、schema权限以及object对象(表、视图、索引)等。用户和角色的概念非常接近,如果给角色分配了可登录权限,那么该角色就可以登录并管理数据库中的对象。
对于你的问题,"POLARDB中pg schema能否控制用户只能看到有权限的表",答案是肯定的。首先,需要理解的是,默认情况下,用户不能访问不属于他们的方案中的任何对象。也就是说,一个用户创建的对象,只有该用户自己能够看到和访问。如果想让其他用户也能够访问到某些对象,那么模式的拥有者必须在该模式上授予相应的USAGE权限。例如,要允许用户使用方案中的对象,可能还需要根据对象授予额外的权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。