2011-06-23 63 views
1

長時間潛伏者,第一次海報,請忍受我。Mongodb autosharding與身份驗證

我試圖建立一個分片,安全的Mongodb環境。我想利用Mongo的自動查詢功能,因爲我對數據庫很陌生,時間緊。

似乎autosharding只適用於個人集合(表),但我不希望用戶有權訪問整個集合。此外,mongoDB只允許對數據庫進行身份驗證,因此一旦通過身份驗證,用戶就可以看到1)數據庫中的每個集合以及2)每個集合中的所有數據。所以,據我所知,我可以有自動分割和不認證,或手動分片和認證。

我想兩全其美,那就是:自動粉碎和認證。這可能嗎?如果不是,我應該如何去關於MongoDB中的手動分片?

該系統的簡化使用案例:collection'Users'擁有每個用戶的數據。我想驗證用戶X,以便X只能查看用戶集合中的X數據。用戶分佈在多個由user_name分區(分片)的服務器上。

回答

5

MongoDb沒有像傳統SQL數據庫那樣的身份驗證。事實上,如果您閱讀手冊,建議您使用安全環境而不是使用身份驗證。對您的數據的任何訪問控制都將在您的應用程序中實施。

即使使用傳統的SQL,訪問也不是按行控制的。這通常是基於數據中的某種關鍵在應用程序級別實現的。

+0

謝謝datasage。我想我會嘗試一個由用戶手動分區的混合系統,這樣每個用戶都有自己的db,然後分解每個userdb.collection。我可能也會通過客戶端爲整個系統實現某種安全。 – jacobra