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
在启动期间进行设置,而不能使用setParameter
database命令更改此设置
。
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
在启动期间进行设置,而不能使用setParameter
database命令更改此设置
。
ldapConnectionPoolUseLatencyForHostPriority
¶4.2.1和4.0.13版中的新功能
默认值:true
一个布尔值,用于确定LDAP连接池(请参阅参考资料
ldapUseConnectionPool
)是否应该使用LDAP服务器的延迟来确定连接顺序(从最低延迟到最高延迟)。
您只能ldapConnectionPoolUseLatencyForHostPriority
在启动期间进行设置
,而不能在运行时使用setParameter
database命令更改此设置
。
ldapConnectionPoolMinimumConnectionsPerHost
¶4.2.1和4.0.13版中的新功能
默认值:1
保持对每个LDAP服务器开放的最小连接数。
您只能ldapConnectionPoolMinimumConnectionsPerHost
在启动期间进行设置
,而不能在运行时使用setParameter
database命令更改此设置
。
ldapConnectionPoolMaximumConnectionsPerHost
¶4.2.1和4.0.13版中的新功能
保持对每个LDAP服务器开放的最大连接数。
您只能ldapConnectionPoolMaximumConnectionsPerHost
在启动期间进行设置
,而不能在运行时使用setParameter
database命令更改此设置
。
ldapConnectionPoolMaximumConnectionsInProgressPerHost
¶4.2.1和4.0.13版中的新功能
每个LDAP服务器正在进行的连接操作的最大数量。
您只能ldapConnectionPoolMaximumConnectionsInProgressPerHost
在启动期间进行设置
,而不能使用setParameter
database命令更改此设置
。
ldapConnectionPoolHostRefreshIntervalMillis
¶4.2.1和4.0.13版中的新功能
默认值:60000
合并的LDAP连接的运行状况检查之间的毫秒数。
您只能ldapConnectionPoolHostRefreshIntervalMillis
在启动期间进行设置
,而不能使用setParameter
database命令更改此设置
。
ldapConnectionPoolIdleHostTimeoutSecs
¶4.2.1和4.0.13版中的新功能
默认值:300
在关闭之前,与LDAP服务器的池化连接可以保持空闲的最大秒数。
您只能ldapConnectionPoolIdleHostTimeoutSecs
在启动期间进行设置
,而不能使用setParameter
database命令更改此设置
。
opensslCipherConfig
¶3.6版的新功能。
在版本4.0中更改:通过使用本机TLS / SSL库,opensslCipherConfig
Linux / 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使用ffdhe3072
Diffie-Hellman参数启用DHE
,如
RFC 7919#appendix-A.2。的ffdhe3072
是一个强大的参数(即大小是大于1024)。除非已从Oracle购买了扩展支持,否则Java 6和7不支持强参数。
您只能opensslDiffieHellmanParameters
在启动期间进行设置,而不能使用setParameter
database命令更改此设置
。
如果出于性能原因,您需要禁用对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版中的新功能。
设置为:
preferTLS
requireTLS
该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