暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Postgres访问权限控制配置

原创 sg1234 2023-06-14
489



- PostgreSQL中,允许哪些IP地址的机器访问数据库服务器是由pg_hba.conf文件来控制的。HBA是“Host-Based Authentication”的缩写,也就是基于主机的认证。

  • 首先initdb初始化数据目录时会生成一个默认的pg_hba.conf文件。

文件中,可以写入多条记录。每条记录声明一种连接类型。

local <dbname> <user> <auth-method>  [auth-options]
host   <dbname> <user> <ip/masklen> <auth-method> [auth-options]
hostssl <dbname> <user> <ip/masklen> <auth-method> [auth-options]
hostnossl <dbname> <user> <ip/masklen> <auth-method>[auth-options]
host <dbname> <user> <ip> <mask> <auth-method> [auth-options]
hostssl <dbname> <user> <ip> <mask> <auth-method> [auth-options]
hostnossl <dbname> <user> <ip> <mask> <auth-method> [auth-options]

解释:
local:这条记录匹配通过UNIX域套接字的连接认证。没有这种类型的记录就不允许UNIX域套接字的连接。
当psql后面不指定主机名或IP地址时,即用UNIX域套接字的方式连接数据库。

host:这条记录匹配通过TCP/IP进行的连接,包括SSL和非SSL的连接。

hostssl:这条记录匹配使用TCP/IP的SSL连接,且必须是使用SSL加密的连接。要使用该选项,编译服务器时必须打开SSL支持,而且启动服务器时必须打开SSL配置选项。

hostnossl:这条记录与hostssl相反,只匹配那些在TCP/IP上不使用SSL的连接请求。

<dbname>表示设置一个数据库名称,
如果设置为“all”,表示可以匹配任何数据库。
如果设置为“replication”,表示允许流复制连接,而不是允许连接到一个名为“replication”的数据库上。

记录中第三个字段设置一个用户的名称,如果设置为“all”,表示可以匹配任何用户。

<ip/masklen>表示允许哪些IP地址来访问此服务器

<auth-method>表示验证方法,PostgreSQL支持的认证方式很多,但常用的只有trust、reject、md5和ident方法。
trust:无条件地允许连接。此方法允许任何可以与PostgreSQL数据库服务器连接的用户以任意PostgreSQL数据库用户身份进行连接,不需要口令或任何其他认证。
reject:无条件地拒绝连接。reject行可以阻止一个特定的主机连接,而允许其他主机连接数据库。这相当于设置了一个黑名单。
md5:要求客户端提供一个MD5加密的口令进行认证。
password:要求客户端提供一个未加密的口令进行认证。因为口令是以明文形式在网络上传递的,所以不应该在不安全的网络上使用此方式。一般这种方法使用得很少。
gss:用GSSAPI认证用户。只有在进行TCP/IP连接时才能用。
sspi:用SSPI来认证用户。仅在Windows系统上使用。
krb5:用Kerberos V5认证用户。只有在进行TCP/IP连接时才能用。


举例

local all all trust 该命令行表示在这台机器上,任何操作系统的用户都可以以任何数据库用户身份(包括数据库超级用户)连接到数据库上而不需要密码。

因为这台主机只供数据库使用,可以把不用的操作系统用户都禁止,以保证安全性。


local all all md5

在数据库主机上使用密码验证


host all all 0.0.0.0/0 md5

其他主机的连接都使用md5密码验证


local all osdba ident

数据库中有一个用户“osdba”,操作系统中也有一个用户“osdba”,在操作系统“osdba”用户下连接数据库不需要密码验证

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论