由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年10月19日 · Steve Simpson · 安全

权限集和权限集组中的会话激活

欢迎来到我们安全系列的又一期。今天,我们将深入探讨权限集和权限集组中会话激活的细节。读完这篇文章,你会很好地理解“需要会话激活”是什么意思,以及如何有效地使用它。

为什么要会话激活?

权限集和权限集组是赋予用户能力的核心构建模块。其中一个有意思的功能是“需要会话激活”复选框。有了它,你可以把一个权限集或权限集组分配给用户,但只有在某个特定操作发生时它才会生效。

**设想一个场景:**你想授予对某个资源的权限,但只在特定条件下。

比如当某人靠近某个特定物体时,比如在一栋建筑或一个房间里。你可以检测到这种靠近,激活权限集,授予额外的访问权限。这种访问权限只在会话期间有效。用户退出后,权限集会被停用,但仍然保持分配状态。

演示

图示:飞行员 Paul 的权限集组,以及一个只在会话被激活时才加入的 Runway View 权限集

我们以飞行员 Paul 为例。我们给 Paul 一个对机场详情和导航只读的权限集。在之前的一个视频中,我们展示了静音组如何隐藏一个特定的字段。现在我们引入一个新的权限集,它可以访问“Runway”对象。这种访问只有在我们激活这个权限集时才会出现。所以,如果 Paul 不在飞机上,他就无法访问跑道的详情。

截图:一个只允许在机场访问跑道的权限集,勾选了“需要会话激活”复选框

没有会话激活时,Paul 看到两个选项卡:“OA Airports”和“OA Nav”。“OA Runways”选项卡无法访问。

为了实现会话激活,我写了一段代码。它找出当前用户,找到所需的权限集,并为本次会话激活它。

Apex 代码:通过插入一条 SessionPermSetActivation 记录,把一个基于会话的权限集加到当前用户的会话中

流程概要:

  1. 权限集“STA Runway Sessions Allowed”在创建时勾选了“需要会话激活”复选框。
  2. 这项权限授予对 Runway 对象及其所有字段的访问权限。
  3. 这个权限集已分配给 Paul,但在我们那段特定的代码运行之前,它一直处于非活动状态。
  4. 代码运行之后,Paul 的会话中出现了“OA runways”选项卡,他可以访问可用跑道的列表了。

这种动态能力展示了会话激活如何临时提升用户的权限。

下次登录时,Paul 会回到他原来的访问级别,没有额外的跑道权限。

总结

“需要会话激活”是一个强大的工具,尤其是当你想在特定条件下临时授予更大的访问权限时。关键在于什么时候、以什么方式触发激活。

可能性有很多,从基于位置的激活(比如在飞机上)到由事件驱动的激活。

敬请关注

感谢收看。请记住,安全至关重要,而理解字段级安全能确保你的 Salesforce 数据保持机密、掌握在正确的人手中。

请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。

与其他架构师以及所有走在这条路上的人分享想法,一点点改变世界!

祝你的用户管理安全而高效!

转录借助了 AI

STA 4.4