Ops Manager和备份守护程序可以使用 OIDC 对所有支持的后端数据库进行身份验证。这包括Ops Manager 应用程序数据库、快照存储、 oplog存储和同步存储,其中包括 S3 支持的快照和oplog存储的元数据数据库。除了Ops Manager支持的现有身份验证机制之外,还可以使用 OIDC身份验证。为后端数据库启用 OIDC 不会禁用或替换已配置的任何其他身份验证机制。
本页介绍Ops Manager支持的后端数据库OIDC身份验证模式、启用 OIDC 的先决条件以及此功能的限制。本页介绍的 OIDC身份验证仅适用于Ops Manager和备份守护程序与后端数据库建立的连接。它不涵盖Ops Manager本身的最终用户身份验证。
支持的 OIDC 模式
Ops Manager支持两种用于后端数据库的OIDC身份验证模式。
模式 | 说明 |
|---|---|
自定义回调 | 使用客户端凭证流向任何符合 OIDC 的 IdP(例如 Keycloak、Okta 或Azure)请求访问权限令牌。此模式需要客户端ID和客户端密钥。 |
内置环境身份验证 | 对于 Azure、GCP 或 Kubernetes,使用部署环境提供的工作负载身份。MongoDB 驱动程序会自动从环境获取工作负载身份令牌,此模式不需要客户端密钥。 |
先决条件
在为后端数据库启用OIDC身份验证之前,请确认以下先决条件。
后端数据库必须运行 MongoDB 7.0.11 或更高版本。
必须将MongoDB配置为允许
MONGODB-OIDC身份验证机制,并为要使用的 IdP 定义oidcIdentityProviders。对于自定义回调模式,您需要一个启用了客户端凭证流的 IdP客户端,并且 IdP 的令牌和 JWKS 端点必须可通过 HTTPS 访问。
对于内置环境身份验证,部署环境必须已经为 Azure、GCP 或 Kubernetes 提供有效的工作负载身份。
Ops Manager服务器托管和备份守护程序托管必须都信任Java虚拟机(JVM)或操作系统信任存储中的 IdP 的 TLS 证书。如果 IdP 端点使用私有证书颁发机构或自签名证书,并且该证书不受信任,Ops Manager和备份守护程序将无法获取令牌,并显示 TLS 握手错误。
限制
Ops Manager仅通过
conf-mms.properties公开Ops Manager 应用程序程序数据库的 OIDC 配置。管理界面不包括用于Ops Manager 应用程序数据库 OIDC 配置的用户界面。本页描述的 OIDC身份验证仅适用于Ops Manager和备份守护程序与后端数据库建立的连接。它不适应用针对Ops Manager的最终用户身份验证。
版本验证
Ops Manager会在应用 OIDC 配置之前验证目标MongoDB版本。验证因连接类型而异:
对于后端存储,通过管理界面或 API 创建或更新存储,其目标 MongoDB 版本早于 7.0.11将失败。
对于Ops Manager 应用程序数据库,如果启用了 OIDC 并且Ops Manager Ops Manager 应用程序数据库运行早于 7.0.11 的MongoDB版本,则 Ops Manager 会阻止初创企业。
重启要求
重要
更改Ops Manager 应用程序程序数据库 OIDC 设置需要重新启动Ops Manager。由于备份守护程序在初创企业时会读取相同的 conf-mms.properties文件,因此也要重新启动备份守护程序。
更改后端存储(例如快照存储、 oplog存储或同步存储)的 OIDC 设置还需要重新启动Ops Manager和备份守护程序。这与更改后端存储的用户名或密码时的现有行为一致。
回退和回滚
如果需要回滚后端数据库的 OIDC身份验证,请执行适用的程序。
对于Ops Manager 应用程序数据库,在
conf-mms.properties中将mms.oidcEnabled设立为false,在连接配置中恢复非 OIDC身份验证机制,然后重新启动Ops Manager和备份守护程序。对于后端存储,通过管理界面或API禁用 OIDC。如果您使用API ,请为该存储提交带有非 OIDC身份验证配置的
oidc: {enabled: false},然后重新启动Ops Manager和备份守护程序。