温馨提示×

Debian下MongoDB认证方式有哪些

小樊
39
2025-12-26 23:28:07
栏目: 云计算

Debian下MongoDB支持的身份验证方式

  • SCRAM-SHA-256:当前推荐的强口令认证机制,安全性优于传统SCRAM-SHA-1。
  • SCRAM-SHA-1:旧版兼容机制,仍被广泛支持。
  • MONGODB-CR:旧版挑战-响应机制,已在新版本中废弃,不建议使用。
  • X.509 证书认证:基于TLS/SSL客户端证书的用户认证,适用于高安全场景;副本集/分片还可用其进行集群内部成员认证(此时通常配合 keyFile 或 x.509 的 clusterAuthMode)。

启用方式与简要配置

  • 启用认证开关:在配置文件 /etc/mongod.conf 中设置
    security:
    authorization: enabled
    重启服务:sudo systemctl restart mongod。
  • 创建用户与认证库:在 admin 库创建管理员(示例赋予 root 角色),其他业务库按需创建具最小权限的用户;连接时通过 --authenticationDatabase 指定认证库(如 admin 或 $external)。
  • 选择认证机制:SCRAM 为默认,无需额外配置;如需显式指定,可在配置或连接字符串中设置 authenticationMechanisms(如 MONGODB-X509)。
  • X.509 要点:服务端启用 TLS/SSL(mode: requireSSL/requireTLS,配置 certificateKeyFile/CAFile),用户创建在 $external 库,使用证书的 subject 作为用户名;连接时指定 --tls、–tlsCertificateKeyFile、–tlsCAFile、–authenticationDatabase=‘$external’、–authenticationMechanism=MONGODB-X509。

快速对比

方式 凭据类型 适用场景 关键配置项 备注
SCRAM-SHA-256 用户名/口令 通用业务账户 security.authorization: enabled 推荐首选
SCRAM-SHA-1 用户名/口令 兼容旧驱动/客户端 可显式设置 mechanism 安全性低于SHA-256
MONGODB-CR 用户名/口令 仅旧版本兼容 不建议启用 已废弃
X.509 客户端证书 高安全/零口令、内部集群 net.tls、security.clusterAuthMode、auth on $external 需TLS/CA证书体系

常见排错要点

  • 出现“Authentication failed(错误码18)”时,优先核对:口令是否正确、认证库(–authenticationDatabase)是否与账户所在库一致、客户端驱动是否支持所用机制(如 SCRAM-SHA-256)、以及服务端是否要求/配置了特定机制。必要时升级驱动或在连接中显式指定 mechanism。

0