客户端身份验证

身份验证记录及其相关方法用于定义用户/客户端应用程序必须提供哪些凭据才能访问数据库。例如,hash 身份验证方法要求用户提供密码,而 oauth 身份验证方法要求用户提供访问令牌。

客户端身份验证概述

Vertica 按照以下过程对用户进行身份验证:

  1. 如果客户端尝试以来自本地连接的 dbadmin(即与数据库位于相同的节点上)身份进行身份验证:

    • 如果 dbadmin 没有密码,Vertica 会使用 trust 方法对客户端进行身份验证。

    • 如果 dbadmin 具有密码,Vertica 会使用 hash 方法对客户端进行身份验证。

  2. 如果客户端尝试以没有密码的数据库用户身份进行身份验证,且定义的唯一身份验证记录为默认记录,则 Vertica 会使用 trust 方法对客户端进行身份验证。有关详细信息,请参阅隐式身份验证

  3. 如果客户端尝试以具有密码和身份验证记录的用户身份进行身份验证,则 Vertica 会尝试使用该记录对客户端进行身份验证。如果某个用户或角色存在多个身份验证记录,Vertica 将选择优先级最高的记录。

  4. 如果客户端使用所选身份验证方法验证失败,且身份验证 fallthrough 已启用,Vertica 将尝试使用下一个优先级最高的身份验证方法来对客户端进行身份验证。否则,客户端将被拒绝。

  5. 除此之外,如果身份验证记录不存在,且默认身份验证记录已被删除;则所有用户(来自本地连接的 dbadmin 除外)均不能访问数据库。

身份验证管理

具有 DBADMIN 角色的用户可以执行以下身份验证任务: