为 Ops Manager 项目启用 OIDC 身份验证
在此页面上
Ops Manager 允许您配置所有客户端(包括 Ops Manager 代理)用于连接到 MongoDB 部署的身份验证机制。 您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。
MongoDB Enterprise支持使用 OIDC 进行身份验证。 使用 OIDC 进行身份验证 ,您必须首先向支持 OIDC 标准的 IdP 注册您的 OIDC 或 OAuth 应用程序,例如 Azure AD 、Okta 和 Ping Identity。
配置外部身份提供商应用程序
OIDC 应用程序注册步骤可能因 IdP 而异。确保在注册过程中完成以下列项:
注册应用程序后,保存issuer
、 clientId
和audience
值,以在OIDC IdP 配置的下一阶段使用。
将 Azure AD 配置为身份提供者
要向 Azure AD 注册您的 OIDC 或 OAuth 应用程序:
注册应用程序。
导航至 App registrations。
在Azure 门户 中 帐户、 ,然后单击Atlas Search Azure Active Directory。
在左侧导航栏的 Manage 部分,单击 App registrations。
单击 New registration(连接)。
应用以下值。
字段值NameOM Database - OIDCSupported Account TypesAccounts in this organizational directory only (single tenant)Redirect URI- Public client/native (mobile & desktop)-http://localhost:27097/redirect
单击 Register(连接)。
要了解有关注册应用程序的更多信息,请参阅 Azure 文档。
添加一个群组声明。
导航至 Token Configuration。
在左侧导航栏的 Manage 部分,单击 Token Configuration。
单击 Add groups claim(连接)。
在 Edit groups claim 模式中,选择 Security。
所选择的群组取决于您在 Azure 环境中配置的群组类型。 您可能需要选择不同类型的群组 来发送相应的群组信息。
在 Customize token properties by type(按类型自定义令牌属性)部分,确保仅选择Group ID(群组 ID)。
当您选择 Group Id 时,Azure 将发送安全组的对象 ID。
单击 Add(连接)。
要了解有关添加群组声明的更多信息,请参阅 Azure 文档。
在访问令牌中添加用户标识符声明。
单击 Add optional claim(连接)。
在 Add optional claim 模式中,选择 Access。
选择带有用户标识符的声明,您可以在 MongoDB 访问 日志(如电子邮件)中引用该标识符。
单击 Add(连接)。
在 Microsoft Graph Permissions(Microsoft Graph 权限)注释中,选中复选框,然后单击 Add(添加)。
要了解详情,请参阅 Azure 文档。
更新清单。
在左侧导航栏的 Manage 部分,单击 Manifest。
将 accessTokenAcceptedVersion 从
null
更新为2
。数字
2
代表 Microsoft 访问令牌版本 2。其他应用程序可以将其用作 Active Directory 托管用户身份的签名证明。版本 2 确保令牌是 MongoDB 可理解的 JSON 网络令牌。单击 Save(连接)。
要了解有关添加可选声明的更多信息,请参阅 Azure 文档。
记住元数据。
在左侧导航栏中单击 Overview。
复制 Application (client) ID(应用程序(客户端)ID)值。
在顶部导航栏中,单击 Endpoints。
复制不带
/.well-known/openid-configuration
部分的 OpenID Connect metadata document 值。您也可以通过访问 OpenID Connect metadata document(OpenID Connect 元数据文档)URL 并复制
issuer
的值来检索该值。
下表显示了这些Azure AD用户界面值在 Ops Manager 配置属性中的映射内容:
Azure AD用户界面 | Ops Manager 配置属性 |
---|---|
Application (client) ID | Client ID Audience |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI。 |
先决条件
要启用 OIDC 身份验证,您必须:
使用
mongosh
1 。 9 。 1或更高版本。使用 MongoDB 7.0 或更高版本。
使用 MongoDB Agent 配置至少一种其他身份验证机制。
注意
MongoDB Agent无法通过OIDC连接到您的集群。您必须为 MongoDB Agent 启用额外的身份验证机制。如果 Ops Manager 不托管监控或备份,则必须手动将其配置为使用备用身份验证机制。
步骤
注意
如果要重置项目的身份验证和 TLS 设置,请先取消管理 Ops Manager 在项目中管理的任何 MongoDB 部署。
配置 OIDC 身份验证
可选:指定 TLS 设置。
字段 | 操作 |
---|---|
MongoDB 部署传输层安全 (TLS) | 将此滑块切换至 ON(开启)。 |
TLS CA 文件路径 | TLS 证书颁发机构文件是 在运行 MongoDB 进程的每个主机上键入 TLS 证书颁发机构文件的文件路径:
这将为项目中的 MongoDB 进程启用 单击 Validate(验证)测试部署中每个主机在您指定的路径上是否都有 TLS 证书颁发机构。 |
客户端证书模式 |
与Federated Auth (OIDC)身份验证一起使用不需要 TLS。
配置 OIDC 授权设置。
提供以下值:
设置 | 必要性 | 值 |
---|---|---|
Audience | 必需 | 指定 OIDC 提供商的令牌使用对象。 |
Issuer URI | 必需 | 所注册的 IdP 应用程序提供的发行者值。使用此 URI,MongoDB 会找到 OpenID 提供商配置文档,该文档应在 /.wellknown/open-id-configuration 端点中可用。 |
Client ID | 必需 | 已注册的应用程序的唯一标识符。输入来自您向 OIDC IdP 注册的应用程序的 clientId 值。 |
Requested Scopes | Optional | 赋予用户从授权端点请求数据权限的令牌。 对于要添加的每个附加作用域,请单击 Add more scopes(添加更多作用域)。 |
User Claim | Optional | 包含用户主体身份声明的标识符。接受默认值,除非 IdP 使用不同的声明。 默认值: |
Groups Claim | Optional | 包含主体的 IdP 用户群组成员信息声明的标识符。接受默认值,除非 IdP 使用不同的声明,或者您需要自定义声明。 默认值: |
配置 OIDC 授权
MongoDB 不会显式为OIDC创建数据库用户。 它将OIDC用户根据其群组映射到 MongoDB 角色。
要为OIDC群组创建数据库角色,请执行以下操作:
撤销 JWKS
注意
请勿使用此功能轮换您的签名密钥。轮换 OIDC IdP 签名密钥时,MongoDB 会在现有访问令牌到期后自动获取 JWKS。
如果您的私钥遭到泄露,您可以立即撤销缓存在 MongoDB 节点中的 JSON Web 密钥集 (JWKS):