Overview
在 X.509 身份验证机制中,服务器和客户端使用 TLS 协议交换 X.509 公钥证书。您可以使用此机制对MongoDB Atlas、 MongoDB Enterprise Advanced和MongoDB Community Edition进行身份验证。
提示
X.509 机制
代码占位符
本页上的代码示例使用以下占位符:
+srv
:仅当您连接到MongoDB Atlas 群集时,才在连接字符串前缀中包含此选项。 要学习;了解有关+srv
选项的更多信息,请参阅MongoDB Server手册中的连接字符串格式。<hostname>
: MongoDB 部署的网络解决。<port>
: MongoDB 部署的端口号。 如果省略此参数,驾驶员将使用默认端口号 (27017
)。 连接MongoDB Atlas 群集时无需端口号。<username>
:与 X.509 证书关联的用户的用户名。 用户名必须与证书的主题标识名匹配。 如果省略此参数, MongoDB 部署将从 X.509 证书推断用户名。<password>
:X.509 证书的密码。
要使用本页上的代码示例,请将这些占位符替换为您自己的值。
在应用程序中使用 X.509 身份验证
X.509身份验证要求结合使用 TLS加密和证书验证。要对客户端进行身份验证,您需要有效的 TLS 证书和私有加密密钥。它们可以存储在单独的文件中,也可以一起存储在一个 .pem
文件中。
注意
即使证书和私钥存储在同一文件中,也必须在 ssl_cert
和 ssl_key
选项中指定该文件的路径。
选择 Connection String 或 Client Options标签页,查看相应的语法:
client = Mongo::Client.new("mongodb[+srv]://<hostname>[:<port>]/?authSource=$external&authMechanism=MONGODB-X509")
client = Mongo::Client.new('<host>', auth_mech: :mongodb_x509, ssl: true, ssl_cert: '/path/to/client.pem', ssl_key: '/path/to/client.pem', ssl_ca_cert: '/path/to/ca.pem')
API 文档
要学习;了解有关此页面上使用的任何MongoDB方法和类型的更多信息,请参阅以下API文档: