配置外部身份提供者
要使用 OAuth 2.0 配置 Workload Identity Federation,请向Microsoft Azure或Google Cloud Platform (GCP ) 等外部身份提供商注册您的 OAuth 2.0应用程序。这样可以实现安全身份验证并简化用户管理。
关于此任务
Workload Identity Federation 使用 OAuth 2.0访问权限令牌。这些令牌可以由任何外部身份提供商颁发。
以下过程将Microsoft Azure Entra ID和Google Cloud Platform配置为MongoDB的外部身份提供者。
开始之前
要使用Microsoft Azure作为身份提供商,您必须拥有 Microsoft Azure帐户。
要将 Google Cloud 作为身份提供商,您必须拥有 Google Cloud 帐号。
步骤
为了使用Azure托管身份或Azure服务主体访问权限自管理MongoDB实例,您需要注册Azure Entra ID应用程序。如果您现有的应用程序已注册用于 Workforce(人类用户)访问权限,我们建议您注册一个单独的应用程序用于工作负载访问权限。
注册应用程序
导航至 App registrations 。
在Azure 门户 中 帐户、 ,然后单击Atlas Search Microsoft Entra ID。
在左侧导航栏的 Manage 部分,单击 App registrations。
单击 New registration(连接)。
应用以下值。
字段值NameMongoDB - WorkloadSupported Account TypesAccounts in this organizational directory only (single tenant)Redirect URIWeb
(可选)添加群组声明
对于应用程序访问权限,最佳实践是使用服务主体标识符作为MongoDB用户标识符,同时在自管理MongoDB部署中定义访问权限权限。如果您计划使用这种常用方法,请跳过此步骤。但是,如果您更愿意使用群组标识符(例如Azure AD 安全群组标识符),则可以通过以下步骤在应用程序注册中设立群组声明。
导航至 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 文档。
更新清单
在左侧导航栏的 Manage 部分,单击 Manifest。
将 accessTokenAcceptedVersion 从
null
更新为2
。数字
2
代表 Microsoft访问权限令牌的版本 2。其他应用程序可将其用作 Active Directory 托管用户的身份证明。版本 2 确保令牌是MongoDB可理解的JSON Web 令牌。单击 Save(连接)。
要了解有关添加可选声明的更多信息,请参阅 Azure 文档。
记住元数据
在左侧导航栏中单击 Overview。
在顶部导航栏中,单击 Endpoints。
复制 OpenID Connect metadata document 值,但不包括
/.well-known/openid-configuration
。您还可以通过访问 OpenID Connect metadata document URL并复制
issuer
的值来检索此值。
下表显示了这些Microsoft Entra ID 用户界面值在MongoDBoidcIdentityProviders
参数中的映射:
Microsoft Entra ID UI | MongoDB oidcIdentityProviders 参数字段 |
---|---|
OpenID Connect metadata document (without /.well-known/openid-configuration) | issuer |
Application ID URI | audience |
您无需在 Google Cloud 服务帐号中进行任何配置更改。