PostgreSQL数据库如何实现客户端验证

技术PostgreSQL数据库如何实现客户端验证这篇文章将为大家详细讲解有关PostgreSQL数据库如何实现客户端验证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。身份验证是数据库服

本文将详细说明如何在PostgreSQL数据库中实现客户端验证。边肖觉得挺实用的,就分享给大家参考。希望你看完这篇文章能有所收获。

身份验证是数据库服务器建立客户端身份,并确定是否允许客户端应用程序(或运行客户端应用程序的用户)通过扩展与请求的数据库用户名连接的过程。

可以根据(客户端)主机地址、数据库和用户来选择验证特定客户端连接的方法。

-1.pg_hba.conf文件:

客户端身份验证由pg_hba.conf配置文件控制。存储在数据库的数据目录中。

记录模式:

连接类型数据库名称用户名客户端IP地址范围匹配这些参数的连接的身份验证方法连接类型:

Local:匹配使用Unix域套接字的连接尝试。

主机:匹配使用TCP/IP的连接尝试,主机记录匹配SSL或非SSL连接尝试。

主机:匹配使用TCP/IP的连接尝试,仅当使用ssl加密连接时。

Hostnossl:仅匹配通过TCP/IP进行的连接尝试,而不匹配ssl。database:记录匹配的数据库名称。all指定匹配所有数据库。您可以通过用逗号分隔来提供多个数据库名称。

User:匹配数据库用户名。提供多个用户名,用逗号分隔。

地址:匹配客户端计算机地址。它可以包括主机名或IP地址范围。0.0.0.0/0表示所有IPv4地址,33600/0表示所有IPv6地址。方法:

记录匹配时使用的身份验证方法。

Trust:允许无条件连接。允许所有没有密码和其他身份验证的连接。

Reject:无条件拒绝连接。

急停-急停-sha-256:执行急停-sha-256认证,以验证用户的密码。

MD5:执行SCRAM-SHA-256或MD5身份验证,以验证用户的密码。

Password:要求客户端提供未加密的密码进行身份验证。网络明文传输不安全。

Gss:使用GSSAPI对用户进行认证。这仅适用于TCP/IP连接。

Ident:和客户端的Ident服务器获取客户端主机的用户名。并检查它是否与请求的数据库用户名匹配。身份验证只能用于TCP/IP连接。

Peer:从操作系统获取主机名,仅适用于本地连接。

nbsp;    cert : 使用SSL客户端证书进行身份验证。
        pam : 使用操作系统提供的可插入身份验证模块(PAM)服务进行身份验证。

– 2. ident用户名: 配置文件:pg_ident.conf

    记录格式: MAPNAME       SYSTEM-USERNAME         PG-USERNAME
    用户名映射在ident映射文件中定义.

– 3. 认证方法:

    信任认证: 
        在与服务器的连接上有足够的操作系统级保护时,才应使用.
        trust如果使用文件系统权限限制对服务器的Unix域套接字文件的访问,则可以在多用户计算机上使用.
    密码认证:
        scram-sha-256身份认证:
            防止密码嗅探不受信任的连接,并支持以加密的哈希形式在服务器上存储密码.
        md5:
            防止密码嗅探并避免以明文形式在服务器上存储密码.
        
        优选选择基于SCRAM的身份验证。
        password 明文形式发送密码,连接受SSL加密保护才可使用。
        
        每个数据库用户的密码都存储在pg_authid系统目录中

– 4. GSSAPI身份验证:

       GSSAPI提供了一种用于支持它的系统自动认证(单点登录)。身份验证本身是安全的.除非使用SSL。
       构建PostgreSQL时必须启用GSSAPI支持。
    身份验证:
        ident身份验证方法的工作原理是从身份服务器获取客户端的操作系统用户名,
        并将其用作允许的数据库用户名,在TCP / IP连接上受支持.
    对等身份验证:
        对等身份验证方法的工作原理是从内核获取客户端的操作系统用户名,
        并将其用作允许的数据库用户名.仅在本地连接时支持。
    
    证书认证:
        使用SSL客户端证书执行身份验证. 仅适用于SSL连接.
        使用此身份验证方法时,服务器将要求客户端提供有效的可信证书。没有密码提示将被发送到客户端。
        cn证书的(公共名称)属性将与请求的数据库用户名进行比较,如果匹配,则允许登录.

关于“PostgreSQL数据库如何实现客户端验证”这篇文章就分享到这里了,希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/116457.html

(0)

相关推荐

  • 六允读什么,允字上部是什么字,读音是什么

    技术六允读什么,允字上部是什么字,读音是什么“允”字的拼音是yǔn六允读什么。
    1、允的解释:一是答应,认可;二是公平得当;三是信,实;四是宽容,理解;五是包容;六是大、极致。
    2、组词、解释及造句
    (1)允许(yǔnx

    生活 2021年10月25日
  • JavaScript中函数调用栈是怎么工作的

    技术JavaScript中函数调用栈是怎么工作的这篇文章将为大家详细讲解有关JavaScript中函数调用栈是怎么工作的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。合理地处理堆栈信息

    攻略 2021年11月6日
  • 兄弟造句两种意思造句,一个词语有两个意思,造句

    技术兄弟造句两种意思造句,一个词语有两个意思,造句一兄弟造句两种意思造句、手腕  1、手和臂连接的部分。
    举例:那用圆润的手腕,遮着太阳,一对黑大的眼睛,向我注视的,不是S是谁?
    2、手段,伎俩。
    举例:他作梦也想

    生活 2021年10月25日
  • 如何远程部署应用到Tomcat

    技术如何远程部署应用到Tomcat如何远程部署应用到Tomcat,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前几天有人在群里提了个问题:怎么样通过程序

    攻略 2021年11月18日
  • C++怎么正确使用线程

    技术C++怎么正确使用线程这篇文章主要介绍“C++怎么正确使用线程”,在日常操作中,相信很多人在C++怎么正确使用线程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么正确使用线程”

    攻略 2021年11月25日
  • mairadb+galera+haproxy+keepalived如何实现mysql负载均衡与高可用

    技术mairadb+galera+haproxy+keepalived如何实现mysql负载均衡与高可用这篇文章主要介绍了mairadb+galera+haproxy+keepalived如何实现mysql负载均衡与高可

    攻略 2021年12月8日