我正在爲內部儀表板創建一個PostgreSQL用戶,我希望用戶對db的訪問權限默認爲只讀。如何讓用戶Ansible設置PostgreSQL的只讀角色?
我做了一些研究,這似乎是一個有點複雜,創建一個只讀用戶誰也繼承到任何新表的訪問,物化視圖等
所以我覺得最簡單的事情就是設置:
ALTER USER readuser SET default_transaction_read_only = on;
如何使用Ansible PostgreSQL模塊來設置它?
我不確定我是否應該使用postgresql_privs
或postgresql_user
模塊。我嘗試了priv
屬性的不同值,但無法獲取任何內容。
我知道這不能保證只讀,因爲用戶可以在運行時更改事務的類型。但是,這對我的用例來說很好,因爲安全性不是問題,我只是想防止無知的用戶意外修改數據。如果某人有足夠的知識來改變他們的交易,我寧願假設他們知道他們在做什麼並且有合理的理由。