问题描述
我想给用户一个新角色,用户可以通过该角色从安全数据库中获取所有用户,但我们不能给该用户一个名为的角色”安全性”,因为此角色授予该特定用户访问完整安全数据库的权限。我们只希望用户获得仅获取用户列表的权限。
解决方法
Temporarily Increasing Privileges with Amps
放大器为用户提供执行特定功能的额外授权。为用户永久分配此授权可能会危及系统的安全。执行 amped 函数时,用户是 amped 角色的一部分,该角色临时授予用户该角色的其他特权和权限。放大器使您能够将附加角色(特权和权限)的影响限制为特定功能。
高级步骤:
- 创建一个代表所需功能的新角色
- 创建您自己的函数来运行您需要的查询。
- 确保该函数具有安全断言以限制对该函数的访问。
- AMP 具有所需的高级角色。
- 为您的用户分配新角色。
-----
基本上:当使用你的包装函数时,额外的角色是 amped 到调用角色 - 但该函数只能由预期的组使用。