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)

相关推荐

  • 部署SD-WAN之前要执行的三个步骤分别是什么

    技术部署SD-WAN之前要执行的三个步骤分别是什么部署SD-WAN之前要执行的三个步骤分别是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。随着企业制

    攻略 2021年11月24日
  • Oracle Study在AIX环境下如何构建主机信任关系

    技术Oracle Study在AIX环境下如何构建主机信任关系这篇文章主要介绍Oracle Study在AIX环境下如何构建主机信任关系,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在AIX环境下

    攻略 2021年11月24日
  • 英国的英语怎么说,“UK”是王国还是帝国

    技术英国的英语怎么说,“UK”是王国还是帝国UK全程是United Kingdom of Great Britain and Northern Ireland——大不列颠和北爱尔兰联合王国英国的英语怎么说。简称联合王国—

    生活 2021年10月25日
  • valet有适合TP5的驱动吗

    技术valet有适合TP5的驱动吗这篇文章主要讲解了“valet有适合TP5的驱动吗”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“valet有适合TP5的驱动吗”吧!va

    攻略 2021年10月21日
  • 怎么使用DETERMINISTIC函数

    技术怎么使用DETERMINISTIC函数这篇文章主要讲解了“怎么使用DETERMINISTIC函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用DETERMIN

    攻略 2021年11月8日
  • 美国服务器如何选择合适服务商

    技术美国服务器如何选择合适服务商对于博客作者和小型网站而言,为其网站提供合适的网络服务器非常重要。这是为了确保他们的网站随时能够访问。各种各样的供应商这为购买者提供了足够的灵活性来做出正确的选择。然而,如何选择合适的服务

    礼包 2021年10月26日