tongchenkeji 发表于:2023-11-20 22:24:360次点击 已关注取消关注 关注 私信 POLARDB中pg schema那边能控制用户只能看到有权限的表么?[阿里云PolarDB] 暂停朗读为您朗读 POLARDB中pg schema那边能控制用户只能看到有权限的表么, 没权限的表不显示给用户看 吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 PolarDB# PolarDB665# 云原生数据库 PolarDB905# 关系型数据库2577# 分布式数据库761
小小杳杳杳AM 2023-11-27 23:00:49 1 可以参考这个: https://developer.aliyun.com/article/815729?spm=a2c6h.14164896.0.0.365047c5gkwznE&scm=20140722.S_community@@%E6%96%87%E7%AB%A0@@815729._.ID_815729-RL_Postgresql%20%E6%95%B0%E6%8D%AE%E5%BA%93%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E6%8E%88%E6%9D%83-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_0 。此回答来自钉群PG|POLARDB技术进阶。
小周sirAM 2023-11-27 23:00:49 2 在 POLARDB 中,可以通过配置角色权限来实现对用户访问表资源的限制。具体的操作步骤如下: 首先,需要为用户分配适当的访问权限。这可以通过执行 SQL 命令来实现: ALTER ROLE SET SCHEMA ; 其中 为需要赋权的角色名称, 为目标schema名称。这条命令将把用户的角色设置为指定的模式。 接下来,可以根据需要为每个模式中的表分别设置访问权限。这可以通过执行 SQL 命令来实现: GRANT SELECT/INSERT/UPDATE/DELETE ON TABLE TO ; 其中 为需要授权的表名, 为需要赋权的角色名称。这将允许用户在该模式下的指定表上执行 SELECT/INSERT/UPDATE/DELETE 操作。 最后,如果想要让用户只能看到他们有权限的表,则需要确保他们在没有权限的情况下不能执行全库扫描等操作。为此可以采用如下方式来实现: REVOKE USAGE ON SCHEMA public FROM ; 这将撤销用户在公共模式下的所有权限,使其只能访问他们自己有权限的模式及其下的表。
sun20AM 2023-11-27 23:00:49 3 在POLARDB中,权限管理是区分层级的,包括实例权限、数据库权限、表空间、schema权限以及object对象(表、视图、索引)等。用户和角色的概念非常接近,如果给角色分配了可登录权限,那么该角色就可以登录并管理数据库中的对象。 对于你的问题,”POLARDB中pg schema能否控制用户只能看到有权限的表”,答案是肯定的。首先,需要理解的是,默认情况下,用户不能访问不属于他们的方案中的任何对象。也就是说,一个用户创建的对象,只有该用户自己能够看到和访问。如果想让其他用户也能够访问到某些对象,那么模式的拥有者必须在该模式上授予相应的USAGE权限。例如,要允许用户使用方案中的对象,可能还需要根据对象授予额外的权限。
可以参考这个:
https://developer.aliyun.com/article/815729?spm=a2c6h.14164896.0.0.365047c5gkwznE&scm=20140722.S_community@@%E6%96%87%E7%AB%A0@@815729._.ID_815729-RL_Postgresql%20%E6%95%B0%E6%8D%AE%E5%BA%93%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E6%8E%88%E6%9D%83-LOC_search~UND~community~UND~item-OR_ser-V_3-P0_0 。此回答来自钉群PG|POLARDB技术进阶。
在 POLARDB 中,可以通过配置角色权限来实现对用户访问表资源的限制。具体的操作步骤如下:
为需要赋权的角色名称,
为目标schema名称。这条命令将把用户的角色设置为指定的模式。
为需要授权的表名,
为需要赋权的角色名称。这将允许用户在该模式下的指定表上执行 SELECT/INSERT/UPDATE/DELETE 操作。在POLARDB中,权限管理是区分层级的,包括实例权限、数据库权限、表空间、schema权限以及object对象(表、视图、索引)等。用户和角色的概念非常接近,如果给角色分配了可登录权限,那么该角色就可以登录并管理数据库中的对象。
对于你的问题,”POLARDB中pg schema能否控制用户只能看到有权限的表”,答案是肯定的。首先,需要理解的是,默认情况下,用户不能访问不属于他们的方案中的任何对象。也就是说,一个用户创建的对象,只有该用户自己能够看到和访问。如果想让其他用户也能够访问到某些对象,那么模式的拥有者必须在该模式上授予相应的USAGE权限。例如,要允许用户使用方案中的对象,可能还需要根据对象授予额外的权限。