对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

SQL接口身份验证

SQL接口支持多种身份验证机制来连接到MongoDB 部署。此页面包括Atlas专用集群、 Atlas联合数据库实例和自管理MongoDB Enterprise部署支持的身份验证方法、组件兼容性和部署可用性。

下表显示了每个SQL接口组件支持的身份验证机制:

组件
SCRAM
x.509
LDAP
GSSAPI
AWS IAM
OIDC

MongoDB SQL模式构建器

是

是

是

是

是

是

ODBC 驱动程序

是

是

是

是

是

是

JDBC 驱动程序

是

是

是

是

是

是

Power BI Desktop

是

是

是

是

是

是

Power BI网关

是

No

No

No

No

No

Tableau Desktop

是

是

是

是

是

是

Tableau Server

是

是

No

No

No

No

Tableau Cloud

是

No

No

No

No

No

注意

并非所有第三方BI工具支持这些身份验证选项,尽管MongoDB驱动程序支持这些选项。测试要使用的功能,确认它们适用于您的特定BI工具。

下表显示了每种MongoDB 部署类型可用的身份验证机制:

身份验证机制
专用集群
联合数据库实例

SCRAM

是

是

是

x.509

是

是

是

LDAP

是

No

是

Kerberos (GSSAPI)

No

No

是

AWS IAM

是

是

No

OIDC

是

是

是

重要

从MongoDB 8.0 开始, LDAP身份验证和授权已弃用。 LDAP在整个MongoDB 8 中保持可用并继续运行而无需更改,但未来的主要发布会将其删除。请考虑迁移到 OIDC 或其他受支持的身份验证机制。有关更多信息,请参阅LDAP弃用。

MongoDB JDBC驾驶员支持MongoDB支持的所有身份验证机制。要学习;了解更多信息,请参阅身份验证机制。如果进行配置,驾驶员还支持 TLS/SSL 连接。要学习;了解更多信息,请参阅 TLS/SSL 配置。

以下部分介绍了为 JDBC驾驶员配置 X.509、 Kerberos (GSSAPI) 和 OIDC身份验证的连接属性。这些属性应用于Atlas和自我管理的MongoDB Enterprise部署。

MongoDB JDBC驾驶员支持 X.509客户端证书身份验证。以下属性控制驾驶员如何配置客户端证书和 CA 信任:

属性
用途

x509pempath

包含客户端证书和私钥的 PEM文件的路径。对于未加密或加密的PKCS #1 和 PKCS #8 密钥是必需的。

tlscafile

可选。包含一个或多个受信任 X.509 证书的 PEM文件的路径。设立为 后,驾驶员仅接受这些 CA 签名的证书。

password

根据您是否设立x509pempath,具有不同的用途。设立x509pempath 时,password 是加密PEM文件的密码。当您不设立x509pempath 时,password 可以包含由未加密证书和私钥组成的原始 PEM 内容,也可以包含用于加密PEM 数据的 {"pem": "...", "passphrase": "..."} 形式的JSON对象。

配置 X.509身份验证时,请考虑以下行为:

  • 如果设立x509pempath,则其优先级高于 password属性中的任何 PEM 内容。

  • 如果不设立tlscafile,驾驶员将使用默认Java虚拟机(JVM)信任库。

  • PEM 内容必须同时包含客户端证书及其相应的私钥,无论是通过 x509pempath 还是在 password属性中提供。

MongoDB JDBC驾驶员支持使用 GSSAPI 进行基于 Kerberos 的身份验证。此机制要求您在驾驶员外部配置Kerberos和 JAAS 设置。以下属性控制驾驶员使用该配置的方式:

属性
说明

jaasconfigpath

JAAS 配置文件的路径,例如 jaas.config。如果不设立此属性,驾驶员将使用默认的Java虚拟机(JVM) JAAS 配置。

gssapilogincontextname

指定 JAAS 配置中定义的登录上下文名称。

gssapiserverauth

设立为 true 时,在 SASL 协商期间启用服务器身份验证。

gssnativemode

控制驾驶员是否使用原生GSSAPI 库。接受 true 或 false。

MongoDB JDBC驾驶员根据您设立的身份验证机制属性来区分人为启动的 OIDC 流和机器自动执行的 OIDC 流:

  • 人流:默认行为。需要通过浏览器登录进行用户交互。

  • 机器流:用于GCP Workload Identity、 Azure Managed Identity 和Kubernetes等自动化环境。要启用机器流,设立ENVIRONMENT 和 TOKEN_RESOURCE 参数。

为SQL接口配置身份验证时,请考虑以下安全最佳实践:

  • 使用强身份验证机制:尽可能首选 X.509、OIDC 或Kerberos,而不是基于密码的身份验证。

  • 启用 TLS加密:始终使用 TLS 保护传输中的凭证和数据。

  • 遵循最小权限原则:仅授予用户执行任务所需的最低权限。

  • 安全档案存储:切勿在连接字符串中对凭证进行硬编码。使用环境变量、凭证文件或安全凭证管理系统。

  • 定期凭证轮换:实现定期轮换密码和证书。

  • 监控身份验证事件:启用Atlas 审核记录以追踪身份验证尝试和失败。