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

Should an organization admin always be assigned the type admin?

在阅读 Fabric CA Operations Guide 时,我注意到组织 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

更糟糕的是,我发现了另一个条目,其中 Org 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 中设置 NodeOU,则必须指定 "admin"(或您在 config.yaml 中指定的其他标识符)。这样,OU 在已注册的证书中适当设置,使其被视为管理员。

如果您没有在 MSP 中设置 NodeOU,则只有 MSP 文件夹中 admincerts 下的证书被视为管理员。它的类型或 OU 无关紧要。

https://hyperledger-fabric.readthedocs.io/en/release-1.4/msp.html#organizational-units