在 wso2 身份服务器中如何添加自定义权限,例如为角色用户操作关联权限创建、更新、删除。我怎样才能创建这样的权限。
如何通过使用 XACML 策略中的角色和权限来使用这些分配的权限进行验证。
我已经创建了一个Standard Policy Editor
基于主题名称的 XACML 策略,该主题名称是用户名,我正在获取角色属性并正在验证,但是如何使用 XACML 验证与其关联的权限。是否有可能在 wso2 XACML 策略中实现这个用例?
在 wso2 身份服务器中如何添加自定义权限,例如为角色用户操作关联权限创建、更新、删除。我怎样才能创建这样的权限。
如何通过使用 XACML 策略中的角色和权限来使用这些分配的权限进行验证。
我已经创建了一个Standard Policy Editor
基于主题名称的 XACML 策略,该主题名称是用户名,我正在获取角色属性并正在验证,但是如何使用 XACML 验证与其关联的权限。是否有可能在 wso2 XACML 策略中实现这个用例?
您可以通过多种方式将自定义权限添加到 WSO2 身份服务器。这些方法在这个答案中给出。
在 WSO2 身份服务器中定义了一个 XACML 函数,例如urn:oasis:names:tc:xacml:1.0:function:eval-permission-tree 。这可用于验证用户的权限。此功能需要两个输入。
1. 所需的权限字符串(例如:/permission/admin/login)
2. 主体或权限被验证的用户
在 WSO2 身份服务器中,有一个关于使用此功能的示例 XACML 策略。如果您登录到 Identity Server 的管理控制台,示例的名称为evaluate_permission_tree_policy,位于Main > Entitlement > PAP > Policy Administration
您可以通过Main > Registry > Browse参考 Identity Server 的注册表来获取权限字符串
我假设您想要验证 XACML 策略中给定角色的权限。根据当前的实现,函数 eval-permission-tree 只检查给定用户是否被授权。[1] 为了满足您的要求,您可以编写自己的 XACML 函数来扩展 EvalPermissionTreeFunction 类。此博客 [2] 描述了如何编写自定义 XACML 函数并将其插入 WSO2 IS。
[2] https://pamodaaw.medium.com/custom-xacml-functions-for-wso2-identity-server-5-10-0-a91bc2ec673d