hyperledger fabric - это блокчейн, основанный на разрешениях. Таким образом, для достижения структуры разрешений обеспечьте поддержку разрешений на уровне конфигурации сети (политики), а также на уровне цепочки кодов (ABAC или частные данные). Прежде всего я объясню уровень конфигурации сети:
Form Docs:policy is a set of rules that define the structure for how decisions are made and
specific outcomes are reached. To that end, policies typically describe a who and
a what, such as the access or rights that an individual has over an asset. We can
see that policies are used throughout our daily lives to protect assets of value
to us, from car rentals, health, our homes, and many more.
Политики определены в файле confgtx.yaml следующим образом:
Policies:
Readers:
Type: Signature
Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client')"
Writers:
Type: Signature
Rule: "OR('Org1MSP.admin', 'Org1MSP.client')"
Admins:
Type: Signature
Rule: "OR('Org1MSP.admin')"
Организация, канал, заказчик и компонент приложения имеют свои собственныеполисы.
Более подробное объяснение: https://hyperledger -fabric.readthedocs.io / en / master / полис / политика.html
, вы также можете проверить сначала-сеть из образцов фабрики, где они использовали политики в файле configtx.yaml, чтобы вы могли легко понять это.
Управление доступом на основе атрибутов (ABAC): ABAC используется там, где разработчик хочет реализовать ограничение доступа на уровне цепочки кода. например, если некоторые ресурсы разрешены только для этих пользователей, у них есть атрибут агента. тогда вы можете использовать ABAC. ABAC очень связан с fabric-ca, потому что атрибуты определены в сертификатах ca. атрибут извлечения времени выполнения фабрики huperledger из предложения пользовательского запроса и предоставление его цепочечному коду, а затем проверяет его цепным кодом. чтобы использовать его, вы должны импортировать библиотеку CID (Client Identity) в ваш файл с цепочечным кодом. (Примечание: не забудьте скачать CID lib, если не найден, сохраните каталог поставщика в директории с цепочечным кодом)
Ссылка на CID Docs: https://godoc.org/github.com/hyperledger/fabric/core/chaincode/lib/cid
Ссылка на страницу github: https://github.com/hyperledger/fabric/blob/release-1.1/core/chaincode/lib/cid/README.md