OushuDB-客户端认证-配置方法

简介: OushuDB-客户端认证-配置方法

这一节,我们来了解一下客户端认证的配置方法和认证方式。

认证是数据库服务器对客户端用户身份鉴别的过程,并且确定客户端以该用户是否可以连接数据库服务 器。OushuDB和PostgreSQL兼容,提供多种不同的客户端认证方式,而pg_hba.conf就是客户端认证的 配置文件,它存放在数据库集群的数据目录里。HBA的意思是”host-based authentication”, 也就是基 于主机的认证。在initdb初始化数据目录的时候, 它会安装一个缺省的pg_hba.conf文件。

一、配置方法

pg_hba.conf文件的常用格式是一组记录,每行一条。空白行将被忽略,#开头的注释也被忽略。一条记 录是由若干用空格和/或制表符分隔的字段组成,记录不能跨行存在。

每条记录可以是下面七种格式之一:

  TYPE DATABASE USER ADDRESS METHOD
[auth- options]
  local
hostssl
host
hostnossl
database user
database user
database user
database user
CIDR-address
IP-address IP- mask
IP-address IP- mask
auth- [auth-options] method
auth- [auth-options] method
auth- [auth-options] method
auth- [auth-options] method
host database user CIDR-address auth- [auth-options] method
hostnossl database user CIDR-address auth- [auth-options] method
hostssl database user IP-address IP- auth- [auth-options] mask method

每条记录声明一种连接类型、一个客户端 IP 地址范围、 一个数据库名、一个用户名字、对匹配这些参 数的连接使用的认证方法。第一条匹配连接类型、 客户端地址、连接请求的数据库名和用户名的记录将 用于执行认证。这个处理过程没有 “跨越”或者”回头”的说法:如果选择了一条记录而且认证失败, 那么 将不再考虑后面的记录。如果没有匹配的记录,那么访问将被拒绝。

1.1 TYPE

表示连接类型,表示允许用哪些方式连接数据库,它允许以下几个值:

local:使用本地unix套接字。 host:使用TCP/IP连接(包括SSL和非SSL),结合“IPv4地址”使用IPv4方式,结合“IPv6地址”则使用 IPv6方式。

hostssl:只能使用SSL TCP/IP连接。 hostnossl:不能使用SSL TCP/IP连接。

1.2 DATABASE

声明记录所匹配的数据库名称。值 all表明该记录匹配所有数据库, 值sameuser表示如果被请求的数据 库和请求的用户同名,则匹配。 值samerole表示请求的用户必须是一个与数据库同名的角色中的成员。 在其它情况里,这就是一个特定的 OushuDB数据库的名字。可以通过用逗号分隔的方法声明多个数据 库, 也可以通过前缀@来声明一个包含数据库名的文件。

1.3 USER

指定哪个数据库用户或者角色,多个用户名可以通过用逗号分隔。

1.4 CIDR-ADDRESS

声明这条记录匹配的客户端机器IP地址范围,该地址用标准点分十进制声明并带有CIDR掩码长度,可以 是IPv4地址或IPv6地址,可以定义某台主机或某个网段。

例如,172.20.143.89/32表示一个主机, 172.20.143.0/24表示一个小子网,10.6.0.0/16 表示一个大子 网。

这些字段只适用于host,hostssl,hostnossl记录,local不涉及。 1.5 IP-ADDRESS IP-MASK

与 CIDR-ADDRESS一样,只是写法不同。这种写法不声明掩码的长度, 而是在另外一个字段里声明实际 的掩码。比如,255.0.0.0表示 IPv4 CIDR 掩码长度 8 , 而255.255.255.255表示 CIDR 掩码长度 32 。

这些字段同样只适用于host,hostssl,hostnossl记录,local不涉及。 1.6 METHOD

指定如何处理客户端的认证,也就是认证方式。包括包含选项有: trust、md5、password、krb5、 ident、ldap、pam等,我们将在下一节介绍一下常用的认证方式。

目录
相关文章
|
11月前
|
Cloud Native 数据可视化 Go
goalng 如何获取 ldap 服务器的数据?
goalng 如何获取 ldap 服务器的数据?
|
12月前
|
监控 应用服务中间件 nginx
服务器端集群搭建、下载站点、用户认证模块
Nginx实现服务器端集群搭建 Nginx与Tomcat部署 Nginx在高并发场景和处理静态资源是非常高性能的,但是在实际项目中除了静态资源还有就是后台业务代码模块,一般后台业务都会被部署在Tomcat,weblogic或者是websphere等web服务器上。那么如何使用Nginx接收用户的请求并把请求转发到后台web服务器? 步骤分析: 1.准备Tomcat环境,并在Tomcat上部署一个web项目 2.准备Nginx环境,使用Nginx接收请求,并把请求分发到Tomat上 1 2 环境准备(Tomcat) 浏览器访问: http://192.168.200.146:8080/
114 0
|
NoSQL MongoDB 数据库
mongodb使用使用 SCRAM 验证客户端设置访问控制
SCRAM 验证客户端设置访问控制
98 0
|
关系型数据库 MySQL 数据库连接
【数据库报错系列】不建议不使用服务器身份验证建立SSL连接,必须默认建立SSL连接。
【数据库报错系列】不建议不使用服务器身份验证建立SSL连接,必须默认建立SSL连接。
|
网络协议 关系型数据库 Unix
oushudb-客户端认证-示例
oushudb-客户端认证-示例
65 0
|
存储 SQL 安全
客户端认证-认证方式
客户端认证-认证方式
113 0
|
数据安全/隐私保护
etcd集群开启用户身份认证
etcd集群开启用户身份认证,发现单机etcd和集群的授权不会同步,单机启动的是单机实例,集群启动的是集群实例
1285 1
|
安全 关系型数据库 数据库
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 20 章 客户端认证_20.3. 认证方法
20.3. 认证方法 20.3.1. 信任认证 20.3.2. 口令认证 20.3.3. GSSAPI 认证 20.3.4. SSPI 认证 20.3.5. Ident 认证 20.3.6. Peer 认证 20.3.7. LDAP 认证 20.3.8. RADIUS 认证 20.3.9. 证书认证 20.3.10. PAM 认证 20.3.11. BSD 认证 下列小节更详细地描述认证方法。
1934 0
|
消息中间件 Kafka 数据安全/隐私保护