Разница в фабрике Hyperledger между управлением доступом на основе атрибутов и политикой - PullRequest
1 голос
/ 03 ноября 2019

Я читаю документ HLF, в документе есть политика для канала и цепного кода. HLF также имеет список контроля доступа и контроль доступа на основе атрибутов. В чем состоит основное различие и когда и где будет использоваться контроль доступа на основе атрибутов и как его реализовать.

1 Ответ

1 голос
/ 04 ноября 2019

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

...