1

我最近在我的服務器上設置了CouchDB,但我遇到了缺少更改權限的信息。我有一個管理員帳戶,所以它不是admin party,但限制仍然比我想要的寬鬆。爲非管理員配置CouchDB爲只讀

我想爲未認證的用戶提供只讀界面(我已經公開)。如果我理解正確的,因爲它是,任何訪客到暴露的被褥接口可以成爲成員,誰是

允許讀取所有文件,並創建和修改任何文檔,除了設計文件。

我想將這些能力帶走,並配置CouchDB,以便未經身份驗證的用戶既不能創建文檔也不能成爲用戶。基本上,我希望CouchDB對除我以外的每個人都是隻讀的。

看着the docs about security,有辦法限制對註冊成員的任何形式的數據庫的訪問,但我想繼續讓未經身份驗證的用戶擁有隻讀訪問權限。據this page

如果有一個數據庫中定義的任何成員名稱或角色,然後有一個匹配的名稱或角色只有經過身份驗證的用戶可以從數據庫中讀取文件(或做GET /{db}調用)。

這樣也會限制讀訪問。

有什麼方法可以微調CouchDB上的權限設置嗎?

回答

1

我結束了使用nginx配置來阻止所有非GET請求。這允許任何人讀取數據庫,但是阻止寫入數據庫。

但是:

  • 我不能安全地暴露現在
  • 蒲團作爲管理員,我不能編輯數據庫

但要解決這些

  • 我可能會寫一個新的CouchDB接口,它只暴露讀取功能
  • 我可以通過SSH port forwarding進行管理。

如果nginx阻塞是不是安全的,我喜歡它,如果有人可以讓我知道

1

要簡單地解決您的問題,請爲您的管理員分配一個角色(例如:「ADMIN」)。

然後,在foreach數據庫中,將「Admin」權限限制爲角色「ADMIN」。

默認情況下,新註冊的用戶不會有任何角色,因此他將無法以管理員身份訪問數據庫。

+0

無法在新註冊的用戶仍然創建文檔,雖然? –

+2

你是對的,這不會解決你的問題。看看[這個](http://stackoverflow.com/questions/10713437/couchdb-wide-read-only-access-rights) –

+2

驗證功能看起來像我正在尋找的答案。謝謝! –

相關問題