Hyperledger fabric 是否应始终为组织管理员分配类型admin?

Hyperledger fabric 是否应始终为组织管理员分配类型admin?,hyperledger-fabric,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger Fabric Ca,在阅读时,我注意到组织1和组织2的管理员在相应CA中注册时未分配admin类型,如下所示: fabric-ca-client register -d --id.name admin-org1 --id.secret org1AdminPW --id.type user -u https://0.0.0.0:7054 fabric-ca-client register -d --id.name admin-org2 --id.secret org2AdminPW --id.type user -u

在阅读时,我注意到组织1和组织2的管理员在相应CA中注册时未分配admin类型,如下所示:

fabric-ca-client register -d --id.name admin-org1 --id.secret org1AdminPW --id.type user -u https://0.0.0.0:7054
fabric-ca-client register -d --id.name admin-org2 --id.secret org2AdminPW --id.type user -u https://0.0.0.0:7055
最糟糕的是,我发现了另一个条目,其中组织0的管理员实际上是使用admin类型注册的:

fabric-ca-client register -d --id.name admin-org0 --id.secret org0adminpw --id.type admin --id.attrs "hf.Registrar.Roles=client,hf.Registrar.Attributes=*,hf.Revoker=true,hf.GenCRL=true,admin=true:ecert,abac.init=true:ecert" -u https://0.0.0.0:7053

为什么上述注册会出现这种不同的行为?

如果在MSP中设置了NodeOUs,则必须指定“admin”(或在
config.yaml
中指定的另一个标识符)。这样,
OU
在注册的证书中被适当地设置,以便将其视为管理员

如果未在MSP中设置NodeOUs,则只有MSP文件夹中的
admincerts
下的证书才被视为管理员。它的类型或OU并不重要


我一直在学习教程,他们没有提到这方面的任何内容,因此,我最终感到非常困惑和困惑。顺便说一句,对于这种特定情况,管理员角色应该在
NodeOU
中设置,而不是在
OU
中设置,对吗?当您使用类型注册身份时,注册时该类型会在证书中自动设置为OU。如果在注册期间指定了“admin”类型,并且在
config.yaml
NodeOU配置文件中指定了“admin”作为管理员标识符(并且启用了NodeOUs),则该用户将是管理员。无论是否启用NodeOUs,admincerts文件夹下的证书始终是admin。因此,要分配类型admin,我必须在
NodeOut
部分预先指定该类型,否则它将不会被授予管理员权限?您可以始终分配您想要或发明的类型。但为了被视为管理员,必须在应用程序通道(从
configtx.yaml
(如果未更新)和对等MSP文件夹中创建事务)中启用NodeOUs。否则,您必须更新您的应用程序通道配置和您的对等方的MSP(第二个非常简单),如果我想在注册时分配管理员类型,我必须在
NodeOU
s中预先设置它,但是在注册所述用户后,该类型将在生成的证书的
OU
部分结束,对吗?