我正在使用 Pymongo 编写一个应用程序来访问 MongoDb Atlas 上的数据库,使用一些基本语法,例如:
import pymongo as pm
url = "mongodb+srv://user:[email protected].."
client = pm.MongoClient(url)
db = client.get_database('name_db')
我的问题是,每次从不同的 IP 连接时,我都需要手动登录 mongoDB Atlas 面板并添加新的 IP。 pymongo有没有自动添加用户IP的功能? 抱歉,如果问题很琐碎,我对 mongoDB 世界还是个新手。 谢谢!
如果您的用户可能有任何IP地址,那么您必须允许任何IP地址连接,您无法更改太多。如果您想自动将某些 IP 列入白名单,则与默认将其列入白名单相同。
真的是任何IP吗?您还可以将 IP 范围列入白名单,例如
180.120.32.0/24
适用于从 180.120.32.0
到 180.120.32.255
的所有 IP
关于您的实际问题:是的,这是可能的。
使用 Atlas CLI:
atlas accessLists create --currentIp
或使用 Atlas API:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" \
--digest \
--header "Accept: application/vnd.atlas.2024-05-30+json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/accessList" \
--data '[ { "ipAddress": "180.120.32.120" } ]'
要管理 IP 访问列表条目,您必须具有对项目的
Project Owner
访问权限,这意味着您向用户授予完全管理权限。用户可以做任何事情。例如,删除整个项目或升级集群,您将需要每天为 Atlas MongoDB 支付 1000 美元。您不应该将此权限授予您的最终用户!