我希望允許 Amazon Redshift 使用者檢視其他使用者在 Amazon Redshift 叢集系統資料表中產生的資料。
解決方法
預設情況下,只有 Amazon Redshift 資料庫超級使用者有權查看所有資料庫。若要查看其他使用者在系統資料表中產生的資料,請新增具有 UNRESTRICTED 存取權的 SYSLOG ACCESS 參數。
**注意:**具有 SYSLOG ACCESS 權限的使用者無法檢視超級使用者資料表。只有超級使用者能檢視其他超級使用者資料表。
請完成下列步驟:
-
以超級使用者身分連接到 Amazon Redshift 資料庫。
-
執行 SQL ALTER USER 命令:
test=# ALTER USER testuser WITH SYSLOG ACCESS UNRESTRICTED;
ALTER USER
**注意:**將 testuser 替換為您提供存取權的使用者名稱。另外,請查看 ALTER USER 所需的權限。
-
以超級使用者身分中斷與 Amazon Redshift 資料庫的連線。
-
以具有 SYSLOG ACCESS 和 UNRESTRICTED 存取權的使用者身分連接到 Amazon Redshift 資料庫。
-
執行以下命令來測試您的存取權:
test=> select * from stv_inflight;
以下範例輸出顯示您授予 UNRESTRICTED 存取權的使用者,現在有權檢視使用者的資料表。
-[ 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