首页 > 数据库 >openGauss学习笔记-99 openGauss 数据库管理-管理数据库安全-客户端接入认证之配置文件参考

openGauss学习笔记-99 openGauss 数据库管理-管理数据库安全-客户端接入认证之配置文件参考

时间:2023-10-14 14:32:13浏览次数:29  
标签:配置文件 数据库 认证 接字 openGauss 数据库安全 连接 客户端

openGauss学习笔记-99 openGauss 数据库管理-管理数据库安全-客户端接入认证之配置文件参考

99.1 参数说明

表 1 参数说明

参数名称 描述 取值范围
local 表示这条记录只接受通过Unix域套接字进行的连接。没有这种类型的记录,就不允许Unix域套接字的连接。只有在从服务器本机使用gsql连接且在不指定-h参数的情况下,才是通过Unix域套接字连接。 -
host 表示这条记录既接受一个普通的TCP/IP套接字连接,也接受一个经过SSL加密的TCP/IP套接字连接。 -
hostssl 表示这条记录只接受一个经过SSL加密的TCP/IP套接字连接。 用SSL进行安全的连接,需要配置申请数字证书并配置相关参数,详细信息请参见用SSL进行安全的TCP/IP连接
hostnossl 表示这条记录只接受一个普通的TCP/IP套接字连接。 -
DATABASE 声明记录所匹配且允许访问的数据库。 all:表示该记录匹配所有数据库。sameuser:表示如果请求访问的数据库和请求的用户同名,则匹配。samerole:表示请求的用户必须是与数据库同名角色中的成员。samegroup:与samerole作用完全一致,表示请求的用户必须是与数据库同名角色中的成员。一个包含数据库名的文件或者文件中的数据库列表:文件可以通过在文件名前面加前缀@来声明。文件中的数据库列表以逗号或者换行符分隔。特定的数据库名称或者用逗号分隔的数据库列表。说明:值replication表示如果请求一个复制链接,则匹配,但复制链接不表示任何特定的数据库。如需使用名为replication的数据库,需在database列使用记录“replication”作为数据库名。
USER 声明记录所匹配且允许访问的数据库用户。 all:表明该记录匹配所有用户。+用户角色:表示匹配任何直接或者间接属于这个角色的成员。说明:+表示前缀符号。一个包含用户名的文件或者文件中的用户列表:文件可以通过在文件名前面加前缀@来声明。文件中的用户列表以逗号或者换行符分隔。特定的数据库用户名或者用逗号分隔的用户列表。
ADDRESS 指定与记录匹配且允许访问的IP地址范围。 支持IPv4和IPv6,可以使用如下两种形式来表示:IP地址/掩码长度。例如,10.10.0.0/24IP地址子网掩码。例如,10.10.0.0 255.255.255.0说明:以IPv4格式给出的IP地址会匹配那些拥有对应地址的IPv6连接,比如127.0.0.1将匹配IPv6地址 ::ffff:127.0.0.1。
METHOD 声明连接时使用的认证方法。 本产品支持如下几种认证方式,详细解释请参见表2:trustrejectmd5(不推荐使用,默认不支持,可通过password_encryption_type参数配置)说明:MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。sha256sm3certgss(仅用于openGauss内部节点间认证)peer(仅用于local模式)

99.2 认证方式

表 2 认证方式

认证方式 说明
trust 采用这种认证模式时,本产品只完全信任从服务器本机使用gsql且不指定-U参数的连接,此时不需要口令。trust认证对于单用户工作站的本地连接是非常合适和方便的,通常不适用于多用户环境。如果想使用这种认证方法,可利用文件系统权限限制对服务器的Unix域套接字文件的访问。要使用这种限制有两个方法:设置参数unix_socket_permissionsunix_socket_group。设置参数unix_socket_directory,将Unix域套接字文件放在一个经过恰当限制的目录里。须知:设置文件系统权限只能Unix域套接字连接,它不会限制本地TCP/IP连接。为保证本地TCP/IP安全,openGauss不允许远程连接使用trust认证方法。
reject 无条件地拒绝连接。常用于过滤某些主机。
md5 要求客户端提供一个md5加密的口令进行认证。须知:MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。openGauss保留md5认证和密码存储,是为了便于第三方工具的使用(比如TPCC评测工具)。
sha256 要求客户端提供一个sha256算法加密的口令进行认证,该口令在传送过程中结合salt(服务器发送给客户端的随机数)的单向sha256加密,增强了安全性。
sm3 要求客户端提供一个sm3算法加密口令进行认证,该口令在传送过程中结合salt(服务器发送给客户端的随机数)的单项sm3的加密,增加了安全性。
cert 客户端证书认证模式,此模式需进行SSL连接配置且需要客户端提供有效的SSL证书,不需要提供用户密码。须知:该认证方式只支持hostssl类型的规则。
gss 使用基于gssapi的kerberos认证。须知:该认证方式依赖kerberos server等组件,仅支持openGauss内部通信认证。当前版本暂不支持外部客户端通过kerberos认证连接。开启openGauss内部kerberos认证会使增加内部节点建连时间,即影响首次涉及内部建连的SQL操作性能,内部连接建立好后, 后续操作不受影响。
peer 获取客户端所在操作系统用户名,并检查与数据库初始用户名是否一致。此方式只支持local模式本地连接,并支持通过配置pg_ident.conf建立操作系统用户与数据库用户映射关系。假设操作系统用户名为omm,数据库初始用户为dbAdmin,在pg_hba.conf中配置local模式为peer认证:local all all peer map=mymap其中map=mymap指定使用的用户名映射,并在pg_ident.conf中添加映射名称为mymap的用户名映射如下:# MAPNAME SYSTEM-USERNAME PG-USERNAME mymap omm dbAdmin说明:通过gs_guc reload方式修改pg_hba.conf配置可以立即生效无需重启数据库。直接编辑修改pg_ident.conf配置后下次连接时自动生效无需重启数据库。

标签:配置文件,数据库,认证,接字,openGauss,数据库安全,连接,客户端
From: https://blog.51cto.com/shuchaoyang/7861466

相关文章

  • openGauss学习笔记-98 openGauss 数据库管理-管理数据库安全-客户端接入认证之配置客
    openGauss学习笔记-98openGauss数据库管理-管理数据库安全-客户端接入认证之配置客户端接入认证98.1背景信息如果主机需要远程连接数据库,必须在数据库系统的配置文件中增加此主机的信息,并且进行客户端接入认证。配置文件(默认名称为pg_hba.conf)存放在数据库的数据目录里。hba(ho......
  • eslint vscode 配置文件
    { "settingsSync.ignoredSettings":[], "vetur.validation.template":false, "workbench.iconTheme":"vscode-icons", "workbench.colorTheme":"OceanicNext", "settingsSync.ignoredExtens......
  • Nginx配置文件中,如何配置启用SignalR
    以下内容包含为SignalR启用WebSocket、ServerSentEvents和LongPolling所需的最低设置:http{map$http_connection$connection_upgrade{"~*Upgrade"$http_connection;defaultkeep-alive;}server{listen80;server_nameexample.com*.......
  • openGauss学习笔记-94 openGauss 数据库管理-访问外部数据库-mysql_fdw
    openGauss学习笔记-94openGauss数据库管理-访问外部数据库-mysql_fdwopenGauss的fdw实现的功能是各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程服务器类型包括Oracle、MySQL(MariaDB)、openGauss(postgres_fdw)、file_fdw、dblink。mysql_f......
  • python如何配置文件路径
    1、获取被调用函数所在的模块文件名,然后获取其路径。2、与配置文件所在的路径进行比较,基于模块文件路径和父级路径的配置文件所在的相对路径,获得配置文件的绝对路径。co_filepath=sys._getframe().f_code.co_filenamehead,tail=os.path.split(co_filepath)conf_filepa......
  • openGauss学习笔记-93 openGauss 数据库管理-访问外部数据库-oracle_fdw
    openGauss学习笔记-93openGauss数据库管理-访问外部数据库-oracle_fdwopenGauss的fdw实现的功能是各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程服务器类型包括Oracle、MySQL(MariaDB)、openGauss(postgres_fdw)、file_fdw、dblink。oracle......
  • redis服务配置文件详解
    bind0.0.0.0#监听地址,可以用空格隔开后多个监听IPprotected-modeyes#redis3.2之后加入的新特性,在没有设置bindIP和密码的时候,redis只允许访问127.0.0.1:6379,可以远程连接,但当访问将提示警告信息并拒绝远程访问port6379#监听端口,默认6379/tcptcp-backlog511#三次......
  • Serverless平台knative第九章配置文件介绍
    knative配置文件[root@ip-172-17-11-227~]#kubectlgetcm-nknative-servingNAMEDATAAGEconfig-autoscaler12d2hconfig-defaults12d2hconfig-deployment22d2hconfig-domain22d2h......
  • openGauss学习笔记-92 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-M
    openGauss学习笔记-92openGauss数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用MOTSQL覆盖和限制MOT设计几乎能够覆盖SQL和未来特性集。例如,大多数支持标准的PostgresSQL,也支持常见的数据库特性,如存储过程、自定义函数等。下面介绍各种SQL覆盖和限制。92.1不支持......
  • Spring Boot中配置文件介绍及其使用教程
    一、配置文件介绍SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.properties或者application.yml或者application.yaml进行配置。SpringBoot默认会从resources目录下加载application.properties或application.yml文件。其中,application.prop......