gpt4 book ai didi

sql - 对某些用户隐藏 Amazon Redshift 集群中的数据库

转载 作者:行者123 更新时间:2023-12-03 15:52:36 25 4
gpt4 key购买 nike

是否可以隐藏数据库的存在和访问权限 (包括他们的模式、表格等)来自某些用户 在 Amazon Redshift 内 .
默认情况下,似乎每个用户都可以看到其他数据库,即使他没有选择数据的权限,也没有任何其他(非默认)权限。

我试过

REVOKE ALL PRIVILEGES ON DATABASE testdb FROM testdbuser;

和类似但仍然是 testdbuser 可以连接到 testdb 数据库,甚至可以在 SQL 工具(此处:Aginity Redshift Workbench)中查看其对象浏览器中的所有其他对象。

理想情况下,testdbuser 除了明确授予访问权限的内容外,将无法看到其他任何内容。

注意,testdbuser 不是 super 用户。

谢谢!

最佳答案

尝试从 PUBLIC 组中撤销对特定用户

REVOKE USAGE ON SCHEMA information_schema FROM PUBLIC;
REVOKE USAGE ON SCHEMA pg_catalog FROM PUBLIC; -- This should suffice, but...
REVOKE SELECT ON TABLE pg_catalog.pg_database FROM PUBLIC; -- just to be sure.

请注意,这可能会对所选数据库中的所有用户产生不良影响。
您将需要在所有数据库上执行此操作,因为用户可以猜测另一个数据库名称并在那里查看 pg_catalog 信息。

用户仍然可以通过暴力攻击找到所有数据库,只需尝试切换或连接到所有可能的字符串即可。

关于sql - 对某些用户隐藏 Amazon Redshift 集群中的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com