首页 文章

Hyperledger作曲家管理员证书无法部署网络

提问于
浏览
0

我遇到了业务网络部署的问题(作曲家版本0.14.2):

  • 我向fabric-ca请求一个身份(注册为管理员密码adminpw,与fabric-ca-server的bootstrapping身份相同)

  • 我收到证书和私钥后,我将该身份导入userID adminCC(匹配以前的证书和此userID的密钥),我尝试使用enrollmentID adminCC和businessnetworkadmin adminCC部署网络

  • 我收到一个错误说 Error: Error trying deploy. Error: Error trying install composer runtime. Error: chaincode error (status: 500, message: Authorization for INSTALL has been denied (error-Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]))

有什么帮助解决这个问题?不应该向结构请求证书 - ca是否具有管理员权限?

2 回答

  • 0

    您收到的错误来自同行,说您使用的身份没有管理员权限,因此不允许将链码安装到其上 . fabric-ca-server设置中的管理员标识只是fabric-ca-server的bootstrap标识,因此在fabric-ca-server上只有发行者权限,从中获取它并且没有任何部分的管理员权限面料网络 .

  • 1

    如果您之前在 v0.13.2 或更低版本上运行,则在升级到 v0.14.0v0.14.2 时会发生重大更改 . 你可以阅读更多here . 但它的主旨是所有以前版本的Composer,所有名称为admin(不区分大小写)的数字证书都有"privileged access"到业务网络 - 基本上它就像访问控制规则被禁用一样 . 他们用更安全的模型取而代之 . 所以你可以改变你的 permissions.pcl 文件并添加:

    rule NetworkAdminUser {
        description: "Grant business network administrators full access to user resources"
        participant: "org.hyperledger.composer.system.NetworkAdmin"
        operation: ALL
        resource: "**"
        action: ALLOW
    }
    
    rule NetworkAdminSystem {
        description: "Grant business network administrators full access to 
    system resources"
        participant: "org.hyperledger.composer.system.NetworkAdmin"
        operation: ALL
        resource: "org.hyperledger.composer.system.**"
        action: ALLOW
    }
    

    然后归档BNA后,为了正确部署使用:

    composer network deploy -p hlfv1 -a {ban_location/ban_name.bna} -i PeerAdmin -s randomString -A admin -S adminpw
    

    在此之后,您可以像以前一样使用 adminadminpw 的旧命令:

    composer-rest-server -p hlfv1 -n my-network -i admin -s adminpw -N never
    

相关问题