gpt4 book ai didi

hyperledger-fabric - Hyperledger Fabric 用户权限差异

转载 作者:行者123 更新时间:2023-12-04 04:39:49 31 4
gpt4 key购买 nike

如果我有 1 个组织 orgA ,在这个组织下我有 2 个用户:user1user2 , 在 orgA 中也有 1 个对等点,让我们称之为 peer0 .

现在想象一下,user1的证书在orgA's msp/admincerts前辈,这使得 user1管理员 orgA .另一方面,让我们说 user2's证书在 peer0's msp/admincerts文件夹,这使得 user2管理员 peer0 .

我的问题是 user1 之间的权限有什么区别?和 user2 ,我的意思是什么user1能做什么,做什么user2不能做,反之亦然?

我也在使用 fabic canode sdk与网络互动。在我的示例中,当我从 nod sdk 注册 Fabric ca 的引导用户(admin/adminpw),然后发出创建 channel 请求时,它起作用了,但是当我发出加入 channel 请求时,它失败了(因为该用户没有权限)。当我试图了解为什么会发生这种情况时,我发现如果我向用户发出加入请求,该用户的证书不在对等方的 msp/admincerts 文件夹中,则此类用户无权让对等方加入 channel 。所以唯一的方法是我必须将注册的管理员证书复制到 peer0 的 msp/admincerts 文件夹中,然后我认为它会起作用,但这是使它起作用的唯一方法,还是有任何其他方法可以避免复制/粘贴到它从 sdk,还是创建新的配置更新事务?

另外我不明白是什么让这个用户能够创建 channel ?从 fabric ca 引导用户有什么权限已?

最佳答案

这是一个很晚的回复,但希望有人会发现这有帮助。用户角色和权限没有直接关联,这是通过 configtx.yaml 中设置的策略完成的。 .

为每个 Org 和 Orderer 定义策略,将每个成员和管理员标记为一组特定的策略子组,如 ReadersWritersAdmins .这些是用于构建 ImplicitMeta 策略的基层策略,例如用于 chiancode 查询和写入。

例如,一个组织定义了这样的策略

# Policies defines the set of policies at this level of the config tree
# For organization policies, their canonical path is usually
# /Channel/<Application|Orderer>/<OrgName>/<PolicyName>
Policies: &org1Policies
Readers:
Type: Signature
Rule: "OR('org1.example.com.member')"
# If your MSP is configured with the new NodeOUs, you might
# want to use a more specific rule like the following:
# Rule: "OR('org1MSP.admin', 'org1MSP.peer')"
Writers:
Type: Signature
Rule: "OR('org1.example.com.member')"
# If your MSP is configured with the new NodeOUs, you might
# want to use a more specific rule like the following:
# Rule: "OR('org1MSP.admin', 'org1MSP.client'')"
Admins:
Type: Signature
Rule: "OR('org1.example.com.admin')

联盟的政策定义如下:
Policies:
Readers:
Type: ImplicitMeta
Rule: "ANY Readers"
Writers:
Type: ImplicitMeta
Rule: "ANY Writers"
Admins:
Type: ImplicitMeta
Rule: "MAJORITY Admins"

这引用了之前定义的 org 和 orderer 策略。

现在在系统链码中可以有如下策略:
Application: &ApplicationDefaults
ACLs: &ACLsDefault
#This section provides defaults for policies for various resources
#in the system.
#---Query System Chaincode (qscc) function to policy mapping for access control---#

#ACL policy for qscc's "GetChainInfo" function
qscc/GetChainInfo: /Channel/Application/Readers

#ACL policy for qscc's "GetBlockByNumber" function
qscc/GetBlockByNumber: /Channel/Application/Readers

这里引用的政策指向联盟政策。

请阅读 docs有关这方面的更详细指导。

关于hyperledger-fabric - Hyperledger Fabric 用户权限差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53581831/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com