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)

相关推荐

  • asreml怎样设定初始值

    技术asreml怎样设定初始值asreml怎样设定初始值,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1. 背景一个朋友问我,如何固定asr

    攻略 2021年12月10日
  • linux三剑客之grep 文本过滤器

    技术linux三剑客之grep 文本过滤器 linux三剑客之grep 文本过滤器Linux 三剑客之grep
    三剑客之一:grep 定义: 文本过滤器: 根据文本内容过滤文件。语法格式 :grep 参

    礼包 2021年12月21日
  • 抖音刷粉网站,在线刷抖音赞免费平台?

    技术抖音刷粉网站,在线刷抖音赞免费平台?如何拍摄抖音短视频?什么样的短片被拍出来后播放量会高?以下就让小编来给大家解释一下。如何拍摄想要高播放量的短视频却又不知道如何选择的抖音现在开始在越来越多的年轻人中流行起来,除了因

    测评 2021年10月21日
  • Dev-C++软件如何安装

    技术Dev-C++软件如何安装这篇文章给大家分享的是有关Dev-C++软件如何安装的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。安装教程1、下载后鼠标右击压缩包解压 2、双击安装程序安装 3

    攻略 2021年11月18日
  • wcf核心技术书籍(wcf框架入门教程)

    技术WCF开源地带举例分析这篇文章主要讲解了“WCF开源地带举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF开源地带举例分析”吧!准备:1、安装.NET Fr

    攻略 2021年12月14日
  • C++11容器的insert怎么使用

    技术C++11容器的insert怎么使用本篇内容介绍了“C++11容器的insert怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅

    攻略 2021年11月29日