Permissions
在 Redshift 中的所有表上授予 SELECT
我正在嘗試為
SELECT
Redshift 中的組分配權限。所以我在該組中創建了一個組和一個使用者:CREATE GROUP data_viewers; CREATE USER <user> PASSWORD '<password>' IN GROUP data_viewers;
現在我想讓這個組能夠從任何表中讀取數據:
GRANT SELECT ON ALL TABLES IN SCHEMA PUBLIC TO GROUP data_viewers;
命令返回
GRANT
。現在,當我以新創建的使用者身份連接到 Redshift 並發出問題時,SELECT * FROM something.something;
我得到:架構某些東西的權限被拒絕
我嘗試授予某些東西的權限:
GRANT SELECT ON ALL TABLES IN SCHEMA something TO GROUP data_viewers;
但這並沒有改變任何東西。如何允許我的組中的使用者從
SELECT
架構中的任何表中獲取數據?
您還需要
USAGE
(至少)架構的特權:GRANT USAGE ON SCHEMA something TO GROUP data_viewers;
相關的 Postgres 範例:
請記住,您只授予對現有表的權限。不適用於以後創建的表。為了涵蓋這些,也:
ALTER DEFAULT PRIVILEGES FOR USER role_that_creates_tables IN SCHEMA public GRANT SELECT ON TABLES TO GROUP data_viewers;
Amazon Redshift 也實施
DEFAULT PRIVILEGES
了。這是 Postgres 的完整食譜:
請注意主線 Postgres 和 Redshift 之間的**一些差異!**Redshift 堅持將使用者和組分開,而 Postgres 用通用的角色概念取代了它:
而且我不確定 Redshift 如何處理序列…