Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ / /
Pymongo 驱动程序
/ /

x.509

X.509 身份验证机制中,服务器和客户端使用 TLS 协议交换 X.509 公钥证书。您可以使用此机制对MongoDB Atlas、 MongoDB Enterprise Advanced和MongoDB Community Edition进行身份验证。

提示

X.509 机制

要学习;了解如何将 TLS/SSL 与PyMongo结合使用,请参阅 TLS/SSL。

有关 X.509 证书的更多信息,请参阅MongoDB Server手册中的 X. 。509

本页上的代码示例使用以下占位符:

  • +srv:仅当您连接到MongoDB Atlas 群集时,才在连接字符串前缀中包含此选项。 要学习;了解有关+srv 选项的更多信息,请参阅MongoDB Server手册中的连接字符串格式。

  • <hostname>: MongoDB 部署的网络解决。

  • <port>: MongoDB 部署的端口号。 如果省略此参数,驾驶员将使用默认端口号 (27017)。 连接MongoDB Atlas 群集时无需端口号。

  • <path to X.509 certificate>:X.509 证书文件的路径。

  • <X.509 certificate password>:X.509 证书的密码。

要使用本页上的代码示例,请将这些占位符替换为您自己的值。

重要

百分比编码

您必须 用户名和密码,然后再将其包含在 MongoDB URI 中。quote_plus()方法,可在 urllib.parse 模块,是执行此任务的一种方法。例如,调用 quote_plus("and / or") 会返回string and+%2F+or

将用户名或密码作为参数传递给MongoClient时,不要对用户名或密码进行百分号编码。

您可以通过两种方式设置这些选项:将参数传递给 MongoClient 构造函数,或通过连接string中的参数。

client = pymongo.MongoClient("mongodb[+srv]://<hostname>:<port>",
tls=True,
tlsCertificateKeyFile="<path to X.509 certificate>",
tlsCertificateKeyFilePassword="<X.509 certificate password>",
authMechanism="MONGODB-X509")
uri = ("mongodb[+srv]://<hostname>:<port>/?"
"tls=true"
"&tlsCertificateKeyFile=<path to X.509 certificate>"
"&tlsCertificateKeyFilePassword=<X.509 certificate password>"
"&authMechanism=MONGODB-X509")
client = pymongo.MongoClient(uri)

要了解有关在 PyMongo 中对应用程序进行身份验证的更多信息,请参阅以下 API 文档:

后退

SCRAM

在此页面上