概述

官网:https://www.postgresql.org/docs/11/sql-createuser.html

Pg权限分为两部分,一部分是“系统权限”或者数据库用户的属性,可以授予role或user(两者区别在于login权限);一部分为数据库对象上的操作权限。对超级用户不做权限检查,其它走acl。对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。在pg里,对acl模型做了简化,组和角色都是role,用户和角色的区别是角色没有login权限。

PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。


一、控制访问文件

1、参数文件pg_hba.conf

说明:

local:匹配使用Unix域套接字的连接,如果没有此类型的记录,则不允许使用Unix域套接字连接。

host:匹配使用TCP/IP进行的连接,主机记录匹配SSL或非SSL连接,需要配置listen_addresses。
hostssl:匹配使用TCP/IP进行的连接,仅限于使用SSL加密进行连接,需要配置ssl参数。
hostnossl:匹配通过TCP/IP进行的连接,不使用SSL的连接。
database:匹配的数据库名称,all指定它匹配所有数据库。如果请求的数据库与请求的用户具有相同的名称则可以使用samerole值。复制(replication)不指定数据库,多个数据库可以用逗号分隔。
user:匹配的数据库用户名,值all指定它匹配所有用户。 可以通过用逗号分隔来提供多个用户名。
address:匹配的客户端计算机地址,可以包含主机名,IP地址范围。如:172.20.143.89/32、172.20.143.0/24、10.6.0.0/16、:: 1/128。 0.0.0.0/0表示所有IPv4地址,:: 0/0表示所有IPv6地址。要指定单个主机,请使用掩码长度32(对于IPv4)或128(对于IPv6)。all以匹配任何IP地址。
IP-address、IP-mask:这两个字段可用作IP地址/掩码长度,如:127.0.0.1 255.255.255.255。
auth-method:指定连接与此记录匹配时要使用的身份验证方法:trust、reject、scram-sha-256、md5、password、gss、sspi、ident、peer、ldap、radius、cert、pam、bsd。

auth-options:在auth-method字段之后,可以存在name = value形式的字段,用于指定认证方法的选项。

补充:

修改完pg_hba.conf文件之后,需要重新加载配置,不用重启数据库:



2、实例

3、查看远程连接设置

设置完之后可以通过查看表来查看hba:


二、生产环境案例

这里按照一个正常项目上线的流程来创建一个应用账号为例,看看需要怎么操作。比如一个项目上线:用管理账号来操作


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

dba 权限_DBA如何玩转PG用户、角色和权限管理?相关推荐

  1. apache2 wordpress目录权限_小白指南:WordPress中的用户角色和权限

    WordPress本身自带了一套用户角色管理系统,这套系统定义了每个用户角色可以做什么,不可以做什么.随着网站的发展,弄懂这些用户角色和权限的问题是非常有必要的.在这篇小白指南中,我们将用图表的形式对 ...

  2. 文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的?

    文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列哪个命令是对的? 正确答案: A   你的答案: C (错误) chmod a+x g+w exer1 ...

  3. 权限分配 html,如何为LightSwitch HTML移动客户端分配用户角色和权限

    如何为LightSwitch HTML移动客户端分配用户角色和权限 07/08/2013 6 minutes to read In this article [原文发表时间] 2013-06-25 0 ...

  4. oracle 创建角色 权限设置,[学习笔记] Oracle创建用户、分配权限、设置角色,

    [学习笔记] Oracle创建用户.分配权限.设置角色, 创建用户 create user student --用户名 identified by "123456" --密码 de ...

  5. 查看mysql用户权限_mysql 如何查看该数据库用户具有哪些权限?

    展开全部 背景 在了解动态权限之前,我们先回顾下 MySQL 的权限列表. 权限列表大体分为服务级别和表级别,列级别以32313133353236313431303231363533e59b9ee7a ...

  6. PostgreSQL用户角色和权限管理

    一.用户角色管理 1.创建用户角色 create user cjr LOGIN;create role cjr1 CREATEDB;create role cjr2 superuser; create ...

  7. RabbitMQ用户角色及权限控制

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 RabbitMQ的用户角色分类: none.management.policymaker.monitoring.administrator user ...

  8. linux centos7增加文件夹权限,在Centos7系统中实现用户和文件权限的管理

    实验:用户和文件权限管理 涉及到的命令:useradd usermode mkdir groupadd passwd chown chmod 建立用户目录 创建目录/tech/benet和/tech/ ...

  9. 数据库管理员用户角色组权限设计

    一.引言 因为做过的一些系统的权限管理的功能虽然在逐步完善,但总有些不尽人意的地方,总想抽个时间来更好的思考一下权限系统的设计. 权限系统一直以来是我们应用系统不可缺少的一个部分,若每个应用系统都重新 ...

最新文章

  1. 转【C#调用DLL的几种方法,包括C#调用C\C++\C#DLL】
  2. excel导入数据时报错,显示Extracted SQL state class ‘22‘ from value ‘22001‘
  3. UA OPTI570 量子力学22 2-D Isotropic Q.H.O.简介
  4. http协议的完整组成
  5. uploadify.php 漏洞,PhotoStore “uploadify.php”任意文件上传漏洞
  6. 2015 Spark 将走向哪里?
  7. LeetCode 2138. 将字符串拆分为若干长度为 k 的组
  8. (数据库系统概论|王珊)第十一章并发控制-第一节:并发控制概述
  9. 深度好文 | 中间人攻击、ARP欺骗背后的原理及漏洞还原
  10. 一个超级简单的HTML模板框架源代码以及使用示例
  11. checkbox:全选、全不选、单选(慕课网题目)
  12. 怎样利用php记录时间差,使用PHP计算出时间差的实现方法
  13. 乘2取整法_关于十进制小数转二进制是“乘2取整,顺序排列”,请问为什么要这么做?这样做有什么根据?最好举上例子...
  14. Centos7.6环境使用kubeadm部署kubernetes1.18.4
  15. BP神经网络简单代码分析
  16. IIS的ISAPI接口
  17. TTL转HDMI 1.4,性能提升,pin to pin 芯片LT8618SXB
  18. 啥是各向同性、各向异性GNN:
  19. Keepalived之——*** WARNING - this build will not support IPVS with IPv6.解决方案
  20. ipqc异常处理流程图_品质异常该怎么处理?照这个流程走!

热门文章

  1. Ghost for linux 工具备份还原系统
  2. OpenCV2.3.1 VS 安装
  3. day5 ---- 数据类型及常用方法(字符串、列表)
  4. ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps 线段树
  5. Think In Java读书笔记:内部类覆盖及其初始化
  6. Lnmp上安装Yaf学习(一)
  7. MYSQL第一章 创建表 修改表名 删除字段 添加字段 修改地段名
  8. 文件操作--设置文件属性、获取文件属性
  9. 大数据_Flink_数据处理_运行时架构3_yarn上作业提交流程---Flink工作笔记0018
  10. Vue计算属性之基本使用---vue工作笔记0004