“文档” 菜单
文档首页
/
MongoDB Ops Manager
/ /

为 Ops Manager 项目启用 OIDC 身份验证

在此页面上

  • 配置外部身份提供商应用程序
  • 为 Ops Manager 注册新应用程序。
  • Redirect URL值设置为 http://localhost:27097/redirect
  • 添加或启用 groups 声明。
  • 可选:如果您希望 MongoDB 客户端刷新令牌以获得更好的用户体验,请允许刷新令牌。
  • 可选:配置访问令牌生命周期( exp声明)以与数据库连接会话时间保持一致。
  • Azure AD 配置为身份提供程序
  • 先决条件
  • 步骤
  • 配置 OIDC 身份验证
  • 配置 OIDC 授权
  • 撤销 JWKS

Ops Manager 允许您配置所有客户端(包括 Ops Manager 代理)用于连接到 MongoDB 部署的身份验证机制。 您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。

MongoDB Enterprise支持使用 OIDC 进行身份验证。 使用 OIDC 进行身份验证 ,您必须首先向支持 OIDC 标准的 IdP 注册您的 OIDC 或 OAuth 应用程序,例如 Azure AD 、Okta 和 Ping Identity。

OIDC 应用程序注册步骤可能因 IdP 而异。确保在注册过程中完成以下列项:

1

确保选择 public client/native application 作为客户端类型。

2
3

这样就能确保访问令牌包含身份验证用户的群组成员信息。 MongoDB 使用 群组声明中发送的值进行授权。

4
5

注册应用程序后,保存issuerclientIdaudience值,以在OIDC IdP 配置的下一阶段使用。

要向 Azure AD 注册您的 OIDC 或 OAuth 应用程序:

1
  1. 导航至 App registrations

  2. Azure 门户 中 帐户、 ,然后单击Atlas Search Azure Active Directory

  3. 在左侧导航栏的 Manage 部分,单击 App registrations

  4. 单击 New registration(连接)。

  5. 应用以下值。

    字段
    Name
    OM Database - OIDC
    Supported Account Types
    Accounts in this organizational directory only (single tenant)
    Redirect URI
    - Public client/native (mobile & desktop)
    - http://localhost:27097/redirect
  6. 单击 Register(连接)。

要了解有关注册应用程序的更多信息,请参阅 Azure 文档。

2
  1. 导航至 Token Configuration

    在左侧导航栏的 Manage 部分,单击 Token Configuration

  2. 单击 Add groups claim(连接)。

  3. Edit groups claim 模式中,选择 Security

    所选择的群组取决于您在 Azure 环境中配置的群组类型。 您可能需要选择不同类型的群组 来发送相应的群组信息。

  4. Customize token properties by type(按类型自定义令牌属性)部分,确保仅选择Group ID(群组 ID)。

    当您选择 Group Id 时,Azure 将发送安全组的对象 ID。

  5. 单击 Add(连接)。

要了解有关添加群组声明的更多信息,请参阅 Azure 文档。

3
  1. 单击 Add optional claim(连接)。

  2. Add optional claim 模式中,选择 Access

  3. 选择带有用户标识符的声明,您可以在 MongoDB 访问 日志(如电子邮件)中引用该标识符。

  4. 单击 Add(连接)。

  5. Microsoft Graph Permissions(Microsoft Graph 权限)注释中,选中复选框,然后单击 Add(添加)。

要了解详情,请参阅 Azure 文档。

4
  1. 在左侧导航栏的 Manage 部分,单击 Manifest

  2. accessTokenAcceptedVersionnull 更新为 2

    数字 2 代表 Microsoft 访问令牌版本 2。其他应用程序可以将其用作 Active Directory 托管用户身份的签名证明。版本 2 确保令牌是 MongoDB 可理解的 JSON 网络令牌。

  3. 单击 Save(连接)。

要了解有关添加可选声明的更多信息,请参阅 Azure 文档。

5
  1. 在左侧导航栏中单击 Overview

    复制 Application (client) ID(应用程序(客户端)ID)值。

  2. 在顶部导航栏中,单击 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 部署

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  1. 单击 Security 标签页。

  2. 单击 Settings 标签页。

  3. 执行以下操作之一:

    • 如果这是您第一次为此项目配置 TLS、身份验证或授权设置,请单击 Get Started(开始使用)。

    • 如果已经为此项目配置 TLS 身份验证或授权设置,请单击 Edit(编辑)。

2
字段
操作
MongoDB 部署传输层安全 (TLS)
将此滑块切换至 ON(开启)。
TLS CA 文件路径

TLS 证书颁发机构文件是 .pem 格式的证书文件,其中包含来自证书颁发机构的根证书链。MongoDB 助手使用相同的证书颁发机构文件连接到部署中的每个项目。

注意

.pem证书文件的加密私钥必须采用 PKCS #1 格式。MongoDB Agent不支持 PKCS #8 格式。

在运行 MongoDB 进程的每个主机上键入 TLS 证书颁发机构文件的文件路径:

  • 在第一个框中键入所有 Linux 主机上的文件路径。

  • 在第二个框中键入所有 Windows 主机上的文件路径。

这将为项目中的 MongoDB 进程启用net.tls.CAFile设置。

单击 Validate(验证)测试部署中每个主机在您指定的路径上是否都有 TLS 证书颁发机构。

客户端证书模式

选择在连接到启用 TLS 的 MongoDB 部署时客户端应用程序或 MongoDB 助手是否必须提供 TLS 证书。每个 MongoDB 部署都会在这些客户端主机尝试连接时检查来自这些客户端主机的证书。如果选择要求客户端 TLS 证书,请确保它们有效。

接受的值为:

Optional
连接到 MongoDB 部署时,每个客户端都可以提供有效的TLS证书。 如果您mongodtlsMode 设置为 ,MongoDB 助手可能会使用 TLSNone 证书。
必需
此项目中的每个 MongoDB 部署都从 TLS 加密的网络连接开始。所有助手都必须使用 TLS 连接到任何 MongoDB 部署。

Federated Auth (OIDC)身份验证一起使用不需要 TLS。

3

MongoDB Deployment Authentication Mechanism 部分,选择 Federated Auth (OIDC)

4

提供以下值:

设置
必要性
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 使用不同的声明。

默认值sub

Groups Claim
Optional

包含主体的 IdP 用户群组成员信息声明的标识符。接受默认值,除非 IdP 使用不同的声明,或者您需要自定义声明。

默认值groups

5
6
7

否则,请单击 Cancel,您可以进行其他更改。

MongoDB 不会显式为OIDC创建数据库用户。 它将OIDC用户根据其群组映射到 MongoDB 角色。

要为OIDC群组创建数据库角色,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  4. 单击 Security 标签页。

  5. 单击 MongoDB Roles 标签页。

2
3
  1. 输入以下字段:

    字段
    必要性
    说明
    Identifier
    必需

    database框中,输入admin

    name框中,输入您的projectIdIdP提供的群组名称,用斜线分隔/

    {projectId}/{group_name}
    Inherits From
    Optional
    角色名称和数据库对的列表。 这些对的格式为roleName@dbName
    Authentication Restrictions
    Optional
    您想要限制来自IdP的 IP 地址或 CIDR 符号列表。
  2. 单击 Add Role(连接)。

注意

请勿使用此功能轮换您的签名密钥。轮换 OIDC IdP 签名密钥时,MongoDB 会在现有访问令牌到期后自动获取 JWKS。

如果您的私钥遭到泄露,您可以立即撤销缓存在 MongoDB 节点中的 JSON Web 密钥集 (JWKS):

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  4. 单击 Security 标签页。

  5. 单击 Settings 标签页。

2
  1. 滚动到OIDC Connection and Authorization (Required for OIDC)部分。

  2. 单击 REVOKE JWKS 按钮。

    注意

    如果未配置IdP ,则此按钮处于空闲状态。

  3. Revoke JWKS tokens? 模式中,单击 Revoke

后退

启用 Kerberos 身份验证

来年

启用 X.509 身份验证