authenticationMechanisms¶在版本4.0中更改:删除对不赞成使用的MONGODB-CR身份验证机制的支持。
指定服务器接受的身份验证机制的列表。将此设置为以下一个或多个值。如果您指定多个值,请使用逗号分隔的列表,且不要使用空格。有关身份验证机制的说明,请参见身份验证。
| 值 | 描述 |
|---|---|
| SCRAM-SHA-1 | 使用SHA-1哈希函数的RFC 5802标准咸化挑战响应身份验证机制。 |
| SCRAM-SHA-256 | 使用SHA-256哈希函数的RFC 7677标准咸化挑战响应身份验证机制。 要求featureCompatibilityVersion设置为 版本4.0中的新功能。 |
| MONGODB-X509 | MongoDB TLS / SSL证书认证。 |
| GSSAPI(Kerberos) | 使用Kerberos的外部身份验证。此机制仅在MongoDB Enterprise中可用。 |
| 普通(LDAP SASL) | 使用LDAP的外部身份验证。您还可以PLAIN
用于验证数据库内用户。PLAIN以纯文本形式传输密码。此机制仅在MongoDB Enterprise中可用
。 |
您只能authenticationMechanisms在启动期间进行设置。
例如,要同时指定PLAIN和SCRAM-SHA-256作为身份验证机制,请使用以下命令:
clusterAuthMode¶将设置clusterAuthMode为sendX509或
x509。在滚动升级中很有用,可以使用x509进行成员身份验证
以最大程度地减少停机时间。
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
enableLocalhostAuthBypass¶指定0或false禁用localhost身份验证绕过。默认启用。
enableLocalhostAuthBypass使用setParameter数据库命令不可用
。使用
setParameter配置文件中的--setParameter选项或
命令行上的选项。
有关更多信息,请参见Localhost异常。
KeysRotationIntervalSec¶3.6版的新功能。
预设:7776000秒(90天)
指定HMAC签名密钥 在旋转到下一个密钥之前有效的秒数。此参数主要用于促进身份验证测试。
您只能KeysRotationIntervalSec在启动期间进行设置,而不能使用setParameterdatabase命令更改此设置
。
ldapUserCacheInvalidationInterval¶与使用LDAP授权的 MongoDB部署一起使用
。仅适用于mongod
实例。
mongod实例在外部用户缓存刷新之间等待的间隔(以秒为单位)。MongoDB刷新外部用户缓存后,MongoDB会在下一次LDAP授权的用户发出操作时从LDAP服务器重新获取授权数据。
增加指定的值会增加MongoDB和LDAP服务器可能不同步的时间,但会减少LDAP服务器上的负载。相反,减小指定的值将减少MongoDB和LDAP服务器不同步的时间,同时增加LDAP服务器的负载。
默认为30秒。
ldapUseConnectionPool¶4.0.9版中的新功能。
指定在连接到LDAP服务器进行身份验证/授权时,MongoDB是否应使用连接池。
从4.2版开始,MongoDB使用以下默认值:
libldap_r。libldap。在早期版本(版本4.0.9+)中,默认值为
false。
您只能ldapUseConnectionPool在启动期间进行设置,而不能使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolUseLatencyForHostPriority¶4.2.1和4.0.13版中的新功能
默认值:true
一个布尔值,用于确定LDAP连接池(请参阅参考资料
ldapUseConnectionPool)是否应该使用LDAP服务器的延迟来确定连接顺序(从最低延迟到最高延迟)。
您只能ldapConnectionPoolUseLatencyForHostPriority在启动期间进行设置
,而不能在运行时使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolMinimumConnectionsPerHost¶4.2.1和4.0.13版中的新功能
默认值:1
保持对每个LDAP服务器开放的最小连接数。
您只能ldapConnectionPoolMinimumConnectionsPerHost在启动期间进行设置
,而不能在运行时使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolMaximumConnectionsPerHost¶4.2.1和4.0.13版中的新功能
保持对每个LDAP服务器开放的最大连接数。
您只能ldapConnectionPoolMaximumConnectionsPerHost在启动期间进行设置
,而不能在运行时使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolMaximumConnectionsInProgressPerHost¶4.2.1和4.0.13版中的新功能
每个LDAP服务器正在进行的连接操作的最大数量。
您只能ldapConnectionPoolMaximumConnectionsInProgressPerHost
在启动期间进行设置
,而不能使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolHostRefreshIntervalMillis¶4.2.1和4.0.13版中的新功能
默认值:60000
合并的LDAP连接的运行状况检查之间的毫秒数。
您只能ldapConnectionPoolHostRefreshIntervalMillis在启动期间进行设置
,而不能使用setParameterdatabase命令更改此设置
。
ldapConnectionPoolIdleHostTimeoutSecs¶4.2.1和4.0.13版中的新功能
默认值:300
在关闭之前,与LDAP服务器的池化连接可以保持空闲的最大秒数。
您只能ldapConnectionPoolIdleHostTimeoutSecs在启动期间进行设置
,而不能使用setParameterdatabase命令更改此设置
。
opensslCipherConfig¶3.6版的新功能。
在版本4.0中更改:通过使用本机TLS / SSL库,opensslCipherConfigLinux / BSD支持该参数,而Windows和macOS不再支持该参数
。请参阅MongoDB 4.0 TLS / SSL。
使用TLS / SSL加密时,请为OpenSSL指定密码字符串。有关密码字符串的列表,请参见 https://www.openssl.org/docs/man1.0.2/apps/ciphers.html#CIPHER-STRINGS
您只能opensslCipherConfig在启动期间进行设置,而不能使用setParameter
database命令更改此设置。
对于4.2及更高版本,使用TLS选项优先于SSL选项。TLS选项具有与选项相同的功能SSL。
对于4.0及更早版本:
opensslDiffieHellmanParameters¶3.6版的新功能。
仅在Linux上可用
指定包含OpenSSL Diffie-Hellman参数的PEM文件的路径。指定OpenSSL Diffie-Hellman参数可在TLS / SSL加密期间支持对临时Diffie-Hellman(DHE)密码套件的支持。
暂时性Diffie-Hellman(DHE)密码套件(和暂时性椭圆曲线Diffie-Hellman(ECDHE)密码套件)提供了 正向保密性。前向保密密码套件会创建一个临时会话密钥,该会话密钥受服务器的私钥保护,但从未传输。这样可以确保即使服务器的私钥被泄露,也无法使用该泄露的密钥解密过去的会话。
注意
从MongoDB 4.2开始,如果
opensslDiffieHellmanParameters未设置但
启用了ECDHE,则MongoDB使用ffdhe3072Diffie-Hellman参数启用DHE
,如
RFC 7919#appendix-A.2。的ffdhe3072是一个强大的参数(即大小是大于1024)。除非已从Oracle购买了扩展支持,否则Java 6和7不支持强参数。
您只能opensslDiffieHellmanParameters在启动期间进行设置,而不能使用setParameterdatabase命令更改此设置
。
如果出于性能原因,您需要禁用对DHE密码套件的支持,请使用opensslCipherConfig参数:
saslauthdPath¶注意
仅在MongoDB Enterprise中可用(Windows的MongoDB Enterprise除外)。
指定saslauthd
用于代理身份验证的实例的Unix域套接字的路径。
saslHostName¶saslHostName 出于配置SASL和Kerberos身份验证的目的,将覆盖MongoDB的默认主机名检测。
saslHostName除了SASL和Kerberos的配置外,不会出于任何目的影响mongod或mongos实例的主机名
。
您只能saslHostName在启动期间进行设置,而不能使用setParameter
database命令更改此设置。
注意
saslHostName支持Kerberos身份验证,仅包含在MongoDB Enterprise中。有关更多信息,请参见以下内容:
saslServiceName¶允许用户
按实例覆盖Kerberos主体名称的默认Kerberos
服务名称组件。如果未指定,则默认值为。mongodb
MongoDB仅允许saslServiceName在启动时进行设置。该setParameter命令无法更改此设置。
saslServiceName 仅在MongoDB Enterprise中可用。
重要
确保您的驱动程序支持备用服务名称。
scramIterationCount¶默认值:10000
更改用于所有新SCRAM-SHA-1密码的哈希迭代次数
。更多迭代会增加客户端向MongoDB进行身份验证所需的时间,但会使密码更不容易遭受暴力破解尝试。对于大多数常见的用例和要求,默认值是理想的。
如果修改此值,则不会更改现有密码的迭代计数。该scramIterationCount值必须5000大于或等于。
例如,以下将设置scramIterationCount
为12000。
或者,如果setParameter在mongo外壳中使用命令
:
scramSHA256IterationCount¶版本4.0中的新功能。
默认值:15000
更改用于所有新SCRAM-SHA-256密码的哈希迭代次数
。更多迭代会增加客户端向MongoDB进行身份验证所需的时间,但会使密码更不容易遭受暴力破解尝试。对于大多数常见的用例和要求,默认值是理想的。
如果修改此值,则不会更改现有密码的迭代计数。该scramSHA256IterationCount值必须5000大于或等于。
例如,以下将设置scramSHA256IterationCount
为20000。
或者,如果setParameter在mongo外壳中使用命令
:
sslMode¶将设置net.ssl.mode为preferSSL或
requireSSL。在滚动升级到TLS / SSL期间很有用,以最大程度地减少停机时间。
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
也可以看看
tlsMode¶4.2版中的新功能。
设置为:
preferTLSrequireTLS该tlsMode参数在滚动升级到TLS / SSL期间很有用,以最大程度地减少停机时间。
有关TLS / SSL和MongoDB的更多信息,请参阅 为客户端的TLS / SSL和 TLS / SSL配置配置mongod和mongos。
也可以看看
tlsWithholdClientCertificate¶默认值:false
4.2版中的新功能。
甲TLS证书被设置为一个mongod或
mongos或者通过
--tlsClusterFile选项或由
--tlsCertificateKeyFile当选项
--tlsClusterFile未设置。如果TLS证书设置,默认情况下,发起与其他群集内通信时的实例发送证书
mongod或mongos在部署的实例。设置tlsWithholdClientCertificate为1或true指示实例在这些通信期间不发送其TLS证书。将此选项与--tlsAllowConnectionsWithoutCertificates
部署的所有成员一起使用
(以允许没有证书的入站连接)。tlsWithholdClientCertificate与互斥
。--clusterAuthMode x509
tlsX509ClusterAuthDNOverride¶4.2版中的新功能。
实例还可以用来标识部署成员的备用专有名称(DN)。
对于将x.509证书用于的MongoDB部署,
在群集内部通信期间clusterAuthMode,部署成员使用x.509证书(net.tls.clusterFile如果指定了,则
彼此)进行标识
net.tls.certificateKeyFile。对于同一部署的成员,DN其证书中的成员必须具有相同的组织属性O,组织单位属性OU和域组件DC。
如果tlsX509ClusterAuthDNOverride被设置为一个构件,所述构件也可以比较时,使用覆盖值DN
分量(O的,OU's和DC的)所呈现的证书。即成员对照其net.tls.clusterFile/ 检查提供的证书
net.tls.certificateKeyFile。如果DN不匹配,则成员将对照该tlsX509ClusterAuthDNOverride
值检查显示的证书。
注意
如果已设置,则必须在部署的所有成员上设置此参数。
您可以使用此参数将证书滚动更新为包含新DN值的新证书。请参阅
滚动更新包含新DN的x.509群集证书。
有关会员证书要求的更多信息,请参阅 会员证书要求以获取详细信息。
sslWithholdClientCertificate¶默认值:false
自4.2版起弃用:tlsWithholdClientCertificate改为使用。
甲TLS证书被设置为一个mongod或
mongos或者通过
--tlsClusterFile选项或由
--tlsCertificateKeyFile当选项
--tlsClusterFile未设置。如果TLS证书设置,默认情况下,发起与其他群集内通信时的实例发送证书
mongod或mongos在部署的实例。设置sslWithholdClientCertificate为1或true指示实例在这些通信期间不发送其TLS证书。将此选项与--tlsAllowConnectionsWithoutCertificates
部署的所有成员一起使用
(以允许没有证书的入站连接)。sslWithholdClientCertificate与互斥
。--clusterAuthMode x509