如何允许 Amazon Redshift 数据库普通用户查看我的集群中其他用户系统表中的数据?

1 分钟阅读
0

我无法查看我的 Amazon Redshift 集群的系统表中其他用户生成的数据。怎样才能查看这些表?

简短描述

默认情况下,Amazon Redshift 普通用户无权查看其他用户的数据。只有 Amazon Redshift 数据库超级用户有权查看所有数据库。

解决方法

您可以添加具有 UNRESTRICTED 访问权限的 SYSLOG ACCESS 参数,以便普通用户能够查看系统表中其他用户生成的数据。

**注意:**使用 SYSLOG ACCESS 的普通用户无法查看超级用户表。只有超级用户才能查看其他超级用户表。

1.    以超级用户身份连接到 Amazon Redshift 数据库。

2.    运行 SQL 命令 ALTER USER,类似以下内容:

test=# ALTER USER testuser WITH SYSLOG ACCESS UNRESTRICTED;
ALTER USER

注意:ALTER USER 所需权限为超级用户、拥有 ALTER USER 权限的用户以及想要更改自己密码的用户。

普通用户现在拥有 UNRESTRICTED 访问权限的 SYSLOG ACCESS。

3.    以超级用户身份断开与 Amazon Redshift 数据库的连接。

4.    以具有 UNRESTRICTED 访问权限的 SYSLOG ACCESS 的普通用户身份连接到 Amazon Redshift 数据库。

5.    通过运行类似于以下内容的 SQL 命令来测试普通用户的访问权限:

test=> select * from stv_inflight;
-[ RECORD 1 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
userid                     | 100
slice                      | 12811
query                      | 3036
label                      | default                                  
xid                        | 35079530
pid                        | 1073746910
starttime                  | 2022-09-15 07:09:15.894317
text                       | select * from my_schema.dw_lu_tiers_test a, my_schema.dw_lu_tiers_test;                         
       
suspended                  | 0
insert_pristine            | 0
concurrency_scaling_status | 0
-[ RECORD 2 ]--------------+---------------------------------------------------------------------------------------------------------------------------------------------------
userid                     | 181
slice                      | 12811
query                      | 3038
label                      | default
xid                        | 35079531
pid                        | 1073877909
starttime                  | 2022-09-15 07:09:17.694285
text                       | select * from stv_inflight;                                       
                                     
suspended                  | 0
insert_pristine            | 0
concurrency_scaling_status | 0

在示例输出中,请注意,普通用户现在有权查看其他用户表。


AWS 官方
AWS 官方已更新 2 年前