本指南向您介绍如何使用 PingOne 作为 IdP 来配置 Workforce Identity Federation。
集成 PingOne 和Atlas后,您的员工可以使用其 PingOne凭证通过 OIDC身份验证访问权限Atlas集群。
必需的访问权限
如需管理联合身份验证,必须拥有 Organization Owner 访问权限,能够访问一个或多个将联合设置委托给实例的组织。
先决条件
要将 PingOne 用作 Atlas 的IdP ,您必须拥有:
PingOne订阅。要获取订阅,请访问 PingOne。
步骤
在以下过程中,为Atlas Federation 管理控制台打开一个浏览器标签页,并为 PingOne 帐户打开一个标签页会很有帮助。
将 PingOne 配置为身份提供者
使用 PingOne 管理控制台将 PingOne 配置为 OIDC IdP。
在Atlas中配置 Workforce Identity Federation
要在Atlas中配置劳动力身份提供程序,请执行以下操作:
输入以下劳动力身份提供商协议设置。
设置 | 必要性 | 值 |
|---|---|---|
Configuration Name | 必需 | 标识此配置的人类可读标签。 此标签对Atlas用户可见。 |
Configuration Description | Optional | 描述此配置的人类可读标签。 |
Issuer URI | 必需 | 已注册的 IdP应用程序提供的发行者值。 MongoDB使用此 URI 查找 OpenID 提供程序配置文档,该文档应在 |
Client ID | 必需 | 已注册应用程序的唯一标识符。 输入您在外部身份提供程序中注册的应用的 |
Audience | 必需 | 外部身份提供商打算为其提供令牌的实体。 输入您在外部身份提供程序中注册的应用的 |
Requested Scopes | Optional | 授予用户从授权端点请求数据权限的令牌。 如果计划支持刷新令牌,则此字段必须包含值 对于要添加的每个附加作用域,请单击 Add more scopes(添加更多作用域)。 |
Authorization Type | 必需 | 选择 Group Membership 以根据 IdP 用户群组成员身份授予授权,或选择 User ID 以向单个用户授予授权。 |
Customize Groups Claim | 必需 | 包含主体的 IdP 用户群组成员信息的声明的标识符。接受默认值,除非 IdP 使用不同的声明,或者您需要自定义声明。仅当您选择 Group Membership 时才需要此字段。 默认值: |
Customize User Claim | 必需 | 包含用户主体身份的声明的标识符。 接受默认值,除非IdP使用不同的声明。 默认值: |
使用劳动力身份验证添加数据库用户
打开 Add New Database User or Group(添加新的数据库用户)对话框。
单击 Add New Database User or Group(添加新的数据库用户)。
注意
在将 Workforce IdP 应用到 Atlas 之前,此按钮显示 Add New Database User。
选择 Federated Auth(Atlas SQL)。
在 Authentication Method 部分,选择 Federated Auth。
注意
在为组织启用 Workforce IdP 之前,您无法选中此复选框。
分配用户或群组权限。
要向新用户或群组分配权限,请执行以下一项或多项任务:
从 Built-in Role 下拉菜单中,选择一个内置角色。
您可以在 Atlas 用户界面中为每个数据库组选择一个内置角色。
如果删除默认选项,则可以单击Add Built-in Role选择新的内置角色。
选择或添加自定义角色。
如果您定义了任何自定义角色,则可以展开Custom Roles部分,然后从Custom Roles下拉菜单中选择一个或多个角色。
单击Add Custom Role以添加更多自定义角色。
单击Custom Roles链接可查看项目的自定义角色。
添加权限。
展开Specific Privileges部分,然后从Specific Privileges下拉菜单中选择一个或多个权限。
单击Add Specific Privilege可添加更多权限。 这将为群组分配对各个数据库和集合的特定权限。
删除已应用的角色或特权。
- 单击Delete旁边
- 要删除的角色或特权。
注意
如果只选择了一个选项,Atlas 不会在 Built-in Role(内置角色)、Custom Role(自定义角色)或 Specific Privilege(特定权限)选项旁边显示 Delete(删除)图标。应用了其他角色或权限后,就可以删除选定的角色或权限。
Atlas 可以将一个内置角色、多个自定义角色和多个特定权限应用到 数据库群组。
要了解有关授权的更多信息,请参阅 MongoDB 手册中的基于角色的访问控制和内置角色。
使用 Workforce Identity Federation 将客户端连接到MongoDB
下面列出了使用 Workforce Identity Federation身份验证将客户端连接到MongoDB 的方法:
Compass v1.38 +
MongoDB Shell v2.1.4+
注意
如果配置了设备授权流,则在与mongosh连接时必须传递 --oidcFlows=device-auth 标志。示例:
mongosh "<connection-string>" \ --authenticationMechanism MONGODB-OIDC \ --oidcFlows=device-auth