vertica 中的用户限制

User restriction in vertica

我在 vertica 中有一些 public 函数。我想在 vertica 中创建一个只读用户,他只能访问定义模式中的数据 tables 而不能访问 v_catalog(Information_schema) 列出所有 table名字。是否有可能在 vertica 中创建一个用户,该用户可以被限制使用任何系统命令,但可以访问 public 函数和 UDFS 并在定义的模式中仅执行 select 命令。

如果您创建一个用户,则该用户被授予的唯一角色是 PUBLIC

授予 PUBLIC 的所有内容都将授予新用户。

新用户登录后,如果不存在授予 PUBLIC 的 table,SELECT * FROM v_catalog.tables; 将 return 为空 table.

如果我是你,我会创建一个用户,作为 dbadmin:

CREATE USER marvin IDENTIFIED BY 'heart_of_gold';

然后,我将以该用户身份登录:

vsql -U marvin -w heart_of_gold -h 00.000.000.00 -d dbname

然后,尝试各种查询,看看我可以做什么;然后以 dbadmin 身份重新登录,将一些东西授予 marvin,看看会发生什么。

并查看有关 GRANT 命令的 Vertica 文档,了解可以授予和撤销的内容。我就是这样做的,直到我对自己想要实现的目标充满信心为止..

祝你好运,玩的开心