1. 主页
  2. 文档
  3. MongoDB初学者教程——7天学习MongoDB
  4. 使用Kerberos身份验证配置MongoDB:X.509证书

使用Kerberos身份验证配置MongoDB:X.509证书

授权是为了确保客户端对系统的访问,而身份验证会检查客户端在被授权进入系统后在MongoDB中的访问类型。

身份验证机制有很多种,以下是其中几种。

 

使用x.509证书的MongoDB身份验证

使用x.509证书对客户端进行身份验证–证书基本上是客户端和MongoDB服务器之间的信任签名。

因此,无需输入用户名和密码来连接服务器,而是在客户端和MongoDB服务器之间传递证书。客户端基本上将具有客户端证书,该证书将传递到服务器以对服务器进行身份验证。每个客户端证书对应一个MongoDB用户。因此,来自MongoDB的每个用户都必须拥有自己的证书才能通过MongoDB服务器进行身份验证。

为确保此功能有效,必须遵循以下步骤;

  1. 必须从有效的第三方机构购买有效的证书并将其安装在MongoDB服务器上。
  2. 客户端证书必须具有以下属性(单个证书颁发机构(CA)必须同时为客户端和服务器颁发证书。客户端证书必须包含以下字段-keyUsage和extendedKeyUsage。
  3. 连接到MongDB服务器的每个用户都需要有一个单独的证书。

 

使用Kerberos的Mongodb身份验证

第一步)在Windows上使用Kerberos身份验证配置MongoDB – Kerberos是大型客户端-服务器环境中使用的身份验证机制。

这是一种非常安全的机制,其中密码只有在加密时允许使用。当然,MongoDB具有针对现有的基于Kerberos的系统进行身份验证的功能。

第二步)启动mongod.exe服务器进程。

第三步)启动mongo.exe客户端进程并连接到MongoDB服务器。

第四步)在MongoDB中添加一个用户,该用户基本上是$ external数据库的Kerberos主体名称。$ external数据库是一个特殊的数据库,它告诉MongoDB根据Kerberos系统而不是其自己的内部系统对该用户进行身份验证。

use $external

db.createUser(

{

user: “user1@example.NET

“,

roles:[

{

role: “read” , db:”Marketing”}

}

]

}

 

第五步)使用命令启动具有Kerberos支持的mongod.exe

mongod.exe –auth –setParameter authenticationMechanisms=GSSAPI

现在可以使用Kerberos用户和Kerberos身份验证连接到数据库。

 

摘要:

  • 有多种身份验证机制可以在数据库中提供更好的安全性。这个是使用证书对用户进行身份验证,而不是使用用户名和密码。

 

译者:徐扬

源地址:https://www.guru99.com/mongodb-authentication-kerberos.html

 

这篇文章对您有用吗?

评论 抢沙发

评论前必须登录!