You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hyperledger Fabric中参与者/资产与事务访问控制规则冲突问询

问题解答:Hyperledger Fabric员工社交网络的访问控制疑问

1. 员工是否无法修改自身数据?

咱们先拆解两条ACL规则的实际作用:

rule EmployeesHaveWriteAccessToTheirOwnData { 
  description: "Allow employees write access to their own data" 
  participant(p): "org.company.biznet.Employee" 
  operation: UPDATE 
  resource(r): "org.company.biznet.Employee" 
  condition: (p.getIdentifier() == r.getIdentifier()) 
  action: ALLOW 
}
rule EmployeeCanSubmitTransactionsToUpdateData { 
  description: "Allow employees to update their data" 
  participant: "org.company.biznet.Employee" 
  operation: CREATE 
  resource: "org.company.biznet.UpdateTransaction" 
  action: DENIED 
}

这里的核心逻辑是:Hyperledger Fabric中修改资源必须通过提交事务来触发。规则1确实给了员工更新自身数据的权限,但规则2直接禁止了员工提交用于触发更新的UpdateTransaction事务——没有合法的事务来发起这个UPDATE操作,员工根本没有途径执行修改动作。

所以结论很明确:员工确实无法修改自身数据,因为触发更新的唯一合法路径被规则2堵死了。

2. 是否可不通过.cto文件定义的事务访问拥有权限的数据?

答案是绝对不行。在Hyperledger Fabric的业务网络架构里,所有对资源的访问(读、写、删)都必须严格遵循.cto文件中定义的业务模型和事务逻辑:

  • 资源的操作权限(比如规则1里的UPDATE)是针对资源本身的,但执行这些操作必须通过预定义的事务来承载;
  • 不存在绕过.cto定义的事务直接访问或修改资源的方式,因为整个网络的交互流程、权限校验都是基于你在.cto中声明的模型来运行的。哪怕你拥有某个资源的操作权限,没有对应的事务来触发,也无法实际执行任何操作。

内容的提问来源于stack exchange,提问作者Tommy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:24:44