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中建立表或其它許可權,他都可以直接賦權了。
相關文章
- laravel 事件系統 問題討論Laravel事件
- oracle 10g 建立只讀使用者語法Oracle 10g
- 近期討論過的一些MySQL問題MySql
- Excel無法做到的問題Excel
- 給使用者資訊加密的問題探討加密
- PG 裡面的只讀使用者,只讀資料庫資料庫
- 討論個有關模組化設計的問題
- 我們無法從這裡到達那裡——關於《平面宇宙》的閱讀、討論和思考
- 一次詭異的Oracle使用者無法su問題Oracle
- 解決無法切換到jenkins使用者的問題Jenkins
- Emacs golang使用者程式碼無法補全問題MacGolang
- oracle使用者討論組Oracle
- 索引無法消除排序的問題索引排序
- mysql的root使用者無法給普通使用者授權問題處理MySql
- Oracle建立只讀使用者Oracle
- [技術討論]產品規劃的週期問題
- [技術討論]多人併發開發中的問題
- 討論java與sql server相容性問題JavaSQLServer
- brandwatch:通過使用者的討論話題認識Twitter
- Linux Centos 普通使用者無法登陸SSH 問題LinuxCentOS
- Linux CentOS普通使用者無法登陸SSH問題LinuxCentOS
- [技術討論]多使用者(多公司)的資料庫設計討論資料庫
- 因為跨域問題導致的無法讀取 response header跨域Header
- JSP的中文問題再問(一些理論上的探討)JS
- SYS使用者可以登入,其他使用者無法登陸的問題處理
- ORACLE中國使用者討論組Oracle
- 中國ORACLE使用者討論組Oracle
- 解決無法使用VI的問題
- 無法執行的update問題解析
- oracle 使用者的只讀許可權Oracle
- 和開發同學討論的一個技術問題
- 提一個巨難的問題,請高手們來討論..
- 一個XML資料統計問題,期待大家的討論XML
- 從系統管理員的角度討論UNIX安全問題(轉)
- K君關於“IT 新人就業方向問題“討論就業
- 請多討論問題,而不是解決方案 - frankel
- 各位道友,進來討論個介面設計問題!
- 只讀表空間的恢復問題--預備知識