Authentication

在本页面

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

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

Authentication Methods

要以用户身份进行身份验证,您必须提供用户名,密码和与该用户关联的authentication database

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

Important

作为不同用户进行多次身份验证不会**丢弃先前已身份验证的用户的凭据。这可能导致连接具有比用户预期更多的权限,并导致logical session内的操作引发错误。

有关使用 MongoDB 驱动程序进行身份验证的示例,请参见driver documentation

Authentication Mechanisms

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

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

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

Internal Authentication

除了验证 Client 端的身份,MongoDB 还可以要求副本集和分片群集的成员验证其会员身份到其各自的副本集或分片群集。有关更多信息,请参见Internal Authentication

分片群集上的身份验证

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