簡體   English   中英

使用 MongoClient 時,AWS lambda 獲得“未授權執行操作”,與 mongoose 一起工作正常,從 shell 運行命令時工作正常

[英]AWS lambda getting 'unauthorized to perfrom action' when using MongoClient, works fine with mongoose, works fine when running command from shell

這是架構:我有一個運行在 EC2 上的 MongoDB。 當我通過 ssh 連接到 EC2 並運行mongo dbname -u username -p password我能夠執行插入到集合中時,這應該意味着用戶在 dbname 中具有對集合執行插入的權限

另一方面,我有一個 AWS lambda,配置了 VPC。 使用 mongodb.MongoClient 進行連接時,我已通過身份驗證,並且 client.isConnected() 返回 true 但 db.collection().insertOne(...) 引發錯誤,指出我無權對 dbname 執行操作插入。 用於連接的連接字符串包含用於連接到 mongo shell 的相同用戶名和密碼。 我嘗試使用相同的選項連接到 mongodb,但使用 mongoose 並且它沒有引發任何錯誤

使用的連接字符串是什么? 你能嘗試模擬 lambda 在本地做什么嗎? 您可以嘗試使用與您的 lambda 相同的連接字符串將本地 mongo 客戶端連接到您的數據庫嗎?

你連接到正確的數據庫嗎? 您的用戶設置是在自定義數據庫上還是在默認管理數據庫上? 您的更新權限設置在正確的數據庫上嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM