Ident 身份验证

RFC 1413 中定义的 Ident 协议使用系统用户名对数据库用户进行身份验证。要查看该系统用户是否可以在不指定密码的情况下登录,您需要将 Vertica 客户端身份验证配置为查询 Ident 服务器。借助此功能,DBADMIN 用户可以运行自动化脚本以在 Vertica 服务器上执行任务。

按照以下主题中的说明为您的数据库安装、设置和配置 Ident 身份验证:

示例

以下示例显示了配置 Ident 身份验证的几种方法。

允许 system_user1 以 Vertica vuser1 的身份连接到数据库:

=> CREATE AUTHENTICATION v_ident METHOD 'ident' LOCAL;
=> ALTER AUTHENTICATION v_ident SET system_users='system_user1';
=> GRANT AUTHENTICATION v_ident to vuser1;
=> ALTER AUTHENTICATION v_ident ENABLE;

允许 system_user1system_user2system_user3vuser1 的身份连接到数据库。使用冒号 (:) 分隔用户名:

=> CREATE AUTHENTICATION v_ident METHOD 'ident' LOCAL;
=> ALTER AUTHENTICATION v_ident SET system_users='system_user1:system_user2:system_user3';
=> GRANT AUTHENTICATION v_ident TO vuser1;
=> ALTER AUTHENTICATION v_ident ENABLE;

使用 GRANT AUTHENTICATION 语句将身份验证与 Public 相关联。用户 system_user1system_user2system_user3 现在可以以任意数据库用户身份连接到数据库:

=> CREATE AUTHENTICATION v_ident METHOD 'ident' LOCAL;
=> ALTER AUTHENTICATION v_ident SET system_users='system_user1:system_user2:system_user3';
=> GRANT AUTHENTICATION v_ident to Public;
=> ALTER AUTHENTICATION v_ident ENABLE;

system_users 参数设置为 *,以允许任何系统用户以 vuser1 的身份连接到数据库:

=> CREATE AUTHENTICATION v_ident METHOD 'ident' LOCAL;
=> ALTER AUTHENTICATION v_ident SET system_users='*';
=> GRANT AUTHENTICATION v_ident TO vuser1;
=> ALTER AUTHENTICATION v_ident ENABLE;

使用 GRANT 语句,将 v_ident 身份验证与 Public 相关联,以允许 system_user1 以任意数据库用户身份登录数据库:

=> CREATE AUTHENTICATION v_ident METHOD 'ident' LOCAL;
=> ALTER AUTHENTICATION v_ident SET system_users='system_user1';
=> GRANT AUTHENTICATION v_ident to Public;
=> ALTER AUTHENTICATION v_ident ENABLE;