如何配置Python使用的仅读权限MongoDB连接字符串
MongoDB只读权限连接字符串配置方法
首先明确核心逻辑:MongoDB 的权限是服务端针对数据库用户分配的,连接字符串本身不直接控制权限,你需要先在MongoDB服务端配置只读权限的用户,再用该用户的账号密码生成对应连接字符串即可。
具体操作步骤
- 登录你的MongoDB管理入口:如果是MongoDB Atlas集群就进入「Database Access」管理页,自建集群就用高权限账号登录Mongo Shell
- 新建专属只读用户(或调整现有用户的角色配置):
- 仅需要访问指定数据库(比如你示例中的
myFirstDatabase)的话,给用户分配对应数据库的read角色即可 - 需要访问集群内所有数据库的话,分配
readAnyDatabase角色 - 注意不要给该用户分配任何带write、update、delete、dbAdmin后缀的权限角色
- 仅需要访问指定数据库(比如你示例中的
- 替换原有连接字符串中的用户名、密码字段为只读用户的凭证,其余参数无需修改即可使用
配置完成的连接串示例
假设你新建的只读用户名为readonly_user,密码为test_pwd123,最终连接串如下:mongodb+srv://readonly_user:test_pwd123@cluster0.zev7c.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
权限验证方式
使用该连接串在Python中运行你示例中的插入代码:
document= {"studentid" : 1, "studentName" : "Rajkumar", "Branch" : "Mechanical", "joinedyear" : 2016, "Hostel" : "A1"} x=collec.insert_one(document)
程序会抛出权限不足的错误,仅find()等读操作可以正常执行,即代表只读权限配置生效。
内容的提问来源于stack exchange,提问作者usmansharif shaik
相关产品推荐
相关产品推荐

