PolarDB for PostgreSQL 开源必读手册-用户和权限管理(中)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: PolarDB for PostgreSQL 开源必读手册

接上篇:https://developer.aliyun.com/article/1223096?spm=a2c6h.13148508.setting.18.44ec4f0eNvAByn


修改角色的属性可以用\h alter role命令。

 

image.png

 

上图为修改角色属性示例。

 

image.png

 

用户与角色的删除有两种方式

 

方式一:通过dropuser命令删除用户。删除时如果没有设置信任关系,则需要指定登录的用户名、密码,且此用户名必须拥有创建用户的权限,方能登录到数据库执行dropuser命令。

方式二:在psql命令行使用drop删除。删除时需要附上判断用户/角色是否存在的语句,避免用户/角色不存在而产生报错。尤其是脚本里,如果产生报错,则会影响后续的执行。

 

注意,只有超级用户能够删除超级用户,只有具有createrole权限的用户才能删除非超级用户。且删除用户前,需要删除依赖该用户的对象、权限等信息,或将权限授权给其他用户,以保证对象的安全性。PG不支持cascade此类级联的删除方式。此外,当前登录的对象也无法删除,需退出登陆后再做删除操作。

 

image.png

 

比如,删除u1时需要先通过\d命令查看其关联的对象。而除了对象以外,还需要通过\dn查看其是否存在相关schema。如上图,显示u1下还存在一个sport schema,因此,需要通过drop schema sport将该schema删除。

 

image.png

 

再次执行删除u1操作,提示在testdb上还存在相关权限。需要通过revoke all命令将授权给用户在testdb数据库上的所有权限撤回,随后即可删除用户。

 

image.png

 

为角色授权以后,如果要使用角色里的权限,需要通过set role命令启用该角色。

 

image.png

 

如上图所示,启用角色前,不允许创建schema。

 

而执行set role命令后,schema创建成功。

 

image.png

 

每个数据库对象都有一个owner,owner默认情况下拥有该对象的所有权限。数据库中所有权限都与角色挂钩。对超级用户的权限不做检查,其他用户需要通过ACL。对于数据库对象,所有者和超级用户可以做任何操作,其他用户需要通过ACL。

 

image.png

 

PG数据库下的权限管理可以分为几个层级,分别为实例权限、数据库权限、表空间、schema权限以及object对象(表、视图、索引)。

 

image.png

 

实例级别的权限主要通过pg_hba.conf控制实例访问的隔离级别来实现。该文件存在于PGDATA目录下,每一列分别为类型、访问的数据库、访问的用户、客户端地址以及访问方式。

 

如上图,第一条信息中的host代表主机,all代表所有数据库和用户,127.0.0.1指本地地址,trust指信任,意味本地用户登陆无需用户密码。

 

第二条信息中的0.0.0.0指所有外部主机,意为拒绝外部任意主机以postgres用户登录。

 

第三条信息中的md5指通过用户和密码登录。

 

image.png

 

上图第一行代表任何用户访问任何数据库时都需要密码访问。设置完以后通过reload重新加载方可生效。

 

image.png

 

访问方式如上图所示。

 

image.png

 

PolarDB数据库上,只要用户有login权限,即允许所有用户连接到数据库。另外,不允许除了超级用户和owner以外的任何人在数据库中创建schema。系统会自动创建名为public的schema,允许任何人在里面创建对象。

 

image.png

 

比如创建一个新的数据库名为newdb1,则所有用户都可以登录,上图为以u2用户登录,而且可以在数据库上创建表。

 

image.png

 

如上图,创建了t1表,其schema属于public。因此创建了数据库以后,默认数据库下存在public模式的schema,u2用户即可以public模式创建t1表。

 

image.png

 

上图语句实现了允许用户在指定的数据库下做任何操作。

 

image.png

 

如上图,u2用户想要创建一个schema被拒绝。因为数据库上已经存在一个schema。

 

image.png

 

而执行grant create on database newdb1 to u2语句后,u2即可在数据库上创建schema。创建完后,可以看到该数据库下存在两个schema模式,分别是public和s1。

 

模式是指某个用户下所有对象的集合。

接下篇:https://developer.aliyun.com/article/1223094?groupCode=polardbforpg

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
28天前
|
存储 SQL 安全
应用案例|开源 PolarDB-X 在互联网安全场景的应用实践
中盾集团采用PolarDB-X云原生分布式数据库开源版本,有效解决了大数据量处理、复杂查询以及历史数据维护等难题,实现了业务的高效扩展与优化。
|
12天前
|
存储 关系型数据库 分布式数据库
揭秘PolarDB:中国云原生数据库的超级英雄,如何颠覆传统数据存储?
在数字化时代,数据成为企业的核心资产,而云原生数据库则是推动企业转型的关键。PolarDB凭借其先进的存储计算分离架构,在性能、可靠性和易用性方面脱颖而出,成为国内领先的选择。它支持多种数据库引擎,提供多副本存储机制,并采用按量付费模式,有效降低管理和成本压力,助力企业实现高效、可靠的数字化转型。
26 1
|
27天前
|
关系型数据库 分布式数据库 数据库
开源云原生数据库PolarDB PostgreSQL 15兼容版本正式发布
PolarDB进行了深度的内核优化,从而实现以更低的成本提供商业数据库的性能。
|
22天前
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【9月更文挑战第8天】作为技术爱好者的我,近期成功完成了开源 PolarDB-X 的部署安装。尽管过程中遇到不少挑战,但通过精心准备环境、下载安装包、配置参数及启动服务等步骤,最终顺利实现部署。本文将详细介绍部署全过程及可能遇到的问题,为您的 PolarDB-X 探索之旅提供参考与启发,希望能让大家在技术海洋里畅游得更加顺利!
51 2
|
25天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源项目未来展望:技术趋势与社区发展方向
【9月更文挑战第5天】随着云计算技术的发展,阿里云推出的云原生分布式数据库PolarDB受到广泛关注。本文探讨PolarDB的未来展望,包括云原生与容器化集成、HTAP及实时分析能力提升、智能化运维与自动化管理等技术趋势;并通过加强全球开源社区合作、拓展行业解决方案及完善开发者生态等措施推动社区发展,目标成为全球领先的云原生数据库之一,为企业提供高效、可靠的服务。
62 5
|
25天前
|
关系型数据库 MySQL 分布式数据库
PolarDB开源社区动态:最新版本功能亮点与更新解读
【9月更文挑战第6天】随着云计算技术的发展,分布式数据库系统成为企业数据处理的核心。阿里云的云原生数据库PolarDB自开源以来备受关注,近日发布的最新版本在内核稳定性、性能、分布式CDC架构及基于时间点的恢复等方面均有显著提升,并新增了MySQL一键导入功能。本文将解读这些新特性并提供示例代码,帮助企业更好地利用PolarDB处理实时数据同步和离线分析任务,提升数据安全性。未来,PolarDB将继续创新,为企业提供更高效的数据处理服务。
68 3
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
云原生数据库2.0问题之PolarDB利用云计算技术红利如何解决
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
云原生关系型数据库PolarDB问题之PolarDB相比传统商用数据库的优势如何解决
31 1
|
2月前
|
存储 关系型数据库 MySQL
再探PolarDB —— PolarDB MySQL 四大场景下的全方位评测
本文全面评测了阿里云PolarDB MySQL在四大关键场景下的表现:Serverless极致弹性、列存索引(IMCI)、弹性并行查询(ePQ)以及无感秒切高可用。通过官方提供的免费体验资源,我们深入了解了PolarDB MySQL的核心能力和性能。Serverless极致弹性列存索引(IMCI弹性并行查询(ePQ)无感秒切高可用此外,文章还介绍了PolarDB MySQL在数据备份和HTAP(混合事务/分析处理)场景下的优势,包括灵活的备份策略、高效的全量和库表恢复方式,以及通过IMCI支持的HTAP能力。这些特性共同构成了PolarDB MySQL作为一款先进的云数据库服务的强大竞争力。
|
2月前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源项目未来展望:技术趋势与社区发展方向
随着云计算的飞速发展,作为核心组件的分布式数据库作用愈发关键。阿里云的PolarDB,一款云原生分布式数据库,自开源后备受瞩目。未来,PolarDB将深化云原生特性,强化容器化支持;发展HTAP能力,融合事务处理与实时分析;运用AI技术实现智能运维。同时,加强全球开源社区合作,拓展多行业应用场景,并构建全面的开发者生态系统,旨在成为领先的云原生数据库解决方案。
55 4

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB
  • 下一篇
    无影云桌面