隐藏某些用户在红移群集中的特定数据库

时间:2017-09-21 06:11:54

标签: amazon-redshift

在红移群集中有多个数据库,有一种方法是一组用户只能查看群集中的特定数据库,并且所有其他数据库都隐藏给他。 目前,所有用户都可以在群集中查看数据库。

2 个答案:

答案 0 :(得分:0)

我怀疑这是不可能的。

privileges that can be granted in PostgreSQL 8(Redshift所基于的)是:

GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
    [,...] | ALL [ PRIVILEGES ] }
    ON [ TABLE ] tablename [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }
    ON DATABASE dbname [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }
    ON FUNCTION funcname ([type, ...]) [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }
    ON LANGUAGE langname [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
    ON SCHEMA schemaname [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }
    ON TABLESPACE tablespacename [, ...]
    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

在表级,无法控制可见性。

最接近架构级别,可以授予他们是否可以使用架构的权限。

答案 1 :(得分:0)

那是不可能的。您可以执行的最大操作是撤消(或不授予)对要隐藏的表的架构/访问的使用。

用户仍然可以查看列表中的架构/表,其所有属性(主键,列等),但无法查看任何数据,这应该足以满足预期的数据保护。