您好我需要知道Postgres
中是否有与以下MySql
句子相同的句子:
GRANT USAGE ON *.* TO ‘%’@’%’ REQUIRE SSL
我希望所有用户通过SSL
连接直接连接到数据库。
由于
答案 0 :(得分:2)
PostgreSQL中的权限本身(通过GRANT
)不考虑角色的身份验证方式。身份验证在pg_hba.conf
中配置。
您仍然需要使用GRANT
,只需根据您的应用程序的要求,在表格,架构,视图等上授予对该角色的访问权限。
如果您只想在使用SSL时授予访问权限,请在hostssl
中使用host
代替pg_hba.conf
。 (host
实际上是hostssl
或hostnossl
。)
请注意,与从HTTP到HTTPS的HTTP重定向一样,此安全措施本身仅用于防止被动攻击者充其量。否则,MITM攻击者可以拦截纯文本连接并使用SSL将其自身转发到您的服务器。服务器不会知道它(除非使用客户端证书)。
与往常一样,您需要确保您的客户知道他们需要使用SSL,并确保他们正确验证服务器证书。更具体地说,如果他们使用依赖libpq
的工具,他们需要正确配置您的CA证书(或您的服务器证书)并使用verify-full
,以防止MITM攻击。< / p>