文档菜单
文档首页
/
MongoDB 手册
/ / / / /

配置外部身份提供程序

本页内容

  • 关于此任务
  • 开始之前
  • 步骤

要使用 OAuth 2.0 配置工作负载身份联合,您需要在 Microsoft Azure 或 Google Cloud Platform (GCP) 等外部身份提供程序上注册您的 OAuth 2.0 应用程序。这可以实现安全的身份验证并简化用户管理。

工作负载身份联合使用 OAuth2.0 访问令牌。这些令牌可以由任何外部身份提供程序颁发。

以下过程配置 Microsoft Azure Entra ID 和 Google Cloud Platform 作为 MongoDB 的外部身份提供程序。

  • 要使用 Microsoft Azure 作为身份提供程序,您必须有Microsoft Azure 账户.

  • 要使用 Google Cloud 作为身份提供者,您必须拥有一个 Google Cloud 账户。

为了通过 Azure Managed Identities 或 Azure Service Principals 访问自管理的 MongoDB 实例,您需要注册一个 Azure Entra ID 应用程序。如果您已有用于Workforce(人工用户)访问的应用程序注册,我们建议您为工作负载访问注册一个单独的应用程序。

1
  1. 导航到应用程序注册.

    1. 在您的Azure门户账户中,搜索并点击Microsoft Entra ID

    2. 在左侧导航的管理部分,点击应用注册

  2. 点击新建注册

  3. 应用以下值。

    字段
    名称
    MongoDB - 工作负载
    支持的账户类型
    仅此组织目录中的账户(单租户)
    重定向URI
    Web
2

对于应用访问,在自管理的MongoDB部署中定义访问权限时,使用服务主体标识符作为MongoDB用户标识符是最佳实践。如果您计划使用此常用方法,请跳过此步骤。但是,如果您希望使用组标识符,如Azure AD安全组标识符,则可以在应用程序注册中通过以下步骤设置组声明。

  1. 转到令牌配置

    在左侧导航的管理部分,点击令牌配置

  2. 点击添加组声明

  3. 编辑组声明模态窗口中,选择安全

    您选择的组取决于您在Azure环境中配置的组类型。您可能需要选择不同类型的组以发送适当的组信息。

  4. 按类型自定义令牌属性部分,确保您只选择组ID

    当您选择组ID时,Azure会发送安全组的Object ID。

  5. 点击添加

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

3
  1. 在左侧边栏中导航到 暴露 API 并启用应用程序 ID URI。

  2. 启用应用程序 ID URI。

    保留由 Azure 分配的默认应用程序 ID URI,该 URI 为<application_client_id>。请复制并存储此值,因为自管理的 MongoDB 部署和所有 MongoDB 驱动程序在 Workload Identity Federation 配置中都需要此值。

4
  1. 在左侧导航的 管理 部分,单击 清单

  2. accessTokenAcceptedVersionnull 更新到 2

    数字 2 代表微软访问令牌的版本 2。其他应用程序可以使用它作为 Active Directory 管理用户身份的证明。版本 2 确保令牌是 MongoDB 可以理解的 JSON Web Token。

  3. 点击 保存

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

5
  1. 在左侧导航中,点击 概览

  2. 在顶部导航中,点击 端点

    复制 OpenID Connect 元数据文档 的值,不包括 /.well-known/openid-configuration

    您也可以通过遵循 OpenID Connect 元数据文档 URL 并复制 issuer 的值来检索此值。

以下表格显示了这些 Microsoft Entra ID UI 值在 MongoDB oidcIdentityProviders 参数中的映射

Microsoft Entra ID UI
MongoDB oidcIdentityProviders 参数字段
OpenID Connect 元数据文档(不包括 /.well-known/openid-configuration)
issuer
应用程序 ID URI
audience

您不需要在您的 Google Cloud 服务帐户中进行任何配置更改。

返回

工作负载(应用程序)