ポリシー
256 BlocksのRegoベースのポリシーエンジンを使用したカスタムルールでトランザクションを制御
256 Blocksポリシーエンジンは、実行前に定義されたルールに対してすべてのリクエストを評価します。ポリシーはRegoで記述されます。これは、どのようにブロックするかではなく、何をブロックすべきかを定義できる宣言的なポリシー言語です。
2つのルール
ポリシーは、2つの独立した決定を制御します:
| ルール | 制御内容 | デフォルト |
|---|---|---|
deny | リクエストが許可されるかブロックされるか | false(許可) |
denyGasSponsor | 256 Blocksがガス料金をスポンサーするかどうか | false(スポンサーする) |
# $10,000を超えるトランザクションをブロック
deny if {
input.usd_value > 10000
}
# $100を超えるトランザクションはスポンサーしない
denyGasSponsor if {
input.usd_value > 100
}両方のルールは独立して評価されます。リクエストは許可されてもスポンサーされない場合もあり、その逆もあります。
ポリシーレベル
ポリシーは3つのレベルで評価されます:
- プラットフォームポリシー - 256 Blocksによって管理され、ベースラインセキュリティを強制(例:ブロックされたRPCメソッド)
- 組織ポリシー - 組織内のすべてのエンドポイントに適用
- エンドポイントポリシー - 特定のエンドポイントにのみ適用
各レベルはベースラインとして機能します。上位レベルのポリシーがリクエストを拒否した場合、下位レベルのポリシーはそれを許可できません。
一般的なユースケース
- 支出制限 - USD金額でトランザクション値を制限
- 地理的制限 - 制裁国をブロック
- アドレスホワイトリスト - 特定のコントラクトのみを許可
- メソッドブロック - 危険なRPCメソッドを制限
- 時間ベースのルール - 営業時間のみ