簡體   English   中英

如何在AWS RDS中的Postgres中創建只讀用戶?

[英]How do I create a readonly user in Postgres in AWS RDS?

我在RDS中創建了一個Postgres實例,並且我通過以下命令創建了一個用戶,但是,他們不斷創建新表,我無法弄清楚如何限制它們的創建。

CREATE USER my_ro_user WITH PASSWORD 'XXXXX';
GRANT CONNECT ON DATABASE "postgres" TO my_ro_user;
GRANT USAGE ON SCHEMA public TO my_ro_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO my_ro_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO my_ro_user;
REVOKE CREATE ON SCHEMA public FROM my_ro_user;

我認為最后一行中的REVOKE會阻止它們創建新表,但似乎並非如此。 我究竟做錯了什么?

默認情況下,public角色也具有對公共模式的創建權限。 由於my_ro_user是public的成員,因此您還需要撤消此操作:

REVOKE CREATE ON SCHEMA public FROM public;

在每個生產數據庫上執行此操作通常是個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM