Понимание Rego: почему декларативные политики важны для ончейн-авторизации
...
Распространённое заблуждение состоит в том, что правила авторизации всегда должны находиться внутри кода приложения или смарт-контрактов. Такой подход работает сначала, но затем его становится сложно поддерживать, когда меняются требования комплаенса, правила доступа или бизнес-логика.
Rego предлагает иной подход. Будучи языком политик Open Policy Agent (OPA), Rego позволяет разработчикам задавать правила авторизации отдельно от логики приложения. Вместо того чтобы жёстко кодировать каждое разрешение, движок политик оценивает структурированные входные данные и возвращает решение на основе объявленных правил.
Та же архитектурная идея встречается в модели авторизации Newton. Вместо того чтобы встраивать каждый комплаенс- или проверку авторизации прямо в контракт, политики оцениваются до выполнения транзакции. Newton описывает это как слой авторизации для ончейн-транзакций, где программируемые политики могут обеспечивать условия вроде личности, юрисдикции или лимитов на расходы до исполнения.
Для бэкенд-разработчиков этот паттерн знаком. Представьте Express-приложение, где middleware авторизации оценивает запрос до того, как контроллер начнёт выполнение. При этом бизнес-логика остаётся сфокусированной на поведении приложения, а логика политик сохраняется централизованной и её проще обновлять.
Такое разделение улучшает сопровождаемость, поддерживает аудит и снижает необходимость менять базовую логику исполнения каждый раз, когда меняются требования к авторизации. Оно также задаёт более чёткую границу между исполнением и оценкой политик.
@NewtonProtocol demonstrates how programmable authorization can be introduced as a dedicated infrastructure layer within the $NEWT ecosystem. #Newt
...
Техническая дискуссия: по мере того как блокчейн-приложения становятся сложнее, следует ли всё чаще рассматривать оценку политик как независимую инфраструктуру, а не как встроенную логику контрактов?
...
Распространённое заблуждение состоит в том, что правила авторизации всегда должны находиться внутри кода приложения или смарт-контрактов. Такой подход работает сначала, но затем его становится сложно поддерживать, когда меняются требования комплаенса, правила доступа или бизнес-логика.
Rego предлагает иной подход. Будучи языком политик Open Policy Agent (OPA), Rego позволяет разработчикам задавать правила авторизации отдельно от логики приложения. Вместо того чтобы жёстко кодировать каждое разрешение, движок политик оценивает структурированные входные данные и возвращает решение на основе объявленных правил.
Та же архитектурная идея встречается в модели авторизации Newton. Вместо того чтобы встраивать каждый комплаенс- или проверку авторизации прямо в контракт, политики оцениваются до выполнения транзакции. Newton описывает это как слой авторизации для ончейн-транзакций, где программируемые политики могут обеспечивать условия вроде личности, юрисдикции или лимитов на расходы до исполнения.
Для бэкенд-разработчиков этот паттерн знаком. Представьте Express-приложение, где middleware авторизации оценивает запрос до того, как контроллер начнёт выполнение. При этом бизнес-логика остаётся сфокусированной на поведении приложения, а логика политик сохраняется централизованной и её проще обновлять.
Такое разделение улучшает сопровождаемость, поддерживает аудит и снижает необходимость менять базовую логику исполнения каждый раз, когда меняются требования к авторизации. Оно также задаёт более чёткую границу между исполнением и оценкой политик.
@NewtonProtocol demonstrates how programmable authorization can be introduced as a dedicated infrastructure layer within the $NEWT ecosystem. #Newt
...
Техническая дискуссия: по мере того как блокчейн-приложения становятся сложнее, следует ли всё чаще рассматривать оценку политик как независимую инфраструктуру, а не как встроенную логику контрактов?