12.6. Direct Naked Impersonation
您可以在不提供 subject_token 的情况下发出内部令牌交换请求。这称为直接的模拟,因为它在客户端中放置了大量信任,因为客户端可以模拟域中的任何用户。对于无法获取主题令牌来交换的应用程序,您可能需要进行桥接。例如,您可以集成一个通过 LDAP 直接登录的传统应用程序。在这种情况下,传统应用程序能够对用户本身进行身份验证,但不能获取令牌。
为客户端启用直接模拟非常风险。如果客户端的凭据被盗了,则该客户端可以模拟系统中的任何用户。
12.6.1. 为交换授予权限 复制链接链接已复制到粘贴板!
如果提供了 audience 参数,则调用客户端必须具有与客户端交换的权限。本章前文中会讨论如何设置此设置。
另外,必须授予调用客户端的权限来模拟用户。
流程
- 点菜单中的 Users。
单击权限选项卡。
图 12.11. 用户权限
将" 启用" 的权限切换为 On。
图 12.12. 身份提供程序权限
该页面显示一个 模拟 链接。
单击该链接,以开始定义权限。
这时将显示此设置页面。
图 12.13. 用户获取权限设置
- 在屏幕顶部的面包屑导航栏中点 Client details。
- 为这个权限定义策略。
进入 Policies 选项卡,再创建一个客户端策略。
图 12.14. 客户端策略创建
- 输入作为请求令牌交换的经过身份验证的用户的起始客户端。
返回到用户的 模拟 权限,并添加您刚才定义的客户端策略。
图 12.15. 应用客户端策略
您的客户端现在有模拟用户的权限。如果不正确,如果您尝试进行此类交换,您将会收到 403 Forbidden 响应。
不允许公共客户端进行直接模拟。
12.6.2. 发出请求 复制链接链接已复制到粘贴板!
要发出请求,只需指定 requested_subject 参数。这必须是有效用户的用户名或用户 ID。如果想要,您还可以指定 audience 参数。