Pymongo:自动IP

问题描述 投票:0回答:1

我正在使用 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 世界还是个新手。 谢谢!

python mongodb ip
1个回答
0
投票

如果您的用户可能有任何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 美元。您不应该将此权限授予您的最终用户!

© www.soinside.com 2019 - 2024. All rights reserved.