[mongo] [security] 9.3 认证(Authentication)

举报
dber 发表于 2021/01/27 21:49:04 2021/01/27
【摘要】 认证身份验证是验证客户端身份的过程。启用访问控制(即授权)后,MongoDB要求所有客户端进行身份验证才能确定其权限。尽管身份验证和授权紧密相连,但身份验证与授权却截然不同。身份验证验证用户的身份;授权决定了验证用户对资源和操作的访问权限。身份验证方法要以用户身份进行身份验证,必须提供用户名,密码以及 与该用户关联的身份验证数据库。要使用mongo shell 进行身份验证,请执行以下任一操...

认证

身份验证是验证客户端身份的过程。启用访问控制(即授权)后,MongoDB要求所有客户端进行身份验证才能确定其权限。

尽管身份验证和授权紧密相连,但身份验证与授权却截然不同。身份验证验证用户的身份;授权决定了验证用户对资源和操作的访问权限。

身份验证方法

要以用户身份进行身份验证,必须提供用户名,密码以及 与该用户关联的身份验证数据库

要使用mongo shell 进行身份验证,请执行以下任一操作:

  • 连接到mongod或mongos实例时,请使用mongo命令行身份验证选项(--username、--password和--authenticationDatabase)


  • 首先连接到mongod或mongos实例,然后运行 authenticate 命令或 db.auth() 针对身份验证数据库的方法。



    重要

    多次作为不同的用户进行身份验证不会删除以前经过身份验证的用户的凭据。这可能导致连接的权限超过用户的预期权限,并导致逻辑会话中的操作引发错误。

有关使用MongoDB驱动程序进行身份验证的示例,请参阅 驱动程序文档

验证机制

MongoDB支持多种身份验证机制authentication mechanisms),客户端可以使用这些身份验证机制来验证其身份。这些机制使MongoDB可以集成到您现有的身份验证系统中。

MongoDB支持多种身份验证机制:

除支持上述机制外,MongoDB Enterprise还支持以下机制:

内部验证

除了验证客户端的身份外,MongoDB还可以要求副本集和分片群集的成员对它们各自的副本集或分片群集的成员身份进行身份验证。有关 更多信息,请参见内部/成员身份验证

分片群集上的身份验证

在分片群集中,客户端通常直接向mongos实例进行身份验证 。但是,某些维护操作可能需要直接向特定分片进行身份验证。有关身份验证和分片群集的更多信息,请参阅分片群集用户

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。