Вызов цепного кода от имени администратора не в конфигурации канала

Я выполняю вызов чейнкода по следующему сценарию:

  1. У меня есть сеть Hyperledger Fabric, работающая от начала до конца до запроса цепного кода.
  2. У меня есть учетная запись администратора, которая была добавлена ​​в конфигурацию канала во время создания канала.
  3. Операция вызова чейнкода настроена на политику администратора, которая гласит: «ИЛИ ('Org1MSP.admin')»
  4. Я создаю другое удостоверение администратора (с OU = admin и hf.Type = admin) в Org1MSP.

Итак, могу ли я использовать этот новый идентификатор администратора для вызова того же цепного кода без каких-либо изменений в моем канале?


person Chintan Rajvir    schedule 02.04.2020    source источник


Ответы (1)


Если конфигурация MSP вашей организации использует NodeOU, она должна работать, поскольку ваш сертификат содержит OU=admin.

Если у вас отключены NodeOU, второй клиент не является администратором (только сертификаты пользователей в папке admincerts MSP). Затем вам следует обновить свой канал с помощью configtxlator и т. Д.

https://hyperledger-fabric.readthedocs.io/en/release-1.4/msp.html#identity-classification

person kekomal    schedule 02.04.2020
comment
Что, если мы не используем Fabric CA, а я совершаю транзакции с использованием нового удостоверения администратора из сценария Node SDK? Как сеть проверяет подразделения в этом сценарии? - person Chintan Rajvir; 03.04.2020
comment
Это совершенно не зависит от Fabric-CA. Независимо от того, используете ли вы cryptogen, Fabric-CA, openssl, сторонний CA или что-то еще, вы наконец получите структуру папок MSP, которую вы используете в конфигурации вашего канала (configtx.yaml); и это то, что определяет ваш MSP. Если узлы NodeOU включены и ваш клиентский сертификат подписан вашим CA (или корневым / промежуточным криптографическим материалом вашего CA) и имеет OU=admin, это будет администратор. Без NodeOU при создании транзакции создания канала учитываются только сертификаты в папке admincerts. - person kekomal; 03.04.2020
comment
Я использую сторонний центр сертификации. Когда я декодирую свой блок конфигурации в JSON, в разделе организации MSP отображаются следующие записи "fabric_node_ous": null и "organizational_unit_identifiers": [], и все же я могу вызвать цепной код, используя сертификат, который не находится в папке admincerts, но имеет OU = admin. Почему это происходит? - person Chintan Rajvir; 03.04.2020
comment
Покажите мне, как вы определили свою политику (или как она отображается в блоке конфигурации JSON). - person kekomal; 03.04.2020
comment
Хорошо, я понял проблему. Политика однорангового узла / предложения по умолчанию установлена ​​на Writers, и эта политика для моей организации настроена на подписание OrgMSP.member, что означает, что любое удостоверение от OrgMSP может, в частности, выполнять операцию вызова. Если я изменю эту политику на OrgMSP.admin, то для данного нового идентификатора произойдет сбой, если NodeOU не настроены, как вы объяснили. Спасибо, что очистили. Нашел свою ошибку. - person Chintan Rajvir; 03.04.2020