我有一个连接到MongoDB Atlas的Ruby脚本,用于获取一些数据。如果我做的话,它确实可以正常工作
但是,它在kubernetes中不起作用,我正在使用EKS。
我已经尝试过列出的所有项目,并确保该用户位于MongoDB Atlas上。
这几乎是我收到的输出:
User moon (mechanism: scram) is not authorized to access test (used mechanism: SCRAM-SHA-1) (Mongo::Auth::Unauthorized)
我将不胜感激。
答案 0 :(得分:0)
我发现了什么
用户权限配置丢失了:
根据文档: Create a MongoDB User for Your Cluster。
您必须创建一个MongoDB用户才能访问您的部署。为了安全起见,Atlas要求客户端以MongoDB用户身份进行身份验证才能访问群集。
MongoDB用户与Atlas用户是分开的:
MongoDB用户可以访问Atlas中托管的数据库。 Atlas用户可以登录Atlas,但无权访问MongoDB数据库。
希望获得帮助。
答案 1 :(得分:0)
通过在连接字符串中添加&authSource=admin
来解决。