Введение в политики
Контроль транзакций с помощью пользовательских правил с использованием движка политик на основе Rego от 256 Blocks
Движок политик 256 Blocks использует язык Rego для определения гибких и мощных правил контроля транзакций. Политики позволяют вам обеспечивать соблюдение лимитов расходов, ограничивать доступ по географическому признаку, блокировать определенные операции и реализовывать пользовательскую бизнес-логику.
Что такое движок политик?
Движок политик оценивает каждый запрос транзакции на соответствие вашим определенным правилам перед выполнением. Оценка политик полностью без сохранения состояния для производительности, при этом предоставляя вам детальный контроль над тем, какие транзакции разрешены через ваши конечные точки.
Ключевые преимущества:
- Декларативные правила: Определяйте что должно быть заблокировано, а не как это блокировать
- Оценка в реальном времени: Политики оцениваются при каждом запросе с задержкой менее миллисекунды
- Гибкие условия: Комбинируйте несколько факторов, таких как стоимость транзакции, страна происхождения, время суток и многое другое
Как работают политики
Политики контролируют два независимых решения для каждого запроса:
| Правило | Контролирует | По умолчанию |
|---|---|---|
deny | Разрешены или заблокированы ли RPC/MCP-запросы | false (разрешить) |
denyGasSponsor | Спонсирует ли 256 Blocks плату за газ | false (спонсировать) |
Эти значения по умолчанию определены системой и не могут быть переопределены.
Доступ к запросу (deny)
Используйте правила deny для полной блокировки RPC или MCP-запросов. Если совпадает любое правило deny, запрос отклоняется.
# Блокировать транзакции на сумму более $10,000 USD
deny if {
input.usd_value > 10000
}Спонсирование газа (denyGasSponsor)
Используйте правила denyGasSponsor для контроля того, когда 256 Blocks оплачивает плату за газ. Если совпадает любое правило denyGasSponsor, пользователь должен оплатить свой собственный газ.
# Не спонсировать транзакции на сумму более $100
denyGasSponsor if {
input.usd_value > 100
}Оба правила оцениваются независимо - запрос может быть разрешен, но не спонсирован, или наоборот.
Уровни политик
Политики оцениваются на трех уровнях, от самого широкого до наиболее конкретного:
Политики уровня платформы
Политики платформы управляются 256 Blocks и применяются ко всем запросам на платформе. Они обеспечивают соблюдение базовых требований безопасности и соответствия, которые не могут быть переопределены. См. Ограничения для получения подробной информации о контролях уровня платформы.
Политики уровня организации
Политики организации применяются ко всем конечным точкам в вашей организации, независимо от того, являются ли они MCP или RPC конечными точками. Используйте политики уровня организации для:
- Глобальных правил соответствия (например, заблокированные страны)
- Лимитов расходов на уровне организации
- Универсальных контролей безопасности
Политики уровня конечной точки
Политики конечной точки применяются только к конкретной конечной точке. Поскольку каждая конечная точка является либо MCP, либо RPC (не обоими), политика автоматически применяется к этому типу конечной точки. Используйте политики уровня конечной точки для:
- Лимитов, специфичных для приложения
- Пользовательской бизнес-логики для конкретной интеграции
- Дополнительных ограничений, превышающих организационные значения по умолчанию
Порядок оценки
Когда поступает запрос:
- Политики платформы оцениваются первыми (управляются 256 Blocks)
- Если отклонены на уровне платформы, запрос отклоняется
- Политики организации оцениваются вторыми
- Если отклонены на уровне организации, запрос отклоняется
- Политики конечной точки оцениваются последними
- Если отклонены на уровне конечной точки, запрос отклоняется
- Если ни одно правило deny не совпадает, запрос продолжается
Каждый уровень действует как базовый, который более низкие уровни не могут переопределить. Если политика более высокого уровня отклоняет запрос, никакая политика более низкого уровня не может его разрешить.
Следующие шаги
- Поля ввода - Узнайте обо всех доступных данных для принятия решений по политикам
- Справочник по языку - Освойте синтаксис и операторы Rego
- Встроенные функции - Изучите доступные функции
- Ограничения - Понимание ограничений безопасности и лучших практик