密码检查挂钩(passcheck) - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

密码检查挂钩(passcheck)

passcheck 挂钩用于在以下 SQL 命令和 psql 元命令的密码检查过程中自定义 PostgreSQL 行为。

  • CREATE ROLE username ...PASSWORD – 有关更多信息,请参阅 PostgreSQL 文档中的 CREATE ROLE

  • ALTER ROLE username...PASSWORD – 有关更多信息,请参阅 PostgreSQL 文档中的 ALTER ROLE

  • \password username – 此交互式 psql 元命令在透明地使用 ALTER ROLE ... PASSWORD 语法之前,通过对密码进行哈希处理来安全地更改指定用户的密码。元命令是 ALTER ROLE ... PASSWORD 命令的安全包装器,因此挂钩适用于 psql 元命令的行为。

有关示例,请参阅 密码检查挂钩代码列表

函数原型

passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)

Arguments

passcheck 挂钩函数采用以下参数。

  • username – 设置密码的角色(用户名)的名称(文本)。

  • password – 纯文本或哈希处理的密码。输入的密码应与在 password_type 中指定的类型相匹配。

  • password_type – 指定密码的 pgtle.password_type 格式。此格式可能是以下选项之一。

    • PASSWORD_TYPE_PLAINTEXT – 纯文本密码。

    • PASSWORD_TYPE_MD5 – 已使用 MD5(消息摘要 5)算法进行哈希处理的密码。

    • PASSWORD_TYPE_SCRAM_SHA_256 – 已使用 SCRAM-SHA-256 算法进行哈希处理的密码。

  • valid_until – 指定密码变为失效的时间。此参数是可选的。如果使用此参数,请将时间指定为 timestamptz 值。

  • valid_null – 如果此布尔值设置为 true,则 valid_until 选项设置为 NULL

配置

函数 pgtle.enable_password_check 控制 passcheck 挂钩是否处于活动状态。passcheck 挂钩有三种可能的设置。

  • off – 关闭 passcheck 密码检查挂钩。这是默认值。

  • on – 打开 passcode 密码检查挂钩,以便对照表检查密码。

  • require – 需要定义密码检查挂钩。

使用说明

要打开或关闭 passcheck 挂钩,您需要修改 RDS for PostgreSQL 数据库实例的自定义数据库参数组。

对于 Linux、macOS 或 Unix:

aws rds modify-db-parameter-group \ --region aws-region \ --db-parameter-group-name your-custom-parameter-group \ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"

对于 Windows:

aws rds modify-db-parameter-group ^ --region aws-region ^ --db-parameter-group-name your-custom-parameter-group ^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"