Hyperledger Fabric channel queryInfo выдает ошибку «отказано в доступе»

#hyperledger-fabric #hyperledger

#hyperledger-fabric #hyperledger

Вопрос:

Я пытаюсь запросить информацию о канале с помощью node sdk (https://fabric-sdk-node.github.io/release-1.4/Channel.html — канал.queryInfo()).

У меня настроены две сети (настройка сети выполнена не мной. Итак, я не знаю, в чем различия). В одной сети я могу успешно выполнить запрос. В другом случае я получаю эту ошибку:

Ошибка: доступ запрещен для [GetChainInfo][ ]: [не удалось оценить политику для подписанных данных во время проверки политики [ / Channel / Application / Readers]: [Не удалось достичь неявного порога в 1 вложенную политику, требуется 1 оставшаяся]]

Но, когда я вызываю с useAdmin = true, т. Е. channel.queryInfo (не определено, true) работает. Мне интересно, что могло вызвать такую ошибку в одной сети, а не в другой. Есть ли какие-либо параметры, которые передаются при создании канала, чтобы разрешить / запретить неадминистраторам выполнять запросы?

Ответ №1:

ACL канала имеет поле по умолчанию

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

И считыватель каждой организации определен в configtx.yaml следующим образом

           Policies: amp;org1Policies
            Readers:
                Type: Signature
                Rule: "OR('org1.example.com.member')"
  

Похоже, что здесь может быть ваша проблема. Убедитесь, что Readers .member не .admin принадлежит к OrgMSP.