Docs 菜单
Docs 主页
/
数据库手册
/ / / /

使用 OAuth 的 Workload Identity Federation 2.0

Workload Identity Federation 使用 OAuth 2.0,启用您的应用程序能够使用外部编程身份(例如Azure服务主体、 Azure托管身份和 Google 服务帐户)访问权限MongoDB 。

重要

OpenID Connect (OIDC) 仅在Linux上受支持。

借助 Workload Identity Federation,您可以:

  • 通过现有的云提供商或身份提供商(IdP) 管理应用程序对MongoDB部署的访问权限。

  • 实施安全策略,例如基于角色的访问权限控制、档案轮换和特定于工作负载的权限。

  • 授予对特定应用程序、容器或虚拟机的访问权限,而无需管理单个服务帐户。

  • 要使用 Workload Identity Federation,您必须使用MongoDB Enterprise并拥有MongoDB 7.0.11 或更高版本。

    要验证您是否正在使用MongoDB Enterprise,请将--version 命令行选项传递给mongodmongos

    mongod --version

    在该命令的输出中,请查找字符串 modules: subscriptionmodules: enterprise,以确认您使用的是 MongoDB Enterprise 二进制文件。

  • Workload Identity Federation 允许应用程序使用 OAuth 2.0访问权限令牌访问权限MongoDB集群。 访问权限令牌可由任何外部身份提供商颁发,包括Azure Entra ID和Google Cloud Platform。

  • MongoDB存储用户标识符和权限,但不存储密钥。

要配置和使用 Workload Identity Federation,请执行以下任务:

  1. 为工作负载身份验证配置外部身份提供者

    向支持 OAuth 2.0 标准的 IdP(例如Azure服务主体、 Azure托管身份和 Google 服务帐户)注册您的 OAuth 2.0应用程序。

  2. 使用 Workload Identity Federation 配置MongoDB

    配置MongoDB服务器以将 Workload Identity Federation 与 OAuth 2.0 结合使用。

  3. 使用 Workload Identity Federation 授权用户

    通过向MongoDB添加角色(用于 OAuth、外部授权或两者)或向MongoDB添加数据库用户(用于数据库托管授权)来指定工作负载身份主体的权限。

MongoDB驱动程序支持Workload Identity Federation 的两种类型的身份验证流程:内置身份验证和回调身份验证。

如果将应用程序部署在具有受支持主体类型的受支持基础架构上,则可以使用内置身份验证。 您的应用程序可以访问权限MongoDB集群,无需提供密码或手动向云提供商的元数据服务请求JSON Web 令牌 (JSON web token )。 相反,您选择的MongoDB驾驶员会使用现有的主体标识符在幕后请求JSON web token访问权限令牌,然后在应用程序连接时,该令牌会自动传递到Atlas 集群。

有关更多实施详情,请参阅所选 驱动程序的文档。

云服务提供商
基础架构类型
主体类型

Google Cloud Platform Provider (GCP)

Compute Engine

GCP 服务帐号

App Engine 标准环境

App Engine 灵活环境

Cloud Functions

Google Run

Google Kubernetes Engine

Cloud Build

AZURE

Azure VM

Azure 托管身份(分配的用户和系统)

您可以在任何支持 OAuth 2.0访问权限令牌的服务中使用回调身份验证。 Workload Identity Federation 会调用回调方法,您可以在该方法中向授权服务器或云提供商请求所需的JSON web token,而当应用程序通过 Workload Identity Federation 连接到MongoDB时,您必须传递该令牌。

查看所选驱动程序的文档以了解更多实施细节。

后退

使用 Workforce Identity Federation 授权用户

在此页面上