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身份验证机制,并为要使用的oidcIdentityProvidersIdP 定义 。对于自定义回调模式,您需要一个启用了客户端凭证流的 IdP客户端,并且 IdP 的令牌和 JWKS 端点必须可通过 HTTPS 访问。
对于内置环境身份验证,部署环境必须已为Azure、 GCP或Kubernetes提供有效的工作负载身份。
Ops Manager服务器托管和备份守护程序托管必须都信任Java虚拟机(JVM)或操作系统信任存储中的 IdP 的 TLS 证书。如果 IdP 端点使用私有证书颁发机构或自签名证书,并且该证书不受信任,Ops Manager和备份守护程序将无法获取令牌,并显示 TLS 握手错误。
限制
Ops Manager仅通过 公开Ops Manager 应用程序数据库的 OIDC
conf-mms.properties配置。管理界面不包括用于Ops Manager 应用程序数据库 OIDC 配置的用户界面。本页描述的 OIDC身份验证仅适用于Ops Manager和备份守护程序与后端数据库建立的连接。它不适应用针对Ops Manager的最终用户身份验证。
版本验证
Ops Manager会在应用 OIDC 配置之前验证目标MongoDB版本。验证因连接类型而异:
对于后端存储,通过管理界面或API使用早于 7.0.11 的目标MongoDB版本创建或更新存储会失败。
对于Ops Manager 应用程序数据库,如果已启用 OIDC 并且Ops Manager 应用程序数据库运行早于 的MongoDB版本,Ops Manager会阻止初创企业。7.0.11
重启要求
重要
更改Ops Manager 应用程序程序数据库 OIDC 设置需要重新启动Ops Manager。由于备份守护程序在初创企业时会读取相同的conf-mms.properties 文件,因此也要重新启动备份守护程序。
更改后端存储(例如快照存储、 oplog存储或同步存储)的 OIDC 设置还需要重新启动Ops Manager和备份守护程序。这与更改后端存储的用户名或密码时的现有行为一致。
回退和回滚
如果需要回滚后端数据库的 OIDC身份验证,请执行适用的程序。
对于Ops Manager 应用程序数据库,在
mms.oidcEnabledfalse中将 设立为conf-mms.properties,在连接配置中恢复非 OIDC身份验证机制,然后重新启动Ops Manager和备份守护程序。对于后端存储,通过管理界面或API禁用 OIDC。如果您使用API,提交带有该存储的非
oidc: {enabled: false}OIDC身份验证配置的 ,然后重新启动Ops Manager和备份守护程序。