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

后端数据库的 OIDC 身份验证

MongoDB Ops Manager 和备份守护程序可以使用 OIDC 对所有支持的后端数据库进行身份验证。这包括 MongoDB Ops Manager 应用程序数据库、快照存储、oplog 存储和同步存储,以及 S3 支持的快照存储和 oplog 存储的元数据数据库。MongoDB Ops Manager 支持的现有身份验证机制之外,还有 OIDC 身份验证可用。为后端数据库启用 OIDC 不会禁用或替换您已配置的任何其他身份验证机制。

本页介绍了 MongoDB Ops Manager 支持用于后端数据库的 OIDC 身份验证模式、启用 OIDC 的前提条件以及此功能的限制。本页介绍的 OIDC 身份验证仅适用于 MongoDB Ops Manager 和备份守护程序建立到后端数据库的连接。它不包括 对 MongoDB Ops Manager 本身的终端用户身份验证。

Ops Manager 支持两种 OIDC 身份验证模式,用于后端数据库。

模式
说明

自定义回调

使用客户端凭证流从任何符合 OIDC 规范的 身份提供程序 请求访问令牌,例如 Keycloak、Okta 或 Azure。此模式需要客户端 ID 和客户端密钥。

内置环境身份验证

对于 Azure、GCP 或 Kubernetes,使用部署环境提供的工作负载身份。MongoDB 驱动程序会自动从环境获取工作负载身份令牌,此模式不需要客户端密钥。

在为后端数据库启用 OIDC 身份验证之前,请确认以下必备条件。

  • 后端数据库必须运行 MongoDB 7.0.11 或更高版本。

  • MongoDB 必须配置为允许 MONGODB-OIDC 身份验证机制,并为您打算使用的 身份提供程序 定义 oidcIdentityProviders。

  • 对于自定义回调模式,您需要一个 身份提供程序 客户端,并启用客户端凭证流,同时 身份提供程序 的令牌和 JWKS 终结点必须可通过 HTTPS 访问。

  • 对于内置环境身份验证,部署环境必须已经为 Azure、GCP 或 Kubernetes 提供有效的工作负载身份。

  • MongoDB Ops Manager 服务器主机和备份守护程序主机必须都在 Java虚拟机(JVM)或操作系统信任存储中信任 身份提供程序 的 TLS 证书。如果 身份提供程序 终结点使用私有证书授权机构或自签名证书,并且该证书不受信任,MongoDB Ops Manager 和备份守护程序将因 TLS 握手错误而无法获取令牌。

  • MongoDB Ops Manager 仅通过 conf-mms.properties 公开 Ops Manager 应用程序数据库的 OIDC 配置。管理界面不包括 MongoDB Ops Manager 应用程序数据库 OIDC 配置的用户界面。

  • 本页上描述的 OIDC 身份验证仅适用于 MongoDB Ops Manager 和备份守护程序建立到后端数据库的连接。不适用于 MongoDB Ops Manager 的终端用户身份验证。

MongoDB Ops Manager 在应用 OIDC 配置前验证目标 MongoDB 版本。验证因连接类型而异:

  • 对于后端存储,通过管理界面或 API 创建或更新存储,其目标 MongoDB 版本早于 7.0.11将失败。

  • 对于 Ops Manager 应用程序数据库,如果启用了 OIDC,并且 Ops Manager 应用程序数据库运行的 MongoDB 版本早于 7.0.11,Ops Manager 会阻止初创企业。

重要

更改 Ops Manager 应用程序数据库 OIDC 设置需要重启 Ops Manager。因为备份守护程序在启动时会读取相同的 conf-mms.properties 文件,因此,也请重新启动备份守护程序。

更改后端存储(如快照存储、oplog 存储或同步存储)的 OIDC 设置,还需要重启 MongoDB Ops Manager 和备份守护程序。这与您更改后端存储的用户名或密码时的现有行为一致。

如果您需要回滚后端数据库的 OIDC 身份验证,请使用相应步骤。

  • 对于 MongoDB Ops Manager 应用程序数据库,将 mms.oidcEnabled 设置为 false 在 conf-mms.properties 中,恢复连接配置中的非 OIDC 身份验证机制,并重启 MongoDB Ops Manager 和备份守护程序。

  • 对于后端存储,通过管理界面或 API 禁用 OIDC。如果使用 API,提交 oidc: {enabled: false},并配置非 OIDC 身份验证以供该存储使用,并重启 MongoDB Ops Manager 和备份守护程序。