密码哈希算法

Vertica 不存储 hash 身份验证方法的用户密码。相反,Vertica 存储密码的哈希值。哈希算法由两个参数决定:

  • 系统级别配置参数 SecurityAlgorithm

    => ALTER DATABASE DEFAULT SET PARAMETER SecurityAlgorithm = 'hashing_algorithm';
    
  • 用户级别参数 SECURITY_ALGORITHM

    => ALTER USER username SECURITY_ALGORITHM 'hashing_algorithm' IDENTIFIED BY 'new_password';
    

系统级别参数 SecurityAlgorithm 可以具有以下值:

  • SHA512 (默认值)

  • MD5

用户级别参数 SECURITY_ALGORITHM 可以具有以下值。非 NONE 值将优于系统级别参数:

  • NONE (默认使用通过系统级别参数 SecurityAlgorithm 指定的算法)

  • SHA512

  • MD5

用户的 EFFECTIVE_SECURITY_ALGORITHM 由系统级别参数和用户级别参数两者决定。如果将用户级别参数设置为 NONE,则系统级别参数的算法将作为有效的安全算法。您可以通过将用户级别参数设置为非 NONE 值来覆盖特定用户的系统级别参数。

您可以通过查询系统表 PASSWORD_AUDITOR 查看这些参数及其对每个用户的影响。

下表显示了系统级别参数和用户级别参数的各种组合以及每种组合的有效安全算法。

FIPS 模式将有效的安全算法强制设置为 SHA-512。