Overview
MONGODB-X509身份验证机制将传输级安全性 (TLS) 与 X.509 证书结合使用,对用户进行身份验证,该用户由客户端证书的相对标识名 (RDN) 进行标识。
您可以使用 X.509 对MongoDB Atlas、 MongoDB Enterprise Advanced和MongoDB Community Edition进行身份验证。
提示
要学习;了解有关 X.509 证书的更多信息,请参阅MongoDB Server手册中的 x.509。
代码占位符
本页上的代码示例使用以下占位符:
path to CA certificate:CA 文件的文件路径path to private client key:证书密钥文件的文件路径password for client key:用于解密客户端密钥的密码db:与用户关联的身份验证数据库
设置
指定此身份验证机制时,必须提供以下文件:
证书颁发机构 (CA)文件,其中包含建立 TLS 连接时要信任的一个或多个证书颁发机构。在连接到服务器之前,驱动程序使用此文件验证服务器的证书是否来自指定的证书颁发机构之一。
证书密钥文件,其中包含客户端证书和私钥。驱动程序将此文件提供给服务器以验证客户端。
例子
要指定 MONGODB-X509身份验证机制,请将 Credential 结构的 mechanism字段设立为 AuthMechanism::MongoDbX509。
以下代码展示了如何在连接string中引用证书、指定 MONGODB-X509 身份验证机制以及连接到MongoDB :
let uri = format!( "mongodb://<hostname>:<port>/?tlsCAFile={tlsCAFile}\ &tlsCertificateKeyFile={tlsCertificateKeyFile}\ &tlsCertificateKeyFilePassword={tlsCertificateKeyFilePassword}", tlsCAFile = "<path to CA certificate>", tlsCertificateKeyFile = "<path to private client key>", tlsCertificateKeyFilePassword = "<password for client key>" ); let mut client_options = ClientOptions::parse(uri).await?; let x509_cred = Credential::builder().mechanism(AuthMechanism::MongoDbX509).build(); client_options.credential = Some(x509_cred); let client = Client::with_options(client_options)?;
提示
要学习;了解有关在连接上启用 TLS 的更多信息,请参阅 启用和配置 TLS指南。
更多信息
要了解有关向MongoDB进行身份验证的更多信息,请参阅MongoDB Server手册中的身份验证。
要了解有关管理MongoDB部署用户的更多信息,请参阅MongoDB Server手册中的用户。
API 文档
要进一步了解本指南所提及的方法和类型,请参阅以下 API 文档: