【发布时间】:2017-09-21 06:11:53
【问题描述】:
在 redshift 集群中有多个数据库,有没有办法让一组用户只能查看集群中的特定数据库,而所有其他数据库对他来说都是隐藏的。 目前所有用户都可以查看集群中的数据库。
【问题讨论】:
-
这会撤销所有数据库的访问权限,我的要求是让用户只能访问一个数据库,当他登录时,用户应该只有他的数据库才能看到他有权访问,而不管有多少数据库出现在集群上。因此,他应该只能查看一个 DB。
-
数据库是否在单独的架构中(或者您可以将其放在单独的架构中)?如果是这样,您可以使用Schema path 来限制他们可以看到的内容。
-
@JohnRotenstein 对于一个 Redshift 6 节点集群,我们在每个数据库下都有示例 5 数据库 (1,2,3,4,5),我们有单独的多个模式。例如:DB 1 有模式(A,B,C),DB 2 有模式(D,E,F)。为了隔离事物,我们想创建 USER,这样,如果他被授予对 DB1 的访问权限,当他通过工具(例如 Agintiy)登录到该集群时,他应该只能查看 DB 1。因此实际上对于这个用户,其他 4 个数据库不应该存在于这个集群上,因为他只查看数据库 1。目前,每个用户都能够查看集群上存在的所有数据库。我们如何创建这样的用户。
标签: amazon-redshift