配置外部身份提供程序
要使用 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(人工用户)访问的应用程序注册,我们建议您为工作负载访问注册一个单独的应用程序。
注册应用程序
导航到应用程序注册.
在您的Azure门户账户中,搜索并点击Microsoft Entra ID。
在左侧导航的管理部分,点击应用注册。
点击新建注册。
应用以下值。
字段值名称MongoDB - 工作负载支持的账户类型仅此组织目录中的账户(单租户)重定向URIWeb
(可选) 添加组声明
对于应用访问,在自管理的MongoDB部署中定义访问权限时,使用服务主体标识符作为MongoDB用户标识符是最佳实践。如果您计划使用此常用方法,请跳过此步骤。但是,如果您希望使用组标识符,如Azure AD安全组标识符,则可以在应用程序注册中通过以下步骤设置组声明。
转到令牌配置。
在左侧导航的管理部分,点击令牌配置。
点击添加组声明。
在编辑组声明模态窗口中,选择安全。
您选择的组取决于您在Azure环境中配置的组类型。您可能需要选择不同类型的组以发送适当的组信息。
在按类型自定义令牌属性部分,确保您只选择组ID。
当您选择组ID时,Azure会发送安全组的Object ID。
点击添加。
要了解更多关于添加组声明的信息,请参阅 Azure 文档。
更新清单
在左侧导航的 管理 部分,单击 清单。
将 accessTokenAcceptedVersion 从
null
更新到2
。数字
2
代表微软访问令牌的版本 2。其他应用程序可以使用它作为 Active Directory 管理用户身份的证明。版本 2 确保令牌是 MongoDB 可以理解的 JSON Web Token。点击 保存。
要了解有关添加可选声明的更多信息,请参阅 Azure 文档。
请记住元数据
在左侧导航中,点击 概览。
在顶部导航中,点击 端点。
复制 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 服务帐户中进行任何配置更改。