mongodb的配置文件详解()

您所在的位置:网站首页 启动mongodb服务器 mongodb的配置文件详解()

mongodb的配置文件详解()

2023-09-18 13:38| 来源: 网络整理| 查看: 265

输入:string

3.4版中的新功能:仅适用于MongoDB Enterprise。

将提供给用户名mongod或mongos用于身份验证的用户名映射到LDAP专有名称(DN)。userToDNMapping在以下情况下,您可能需要使用将用户名转换为LDAP DN:

使用简单的LDAP绑定执行LDAP身份验证,其中用户使用不是完整LDAP DN的用户名对MongoDB进行身份验证。 使用它需要DN。LDAP authorization query template 使用不同的身份验证机制(例如x509,kerberos)将使用身份验证的客户端的用户名转换为完整的LDAP DN以进行授权。

userToDNMapping期望引用封闭的JSON字符串表示有序的文档数组。每个文档都包含一个正则表达式match以及用于转换传入用户名的模板substitution或ldapQuery模板。

数组中的每个文档都具有以下形式:

复制 复制 { match: "" substitution: "" | ldapQuery: "" } 领域描述例 match ECMAScript格式的正则表达式(regex),用于匹配提供的用户名。每个括号括起的部分表示由substitution或使用的正则表达式捕获组ldapQuery。 "(.+)ENGINEERING" "(.+)DBA" substitution

LDAP专有名称(DN)格式化模板,用于将match正则表达式匹配的认证名称转换为LDAP DN。每个大括号括起来的数字值都由通过正则表达式从认证用户名中提取的相应正则表达式捕获组替换match。

替换的结果必须是RFC4514转义字符串。

"cn={0},ou=engineering,dc=example,dc=com" ldapQuery 一种LDAP查询格式模板,用于将match正则表达式匹配的身份验证名称插入到依赖于RFC4515和RFC4516编码的LDAP查询URI中。每个大括号括起来的数值都将由通过表达式从认证用户名中提取的相应正则表达式捕获组替换match。mongod或者mongos对LDAP服务器执行查询以检索经过身份验证的用户的LDAP DN。mongod或者只mongos需要一个返回的结果即可使转换成功,mongod或者mongos跳过此转换。 "ou=engineering,dc=example,dc=com??one?(user={0})"

注意

的解释 RFC4514, RFC4515, RFC4516,或LDAP查询超出范围的MongoDB的文档。请直接查看RFC或使用您首选的LDAP资源。

对于阵列中的每个文档,您必须使用substitution或 ldapQuery。您不能在同一文档中指定两者。

执行身份验证或授权,mongod或mongos按给定顺序逐步遍历阵列中的每个文档时,请根据match过滤器检查身份验证用户名。如果找到匹配项, mongod或mongos应用转换并使用输出来验证用户。mongod或者mongos不检查数组中的剩余文档。

如果给定文档与提供的身份验证名称不匹配,或者文档描述的转换失败,mongod或者mongos继续通过文档列表以查找其他匹配项。如果在任何文档中找不到匹配项,mongod或mongos返回错误。

以下显示了两个转换文档。第一个文档与任何以字符串结尾的字符串匹配@ENGINEERING,将后缀之前的任何内容放入正则表达式捕获组中。第二个文档与任何以字符串结尾的字符串匹配@DBA,将后缀之前的任何内容放入正则表达式捕获组中。

重要

您必须将数组userToDNMapping作为字符串传递给它。

复制 复制 "[ { match: "(.+)@ENGINEERING.EXAMPLE.COM", substitution: "cn={0},ou=engineering,dc=example,dc=com" }, { match: "(.+)@DBA.EXAMPLE.COM", ldapQuery: "ou=dba,dc=example,dc=com??one?(user={0})" } ]"

具有用户名的用户[email protected]与第一个文档匹配。正则表达式捕获组{0}对应于字符串 alice。结果输出是DN "cn=alice,ou=engineering,dc=example,dc=com"。

具有用户名的用户[email protected]与第二个文档匹配。正则表达式捕获组{0}对应于字符串bob。结果输出是LDAP查询 "ou=dba,dc=example,dc=com??one?(user=bob)"。mongod或者mongos对LDAP服务器执行此查询,返回结果 "cn=bob,ou=dba,dc=example,dc=com"。

如果userToDNMapping未设置,mongod或mongos在尝试针对LDAP服务器对用户进行身份验证或授权时不对用户名应用任何转换。

可以在运行mongod或mongos使用 setParameterdatabase命令配置此设置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3