Docs 菜单

SCRAM

Salted 质询响应身份验证机制 (SCRAM) 是 MongoDB 的默认身份验证机制。

当用户对自己进行身份验证时,MongoDB 会使用 SCRAM 针对用户的 namepasswordauthentication database 来验证所提供的用户凭证。

SCRAM 基于 IETF RFC 5802 标准,该标准定义了实现质询响应机制以使用密码对用户进行身份验证的最佳实践。

重要

You cannot use both SCRAM authentication and another authentication type for the same user.

MongoDB 的 SCRAM 实施提供:

  • 可调工作因子(迭代计数)

  • 每个用户的随机盐

  • 服务器和客户端之间的双向身份验证

MongoDB 支持以下 SCRAM 机制:

SCRAM 机制
说明

SCRAM-SHA-1

使用 SHA-1 哈希函数。

要修改 SCRAM-SHA-1 的迭代计数,请参阅 scramIterationCount

SCRAM-SHA-256

使用 SHA-256 哈希函数。

要修改 SCRAM-SHA-256 的迭代计数,请参阅 scramSHA256IterationCount

创建或更新 SCRAM 用户时,您可以指示:

  • 要使用的 SCRAM 机制

  • 对密码进行摘要处理的是服务器还是客户端

使用 SCRAM-SHA-256 时,MongoDB 需要服务器端密码哈希,这意味着服务器会对密码进行摘要处理。有关更多信息,请参阅 db.createUser()db.updateUser()

支持 SCRAM 的最低驱动程序版本为:

如果您使用 SCRAM-SHA-1: