CouchDB / Iris Couch - noob安全问题

时间:2011-08-31 17:31:53

标签: couchdb

我一直在玩Iris Couch,使用被褥,卷曲和阅读CouchDB security Wiki page,我对读者,管理员和我有点困惑。服务器管理员。

我是否正确地说,Futon中的“创建服务器管理员”弹出窗口实际创建服务器管理员,(wiki提到这只能通过编辑local.ini来完成)文件)?

您真正在做的是在_users数据库中创建文档 - 为用户提供用户名&要进行身份验证的密码,之后将其名称或角色与针对数据库安全对象定义的任何名称/角色进行比较?

此外,我注意到默认情况下“require_valid_user”设置为false,因此假设Iris Couch有服务器管理员,这是否意味着虽然用户必须提供用户名/密码进行身份验证 - 但它们已被验证为匿名,那么不能对任何数据库定义的安全性进行比较吗?

如果我想将用户限制为特定数据库,是否需要将“require_valid_user”设置设置为true?

干杯

2 个答案:

答案 0 :(得分:4)

使用“创建服务器管理”弹出窗体时,这与编辑.ini文件相同。 (在内部,Futon将查询a / _config URL,这是一个HTTP API来编辑.ini文件。)

_users数据库是所有用户帐户,密码及其角色的权威位置。当用户使用密码(或使用会话cookie)查询CouchDB时,该名称和角色将用于授予或拒绝其查询。是否允许或禁止查询的决定是通过首先检查数据库中的_security对象来做出的。它们必须位于“读者”部分:要么他们的名字在“名称”列表中,要么他们的角色必须在“角色”列表中。

我建议您avoid the require_valid_user option。这是非常特殊的情况。

答案 1 :(得分:3)

您可以拥有特定于数据库的用户和角色。您需要修改给定数据库的_security“文档”。它还记录了维基上的here