配置外部身份提供者
要使用 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的外部身份提供者。
开始之前
To use Microsoft Azure as an identity 提供商, you must have a Microsoft Azure account.
要将 Google Cloud 作为身份提供商,您必须拥有 Google Cloud 帐号。
步骤
为了使用Azure托管身份或Azure服务主体访问权限自管理MongoDB实例,您需要注册Azure Entra ID应用程序。如果您现有的应用程序已注册用于 Workforce(人类用户)访问权限,我们建议您注册一个单独的应用程序用于工作负载访问权限。
注册应用程序
导航至 App registrations 。
在Azure 门户 中 帐户、 ,然后单击Atlas Search Microsoft Entra ID。
在左侧导航栏的 Manage 部分,单击 App registrations。
单击 New registration(连接)。
应用以下值。
字段值Name
MongoDB - Workload
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
Web
(可选)添加群组声明
对于应用程序访问权限,最佳实践是使用服务主体标识符作为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) |
|
Application ID URI |
|
您无需在 Google Cloud 服务帐号中进行任何配置更改。