为 Cloud Manager 项目启用 OIDC 身份验证
在此页面上
Cloud Manager 使您能够配置所有客户端(包括 Cloud Manager 代理)用于连接到 MongoDB 部署的身份验证机制。您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。
MongoDB Enterprise支持使用 OIDC 进行身份验证。 使用 OIDC 进行身份验证 ,您必须先向支持 OIDC 标准的 IdP 注册您的 OIDC 或 OAuth应用程序,例如Microsoft Entra ID、Okta 和 Ping Identity。
配置外部身份提供商应用程序
OIDC 应用程序注册步骤可能因 IdP 而异。确保在注册过程中完成以下列项:
注册应用程序后,保存issuer
、 clientId
和audience
值,以在OIDC IdP 配置的下一阶段使用。
将 Microsoft Entra ID 配置为身份提供程序
要在 Microsoft Entra ID 中注册您的 OIDC 或 OAuth 应用程序,请执行以下操作:
注册应用程序。
导航至 App registrations。
在Azure 门户 中 帐户、 ,然后单击Atlas Search Microsoft Entra ID。
在左侧导航栏的 Manage 部分,单击 App registrations。
单击 New registration(连接)。
应用以下值。
字段值NameCM 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
的值来检索该值。
下表显示了这些 Microsoft Entra ID UI 值在 Cloud Manager 配置属性中的映射内容:
Microsoft Entra ID UI | Cloud 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 启用额外的身份验证机制。如果 Cloud Manager 不托管监控或备份,您必须手动将其配置为使用备用身份验证机制。
步骤
注意
如果您想重置项目的身份验证和 TLS 设置,请先取消管理Cloud Manager在您的项目中管理的任何MongoDB部署。
配置 OIDC 身份验证
在MongoDB Cloud Manager 中,Go Deployment项目的 页面。
如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Deployment(数据库部署)页面尚未出现,请单击侧边栏中的 Deployment(数据库)。
显示“部署”页面。
转到 Security 页面。
单击部署的Security标签页。
显示“安全”页面。
指定 TLS 设置。
字段 | 操作 |
---|---|
MongoDB 部署传输层安全 (TLS) | 将此滑块切换至 ON(开启)。 |
TLS CA 文件路径 | TLS 证书颁发机构文件是
在运行 MongoDB 进程的每个主机上键入 TLS 证书颁发机构文件的文件路径:
这将为项目中的 MongoDB 进程启用 单击 Validate(验证)测试部署中每个主机在您指定的路径上是否都有 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群组创建数据库角色,请执行以下操作:
Revoke JWKS
注意
请勿使用此功能轮换您的签名密钥。轮换 OIDC IdP 签名密钥时,MongoDB 会在现有访问令牌到期后自动获取 JWKS。
如果您的私钥遭到泄露,您可以立即撤销缓存在 MongoDB 节点中的 JSON Web 密钥集 (JWKS):