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)

相关推荐

  • 怎样进行MS SQL安全身份设置

    技术怎样进行MS SQL安全身份设置本篇文章为大家展示了怎样进行MS SQL安全身份设置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下面的内容涉及到修改NTFS磁盘权限和设置安

    攻略 2021年11月30日
  • 2021 10.26 模拟测试

    技术2021 10.26 模拟测试 2021 10.26 模拟测试\(\mathrm{T1}\)
    \(\mathrm{Solution}\)
    我们可以记录一个\(cnt[x]\)表示到第\(i\)个操作

    礼包 2021年10月27日
  • android怎么新建activity(android activity怎么启动步骤)

    技术Android Activity怎么启动这篇文章主要介绍“Android Activity怎么启动”,在日常操作中,相信很多人在Android Activity怎么启动问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年12月18日
  • 仙宗十友,宋之问是武则天的朋友吗

    技术仙宗十友,宋之问是武则天的朋友吗宋之问(约656年-约712年)仙宗十友,字延清,名少连,唐汾州隰城人(今山西汾阳市)人,一说虢州弘农(今河南灵宝)人,初唐时期的诗人,与沈佺期并称“沈宋”,仙宗十友之一。
    唐高宗上元

    生活 2021年10月19日
  • 布局标签,结构化语义标签)

    技术布局标签,结构化语义标签) 布局标签(结构化语义标签)注意,关注的是语义,而不是样式的区别,下面的这些标签所展示出来的样式都是一样的,都是H5新增的一些标签,当我们遇到这些标签的时候就能够通过语义知

    礼包 2021年12月10日
  • Java复习巩固

    技术Java复习巩固 Java复习巩固第三天:数组,方法
    1.什么是数组
    数组:内存中开辟的一块连续的空间,是用来临时存储同种数据的,要想永久性存储数据,可以存储在数据库里面,也可以通过流存储到文件中。

    礼包 2021年12月3日