RDSforPostgreSQL無法建只讀使用者的問題討論
在阿里雲RDS中的PostgreSQL資料庫中,超級使用者是沒有給到終端使用者的,而是給了一個比較大許可權的使用者,這個使用者可以建立資料庫,可以建立使用者,在通常情況下都是夠用的。最近業務方給我提了一個需求,需要建一個只讀使用者,這個只讀使用者不能有DDL的許可權。目前發現在阿里雲RDS提供的PostgreSQL資料庫中,無法滿足此需要,原因是,任何使用者都能建立表,無法禁止使用者建立表的許可權,更深層次的原因為:
1. 模板資料庫template1中的有一個名稱為“public”的schema,這個“public”的schema的屬主是超級使用者,而這個超級使用者阿里雲沒有給到終端使用者。而使用者自己建立出來的資料庫都是從template1拷貝的,所以使用者建立出來的資料庫中也有一個名稱為“public”的schema,而這個“public”的schema的屬主仍然是原先的超級使用者,而任何人都有在這個“public”的schema中建立表的許可權,而因為我們這些RDS使用使用者沒有超級使用者的許可權,所以無法用“revoke create on schema public from public”的方法取消任何使用者在此schema建表的許可權。而又因為這個“public”的schema的屬主是超級使用者,我們也無法刪除掉這個schema。
目前我們自己是無法解決此問題,只能由阿里雲來解決,解決的建議方法如下:
1. 建議阿里雲預設建立出來的例項把在schema “public”中建立表的許可權回收。
2. 再建立一個的模板資料,如名稱為template2,)然把這個模板資料庫中的public schema刪除掉。
create database template2;
UPDATE pg_database SET datistemplate=`true` WHERE datname=`template2`;
drop schema public;
這樣使用者可以從template2複製出一個資料庫:
create database userdb01 template template2;
這樣建出來的資料庫userdb01中是沒有“public”這個schema的,使用者如果想使用“public”這個schema,可以自己建,因為是使用者自己建的“public”的這個schema,這個“public”的屬主是使用者自己,而不是阿里雲的超級使用者,這樣使用者想讓誰能在這個“public”的schema中建立表或其它許可權,他都可以直接賦權了。
相關文章
- Hibernate 一個更新問題的 討論
- laravel 事件系統 問題討論Laravel事件
- 近期討論過的一些MySQL問題MySql
- 一次詭異的Oracle使用者無法su問題Oracle
- 因為跨域問題導致的無法讀取 response header跨域Header
- Android APP安全問題應對辦法的探討AndroidAPP
- 討論個有關模組化設計的問題
- PostgreSQL建立只讀使用者SQL
- Oracle建立只讀使用者Oracle
- 關於linux切換使用者只顯示$的問題Linux
- 解決無法使用VI的問題
- Windows Defender無法開啟的問題Windows
- K君關於“IT 新人就業方向問題“討論就業
- 請多討論問題,而不是解決方案 - frankel
- swoole websocket 使用 passport 無法獲取當前使用者問題WebPassport
- 10G密碼版本使用者無法登陸問題密碼
- 解決sqlserver資料庫單一使用者無法刪除的問題SQLServer資料庫
- 無障礙閱讀的設定問題。
- 解決codeblocks無法除錯的問題BloC除錯
- CAD 有些字型無法顯示的問題
- autohotkey qt程式中無法使用的問題QT
- 解決Centos無法yum源的問題CentOS
- vscode刷leetcode無法登入的問題VSCodeLeetCode
- victoriaMetrics無法獲取抓取target的問題
- Bootstrap 模態框無法呼叫的問題boot
- vue-cli構建的專案,.vue檔案修改無法熱更新的問題Vue
- PG 資料庫只讀使用者的建立。資料庫
- json無法序列化問題JSON
- Linux無法解析主機問題Linux
- VMware Fusion 13無法使用問題
- 主題討論,第六組
- 資料分析主題討論
- SAP CRM WebClient UI上以html格式顯示note的問題討論WebclientUIHTML
- 解決 raw.githubusercontent.com 無法訪問的問題Github
- 解決寶塔皮膚無法訪問的問題?
- 微信公眾號讀者討論怎麼發起? 微信公眾號文章加讀者討論的技巧
- springboot中靜態頁面無法訪問及return無法重定向問題Spring Boot
- 無法連線windows例項的問題排查Windows
- vue中elementUI樣式無法修改的問題VueUI