誰が何にアクセスできるかを確認する代わりに、1 秒間に許可される接続数、または許可される帯域幅を返すポリシーを設定したいと考えています。true/false ではなく値を返すようにポリシーを定義するにはどうすればよいですか?
1 に答える
2
完全なルールは、VALUE を VARIABLE に割り当てる if-then ステートメントです。VALUE を省略すると、暗黙的に次のようになりtrue
ます。
allow { input.method == "GET" }
以下と同等です。
allow = true { input.method == "GET" }
allow
またはについて特別なことは何もありませんtrue
。同様に、1 秒あたりの接続数の制限を設定するルールを定義できます。
connections_per_second = 7 { input.tier == "gold" }
複数の定義がある場合は、成功できるのは1 つだけであることに注意してください(そうしないと、OPA で競合エラーが発生します)。ポリシー内の競合を解決する必要があります。default
これを処理するには、 、else
、否定など、さまざまな方法があります。
于 2021-11-02T16:26:44.663 に答える